langtools/test/tools/javac/4846262/CheckEBCDICLocaleTest.java
changeset 30844 a33cd63c54ef
parent 30730 d3ce7619db2c
child 30847 9385b9c8506b
equal deleted inserted replaced
30843:6e378856c5a2 30844:a33cd63c54ef
    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 }