/usr/share/lifelines/st/st_convert.li is in lifelines-reports 3.0.61-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | /*
* @progname st_convert.li
* @version 1.01 (2002-12-14)
* @author Perry Rapp
* @category self-test
* @output none
* @description
*
* validate codeset conversion
*
*/
char_encoding("ASCII")
require("lifelines-reports.version:1.3")
option("explicitvars") /* Disallow use of undefined variables */
include("st_aux")
/* entry point in case not invoked via st_all.ll */
proc main()
{
call testConvert()
}
proc testConvert()
{
call initSubsection()
call convert_tests()
call reportSubsection("convert tests")
}
proc convert_tests()
{
/* we have to use bytecodes, b/c any non-ascii will be
first converted by the report parser to internal codeset,
which depends on the current database :( */
/* trivial test */
call checkconv("silver fox", "UTF-8", "silver fox", "ISO-8859-1")
call checkconv("silver fox", "UTF-8", "silver fox", "ISO-8859-2")
/* LATIN SMALL LETTER N WITH TILDE u000F1 */
call checkconv("$C3$B1", "UTF-8", "$F1", "ISO-8859-1")
/* LATIN SMALL LETTER A WITH ACUTE u000E1 */
call checkconv("$C3$A1", "UTF-8", "$E1", "ISO-8859-1")
call checkconv("$C3$A1", "UTF-8", "$E1", "ISO-8859-2")
call checkconv("$C3$A1", "UTF-8", "$E1", "ISO-8859-3")
call checkconv("$C3$A1", "UTF-8", "$E1", "ISO-8859-4")
call checkconv("$C3$A1", "UTF-8", "$E1", "ISO-8859-15")
/* LATIN CAPITAL LETTER L WITH STROKE u00141 */
call checkconv("$C5$81", "UTF-8", "$A3", "ISO-8859-2")
call checkconv("$C5$81", "UTF-8", "$A1", "ANSEL")
/* LATIN SMALL LETTER S WITH CEDILLA u0015F */
call checkconv("$C5$9F", "UTF-8", "$BA", "ISO-8859-2")
call checkconv("$C5$9F", "UTF-8", "$BA", "ISO-8859-3")
/* LATIN SMALL LETTER G WITH CEDILLA u00123 */
call checkconv("$C4$A3", "UTF-8", "$BB", "ISO-8859-4")
/* LATIN SMALL LETTER AE u000E6 */
call checkconv("$C3$A6", "UTF-8", "$E6", "ISO-8859-1")
call checkconv("$C3$A6", "UTF-8", "$B5", "ANSEL")
/* LATIN CAPITAL LETTER N WITH CARON */
call checkconv("$C5$87", "UTF-8", "$D2", "ISO-8859-2")
/* LATIN CAPITAL LETTER THORN u000DE */
call checkconv("$C3$9E", "UTF-8", "$DE", "ISO-8859-1")
call checkconv("$C3$9E", "UTF-8", "$A4", "ANSEL")
}
/* test a conversion and its reverse */
proc checkconv(bc1, cs1, bc2, cs2)
{
call checkconv_1way(bc1, cs1, bc2, cs2)
call checkconv_1way(bc2, cs2, bc1, cs1)
}
/* test a single conversion */
proc checkconv_1way(bc1, cs1, bc2, cs2)
{
set(str1, bytecode(bc1, "raw"))
set(str2, bytecode(bc2, "raw"))
if (ne(convertcode(str1, cs1, cs2), str2)) {
set(fstr, concat("convertcode(bytecode(", bc1
, ",raw),", cs1, ",", cs2
, ") <> bytecode(", bc2, ",raw) FAILURE"))
call reportfail(fstr)
} else { incr(testok) }
}
|