On Mon, 10 Oct 2022 18:18:55 GMT, Bill Huang <bhu...@openjdk.org> wrote:

> The jarsigner and keytool are localized into English, German, Japanese and 
> Simplified Chinese. This task is to modify the existing i18n tests to 
> validate i18n compliance in these tools. 
> 
> In addition, this task also contains changes for manual test enhancement and 
> simplification which originated from 
> [JDK-8292663](https://bugs.openjdk.org/browse/JDK-8292663.

Looks good overall. Some minor suggestions.

test/jdk/sun/security/tools/keytool/i18n.java line 62:

> 60:  * @library /test/lib
> 61:  * @run main/manual/othervm i18n zh CN
> 62:  */

Do you need to triplicate these `@test` tags? Would 3-lines of `@run` suffice?
Also setting the locale by `-Duser.language/country` and `getProperty` them in 
the main would be preferable to passing them as the test case arguments.

test/jdk/sun/security/tools/keytool/i18n.java line 250:

> 248:     private Thread currentThread = null;
> 249: 
> 250:     public static class DialogBuilder {

This seems to be a boilerplate for displaying the panel. Could this be 
separated from the test and converted into some library?

test/jdk/sun/security/tools/keytool/i18n.java line 334:

> 332:         } else if (args.length == 2) {
> 333:             Locale.setDefault(Locale.of(args[0], args[1]));
> 334:         }

Can be eliminated with the suggestion above.

test/jdk/sun/security/tools/keytool/i18n.java line 335:

> 333:             Locale.setDefault(Locale.of(args[0], args[1]));
> 334:         }
> 335:         final String LANG = Locale.getDefault().getDisplayLanguage();

Instead of `getDisplayLanguage()`, it should issue `getDisplayName()`, as for 
`zh-CN` case, it simply displays `Chinese` in the current impl. It's ambiguous 
whether it is simplified or traditional.
Also, `LANG` should be lowercase, as it is not a constant.

-------------

PR: https://git.openjdk.org/jdk/pull/10635

Reply via email to