32 * @build ToolBox |
32 * @build ToolBox |
33 * @run main CheckEBCDICLocaleTest |
33 * @run main CheckEBCDICLocaleTest |
34 */ |
34 */ |
35 |
35 |
36 import java.io.File; |
36 import java.io.File; |
|
37 import java.nio.charset.Charset; |
37 import java.nio.file.Files; |
38 import java.nio.file.Files; |
38 import java.nio.file.Path; |
39 import java.nio.file.Path; |
39 import java.nio.file.Paths; |
40 import java.nio.file.Paths; |
40 import java.util.Arrays; |
41 import java.util.Arrays; |
41 import java.util.List; |
42 import java.util.List; |
62 new CheckEBCDICLocaleTest().test(); |
63 new CheckEBCDICLocaleTest().test(); |
63 } |
64 } |
64 |
65 |
65 public void test() throws Exception { |
66 public void test() throws Exception { |
66 ToolBox tb = new ToolBox(); |
67 ToolBox tb = new ToolBox(); |
67 Path native2asciiBinary = tb.getJDKTool("native2ascii"); |
|
68 |
|
69 tb.writeFile("Test.java", TestSrc); |
68 tb.writeFile("Test.java", TestSrc); |
70 tb.createDirectories("output"); |
69 tb.createDirectories("output"); |
71 |
70 |
72 tb.new ExecTask(native2asciiBinary) |
71 Native2Ascii n2a = new Native2Ascii(Charset.forName("IBM1047")); |
73 .args("-reverse", "-encoding", "IBM1047", "Test.java", "output/Test.java") |
72 n2a.asciiToNative(Paths.get("Test.java"), Paths.get("output", "Test.java")); |
74 .run(); |
|
75 |
73 |
76 tb.new JavacTask(ToolBox.Mode.EXEC) |
74 tb.new JavacTask(ToolBox.Mode.EXEC) |
77 .redirect(ToolBox.OutputKind.STDERR, "Test.tmp") |
75 .redirect(ToolBox.OutputKind.STDERR, "Test.tmp") |
78 .options("-J-Duser.language=en", |
76 .options("-J-Duser.language=en", |
79 "-J-Duser.region=US", |
77 "-J-Duser.region=US", |
80 "-J-Dfile.encoding=IBM1047") |
78 "-J-Dfile.encoding=IBM1047") |
81 .files("output/Test.java") |
79 .files("output/Test.java") |
82 .run(ToolBox.Expect.FAIL); |
80 .run(ToolBox.Expect.FAIL); |
83 |
81 |
84 tb.new ExecTask(native2asciiBinary) |
82 n2a.nativeToAscii(Paths.get("Test.tmp"), Paths.get("Test.out")); |
85 .args("-encoding", "IBM1047", "Test.tmp", "Test.out") |
|
86 .run(); |
|
87 |
83 |
88 List<String> expectLines = Arrays.asList( |
84 List<String> expectLines = Arrays.asList( |
89 String.format(TestOutTemplate, File.separator).split("\n")); |
85 String.format(TestOutTemplate, File.separator).split("\n")); |
90 List<String> actualLines = Files.readAllLines(Paths.get("Test.out")); |
86 List<String> actualLines = Files.readAllLines(Paths.get("Test.out")); |
91 tb.checkEqual(expectLines, actualLines); |
87 tb.checkEqual(expectLines, actualLines); |
92 } |
88 } |
93 |
|
94 } |
89 } |