aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs199/github_145/add_modules/UseJDKExtendedCharsets.java
blob: 62a351868197b07a7c8a21cad03a406790cde83d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.nio.charset.Charset;
import sun.nio.cs.ext.ExtendedCharsets;

/**
 * Note that the Windows JDK knows many more extended charsets than the Linux one. Originally, this test was using
 * "hebrew", but that yielded failing GitHub CI tests due to the unavailability of the character set there. I actually
 * had to inspect a Linux 'lib/modules' file using 'jimage' in order to filter for available 'ISO*' classes in the
 * extended character set package. So if this test ever breaks again on any OS platform, you know where to look for the
 * root cause and have a clue how to fix the test.
 */
public class UseJDKExtendedCharsets {
  static ExtendedCharsets charsets = new ExtendedCharsets();
  static Charset iso2022jp = charsets.charsetForName("ISO-2022-JP");
  static Charset jis = charsets.charsetForName("jis");
  static Charset jis_encoding = charsets.charsetForName("jis_encoding");

  public static void main(String[] args) {
    // The 3 charsets are aliases of each other
    assert iso2022jp != null;
    System.out.println(iso2022jp);
    assert iso2022jp.equals(jis);
    assert iso2022jp.equals(jis_encoding);
  }
}