1 /*
2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
30 * @build DefaultLocaleTest jdk.testlibrary.*
31 * @run testng/othervm SystemPropertyTests
32 */
33
34 import static jdk.testlibrary.ProcessTools.executeTestJava;
35 import static org.testng.Assert.assertTrue;
36
37 import java.util.Locale;
38
39 import org.testng.annotations.DataProvider;
40 import org.testng.annotations.Test;
41
42 /**
43 * Test Locale.getDefault() reflects the system property. Note that the
44 * result may change depending on the CLDR releases.
45 */
46 @Test
47 public class SystemPropertyTests {
48
49 private static String LANGPROP = "-Duser.language=en";
50 private static String CTRYPROP = "-Duser.country=US";
51
52 @DataProvider(name="data")
53 Object[][] data() {
54 return new Object[][] {
55 // system property, expected default, expected format, expected display
56 {"-Duser.extensions=u-ca-japanese",
57 "en_US_#u-ca-japanese",
58 "en_US_#u-ca-japanese",
59 "en_US_#u-ca-japanese",
60 },
61
62 {"-Duser.extensions=u-ca-japanese-nu-thai",
63 "en_US_#u-ca-japanese-nu-thai",
64 "en_US_#u-ca-japanese-nu-thai",
65 "en_US_#u-ca-japanese-nu-thai",
66 },
67
68 {"-Duser.extensions=foo",
69 "en_US",
71 "en_US",
72 },
73
74 {"-Duser.extensions.format=u-ca-japanese",
75 "en_US",
76 "en_US_#u-ca-japanese",
77 "en_US",
78 },
79
80 {"-Duser.extensions.display=u-ca-japanese",
81 "en_US",
82 "en_US",
83 "en_US_#u-ca-japanese",
84 },
85 };
86 }
87
88 @Test(dataProvider="data")
89 public void runTest(String extprop, String defLoc,
90 String defFmtLoc, String defDspLoc) throws Exception {
91 int exitValue = executeTestJava(LANGPROP, CTRYPROP,
92 extprop, "DefaultLocaleTest", defLoc, defFmtLoc, defDspLoc)
93 .outputTo(System.out)
94 .errorTo(System.out)
95 .getExitValue();
96
97 assertTrue(exitValue == 0);
98 }
99 }
|
1 /*
2 * Copyright (c) 2017, 2018, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation.
8 *
9 * This code is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 */
30 * @build DefaultLocaleTest jdk.testlibrary.*
31 * @run testng/othervm SystemPropertyTests
32 */
33
34 import static jdk.testlibrary.ProcessTools.executeTestJava;
35 import static org.testng.Assert.assertTrue;
36
37 import java.util.Locale;
38
39 import org.testng.annotations.DataProvider;
40 import org.testng.annotations.Test;
41
42 /**
43 * Test Locale.getDefault() reflects the system property. Note that the
44 * result may change depending on the CLDR releases.
45 */
46 @Test
47 public class SystemPropertyTests {
48
49 private static String LANGPROP = "-Duser.language=en";
50 private static String SCPTPROP = "-Duser.script=";
51 private static String CTRYPROP = "-Duser.country=US";
52
53 @DataProvider(name="data")
54 Object[][] data() {
55 return new Object[][] {
56 // system property, expected default, expected format, expected display
57 {"-Duser.extensions=u-ca-japanese",
58 "en_US_#u-ca-japanese",
59 "en_US_#u-ca-japanese",
60 "en_US_#u-ca-japanese",
61 },
62
63 {"-Duser.extensions=u-ca-japanese-nu-thai",
64 "en_US_#u-ca-japanese-nu-thai",
65 "en_US_#u-ca-japanese-nu-thai",
66 "en_US_#u-ca-japanese-nu-thai",
67 },
68
69 {"-Duser.extensions=foo",
70 "en_US",
72 "en_US",
73 },
74
75 {"-Duser.extensions.format=u-ca-japanese",
76 "en_US",
77 "en_US_#u-ca-japanese",
78 "en_US",
79 },
80
81 {"-Duser.extensions.display=u-ca-japanese",
82 "en_US",
83 "en_US",
84 "en_US_#u-ca-japanese",
85 },
86 };
87 }
88
89 @Test(dataProvider="data")
90 public void runTest(String extprop, String defLoc,
91 String defFmtLoc, String defDspLoc) throws Exception {
92 int exitValue = executeTestJava(LANGPROP, SCPTPROP, CTRYPROP,
93 extprop, "DefaultLocaleTest", defLoc, defFmtLoc, defDspLoc)
94 .outputTo(System.out)
95 .errorTo(System.out)
96 .getExitValue();
97
98 assertTrue(exitValue == 0);
99 }
100 }
|