Fix #4414: Add url for bug reporting page in bug_report
[maxima.git] / share / stringproc / rtest_encoding.mac
blobf5f56b6f28ea689ebd639d3852b0884f4bf85b16
1 block ([use_fast_arrays : true],
2        kill (foo_table),
3        foo_table["CMU Common Lisp"]: ["DEFAULT", "UTF-8", "UTF-16-LE", "UTF-16-BE", "UTF-32-LE", "UTF-32-BE"],
4        foo_table["CLISP"]: ["DEFAULT", "UTF-8", "UNICODE-16-LITTLE-ENDIAN", "UNICODE-16-BIG-ENDIAN",
5                             "UNICODE-32-LITTLE-ENDIAN", "UNICODE-32-BIG-ENDIAN"],
6        foo_table["ECL"]  : ["DEFAULT", "UTF-8", "UCS-2LE", "UCS-2BE", "UCS-4LE", "UCS-4BE"],
7        others : ["DEFAULT", "UTF-8", "UTF-16LE", "UTF-16BE", "UTF-32LE", "UTF-32BE"],
8        some_files : map (file_search, ["rectangular.csv", "rectangular.csv-utf-8", "rectangular.csv-utf-16le",
9                                        "rectangular.csv-utf-16be", "rectangular.csv-utf-32le", "rectangular.csv-utf-32be"]),
10        0);
13 inferred_encodings : map (inferred_encoding, some_files);
14 ''(foo_table[build_info()@lisp_name], if %% = false then others else %%);
16 map (lambda ([e], errcatch (recognized_encoding_p (e))), inferred_encodings);
17 ''(if build_info()@lisp_name = "GCL" then [[false], [false], [false], [false], [false], [false]]
18                                      else [[true], [true], [true], [true], [true], [true]]);
20 block ([some_streams, some_lists],
21        some_streams : map (openr, some_files),
22        some_lists : map (lambda ([s], errcatch (read_nested_list (s, 'comma))), some_streams),
23        map (close, some_streams),
24        unique (some_lists));
25 [[[[KEY,XX,YY,ZZ,FOO,Bar,baz],
26    [aa46,7,7,16,FOO3,2.71,2.88],
27    [aA31,31,61,25,916,6.1,741],
28    [AA22,61,40,13,32.75,Bar2,9.12],
29    [AA16,19,25,31,FOO7,4.8,697],
30    [AA16,13,49,7,5.67,2.54,4.54],
31    [AA58,19,28,43,4.04,0.9,baz8],
32    [AA34,16,22,19,4.87,4.9,2.85],
33    [AA52,28,34,7,FOO9,Bar4,293],
34    [AA52,10,43,13,12.125,5.69,0.0],
35    [AA40,7,25,40,3.15,7.54,6.11]]]];
37 (tempfile(number, suffix) := sconcat (maxima_tempdir, "/tmp", number, "-", suffix),
38  temp_encodings : 
39    if build_info()@lisp_name = "CMU Common Lisp" then 
40      ["DEFAULT", "UTF-8", "UTF-16-LE", "UTF-16-BE", "UTF-32-LE", "UTF-32-BE"]
41    else ["DEFAULT", "UTF-8", "UTF-16LE", "UTF-16BE", "UTF-32LE", "UTF-32BE"],
42  n : 1000 + random(9000),
43  temp_files : map (lambda ([s], tempfile(n, s)), temp_encodings),
44  temp_streams : map (lambda ([f, e], openw (f, e)), temp_files, temp_encodings),
45  BOM : unicode ("ZERO_WIDTH_NO-BREAK_SPACE"),
46  map (lambda ([e, s], if e # "DEFAULT" then printf (s, "~a", BOM)), temp_encodings, temp_streams),
47  map (close, temp_streams));
48 [true, true, true, true, true, true];
50 map (inferred_encoding, temp_files);
51 ''(foo_table[build_info()@lisp_name], if %% = false then others else %%);
53 (temp_streams : map (opena, temp_files),
54  map (lambda ([s], printf (s, "17 29 1729~%1 1 2 3 5~%")), temp_streams),
55  map (lambda ([s], close (s)), temp_streams),
56  unique (map (lambda ([f], block ([s:openr(f), stuff], stuff:read_nested_list(s), close(s), stuff)), temp_files)));
57 [[[17, 29, 1729], [1, 1, 2, 3, 5]]];
59 map (inferred_encoding, temp_files);
60 ''(foo_table[build_info()@lisp_name], if %% = false then others else %%);