jdk/test/java/nio/charset/Charset/Contains.java
author xiaofeya
Wed, 08 Mar 2017 17:17:41 -0800
changeset 44115 bb4e971bf5d4
parent 5506 202f599c92aa
permissions -rw-r--r--
8176195: Fix misc module dependencies in jdk_core tests Reviewed-by: mchung
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
4817
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
     1
/*
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 4817
diff changeset
     2
 * Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
4817
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
     4
 *
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
     7
 * published by the Free Software Foundation.
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
     8
 *
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
     9
 * This code is distributed in the hope that it will be useful, but WITHOUT
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    10
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    11
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    12
 * version 2 for more details (a copy is included in the LICENSE file that
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    13
 * accompanied this code).
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    14
 *
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    15
 * You should have received a copy of the GNU General Public License version
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    16
 * 2 along with this work; if not, write to the Free Software Foundation,
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    17
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    18
 *
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 4817
diff changeset
    19
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 4817
diff changeset
    20
 * or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 4817
diff changeset
    21
 * questions.
4817
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    22
 */
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    23
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    24
/* @test
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    25
 * @summary Unit test for charset containment
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    26
 * @bug 6798572
44115
bb4e971bf5d4 8176195: Fix misc module dependencies in jdk_core tests
xiaofeya
parents: 5506
diff changeset
    27
 * @modules jdk.charsets
4817
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    28
 */
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    29
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    30
import java.nio.charset.*;
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    31
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    32
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    33
public class Contains {
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    34
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    35
    static void ck(Charset cs1, Charset cs2, boolean cont) throws Exception {
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    36
        if ((cs1.contains(cs2)) != cont)
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    37
            throw new Exception("Wrong answer: "
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    38
                                + cs1.name() + " contains " + cs2.name());
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    39
        System.err.println(cs1.name()
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    40
                           + (cont ? " contains " : " does not contain ")
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    41
                           + cs2.name());
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    42
    }
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    43
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    44
    public static void main(String[] args) throws Exception {
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    45
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    46
        Charset us_ascii = Charset.forName("US-ASCII");
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    47
        Charset iso_8859_1 = Charset.forName("ISO-8859-1");
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    48
        Charset iso_8859_15 = Charset.forName("ISO-8859-15");
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    49
        Charset utf_8 = Charset.forName("UTF-8");
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    50
        Charset utf_16be = Charset.forName("UTF-16BE");
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    51
        Charset cp1252 = Charset.forName("CP1252");
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    52
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    53
        ck(us_ascii, us_ascii, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    54
        ck(us_ascii, iso_8859_1, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    55
        ck(us_ascii, iso_8859_15, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    56
        ck(us_ascii, utf_8, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    57
        ck(us_ascii, utf_16be, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    58
        ck(us_ascii, cp1252, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    59
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    60
        ck(iso_8859_1, us_ascii, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    61
        ck(iso_8859_1, iso_8859_1, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    62
        ck(iso_8859_1, iso_8859_15, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    63
        ck(iso_8859_1, utf_8, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    64
        ck(iso_8859_1, utf_16be, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    65
        ck(iso_8859_1, cp1252, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    66
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    67
        ck(iso_8859_15, us_ascii, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    68
        ck(iso_8859_15, iso_8859_1, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    69
        ck(iso_8859_15, iso_8859_15, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    70
        ck(iso_8859_15, utf_8, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    71
        ck(iso_8859_15, utf_16be, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    72
        ck(iso_8859_15, cp1252, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    73
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    74
        ck(utf_8, us_ascii, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    75
        ck(utf_8, iso_8859_1, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    76
        ck(utf_8, iso_8859_15, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    77
        ck(utf_8, utf_8, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    78
        ck(utf_8, utf_16be, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    79
        ck(utf_8, cp1252, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    80
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    81
        ck(utf_16be, us_ascii, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    82
        ck(utf_16be, iso_8859_1, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    83
        ck(utf_16be, iso_8859_15, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    84
        ck(utf_16be, utf_8, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    85
        ck(utf_16be, utf_16be, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    86
        ck(utf_16be, cp1252, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    87
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    88
        ck(cp1252, us_ascii, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    89
        ck(cp1252, iso_8859_1, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    90
        ck(cp1252, iso_8859_15, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    91
        ck(cp1252, utf_8, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    92
        ck(cp1252, utf_16be, false);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    93
        ck(cp1252, cp1252, true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    94
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    95
        checkUTF();
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    96
    }
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    97
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    98
    static void checkUTF() throws Exception {
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
    99
        for (String utfName : utfNames)
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   100
            for (String csName : charsetNames)
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   101
                ck(Charset.forName(utfName),
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   102
                   Charset.forName(csName),
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   103
                   true);
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   104
    }
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   105
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   106
    static String[] utfNames = {"utf-16",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   107
                         "utf-8",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   108
                         "utf-16le",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   109
                         "utf-16be",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   110
                         "x-utf-16le-bom"};
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   111
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   112
    static String[] charsetNames = {
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   113
        "US-ASCII",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   114
        "UTF-8",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   115
        "UTF-16",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   116
        "UTF-16BE",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   117
        "UTF-16LE",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   118
        "x-UTF-16LE-BOM",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   119
        "GBK",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   120
        "GB18030",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   121
        "ISO-8859-1",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   122
        "ISO-8859-15",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   123
        "ISO-8859-2",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   124
        "ISO-8859-3",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   125
        "ISO-8859-4",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   126
        "ISO-8859-5",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   127
        "ISO-8859-6",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   128
        "ISO-8859-7",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   129
        "ISO-8859-8",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   130
        "ISO-8859-9",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   131
        "ISO-8859-13",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   132
        "JIS_X0201",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   133
        "x-JIS0208",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   134
        "JIS_X0212-1990",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   135
        "GB2312",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   136
        "EUC-KR",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   137
        "x-EUC-TW",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   138
        "EUC-JP",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   139
        "x-euc-jp-linux",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   140
        "KOI8-R",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   141
        "TIS-620",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   142
        "x-ISCII91",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   143
        "windows-1251",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   144
        "windows-1252",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   145
        "windows-1253",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   146
        "windows-1254",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   147
        "windows-1255",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   148
        "windows-1256",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   149
        "windows-1257",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   150
        "windows-1258",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   151
        "windows-932",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   152
        "x-mswin-936",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   153
        "x-windows-949",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   154
        "x-windows-950",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   155
        "windows-31j",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   156
        "Big5",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   157
        "Big5-HKSCS",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   158
        "x-MS950-HKSCS",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   159
        "ISO-2022-JP",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   160
        "ISO-2022-KR",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   161
        "x-ISO-2022-CN-CNS",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   162
        "x-ISO-2022-CN-GB",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   163
        "Big5-HKSCS",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   164
        "x-Johab",
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   165
        "Shift_JIS"
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   166
    };
67f425ac409b 6920732: opensource test/java/nio/charset
sherman
parents:
diff changeset
   167
}