/*
 * Copyright (c) 2008, Oracle and/or its affiliates. All rights reserved.
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * This code is free software; you can redistribute it and/or modify it
 * under the terms of the GNU General Public License version 2 only, as
 * published by the Free Software Foundation.
 *
 * This code is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 * version 2 for more details (a copy is included in the LICENSE file that
 * accompanied this code).
 *
 * You should have received a copy of the GNU General Public License version
 * 2 along with this work; if not, write to the Free Software Foundation,
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
 * or visit www.oracle.com if you need additional information or have any
 * questions.
 */

/* @test
 * @bug 6173388 6319716
 * @summary Check full coverage encode/decode for Microsoft
 *          ISO2022_JP variants MS50220, MS50221 and MSISO2022JP
 * @modules jdk.charsets
 */

import java.io.*;
import java.nio.charset.*;
public class TestMS5022X {

    private static String US_ASCII =
        "\u0000\u0001\u0002\u0003\u0004\u0005\u0006\u0007" +
        "\b\t\n\u000B\f\r" +
        "\u0010\u0011\u0012\u0013\u0014\u0015\u0016\u0017" +
        "\u0018\u0019\u001A\u001C\u001D\u001E\u001F" +
        "\u0020\u0021\"\u0023\u0024\u0025\u0026\'" +
        "\u0028\u0029\u002A\u002B\u002C\u002D\u002E\u002F" +
        "\u0030\u0031\u0032\u0033\u0034\u0035\u0036\u0037" +
        "\u0038\u0039\u003A\u003B\u003C\u003D\u003E\u003F" +
        "\u0040\u0041\u0042\u0043\u0044\u0045\u0046\u0047" +
        "\u0048\u0049\u004A\u004B\u004C\u004D\u004E\u004F" +
        "\u0050\u0051\u0052\u0053\u0054\u0055\u0056\u0057" +
        "\u0058\u0059\u005A\u005B\\\u005D\u005E\u005F" +
        "\u0060\u0061\u0062\u0063\u0064\u0065\u0066\u0067" +
        "\u0068\u0069\u006A\u006B\u006C\u006D\u006E\u006F" +
        "\u0070\u0071\u0072\u0073\u0074\u0075\u0076\u0077" +
        "\u0078\u0079\u007A\u007B\u007C\u007D\u007E\u00A5\u203E";

     // Subset of chars sourced from JISX0208:1983

     private static String JISX0208SUBSET =
        "\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A" +
        "\uFF1B\uFF1F\uFF01\u309B\u309C\u00B4\uFF40\u00A8" +
        "\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003" +
        "\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F" +    //u2014->u2015
        "\uFF3C\u301C\u2016\uFF5C\u2026\u2025\u2018\u2019" +
        "\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28" +
        "\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F" +
        "\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91" +
        "\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5" +
        "\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C" +
        "\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11" +
        "\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E" +
        "\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2" +
        "\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9" +
        "\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5" +
        "\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44" +
        "\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64" +
        "\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1" +
        "\u5EC2\u5EC8\u5ED0\u5ECF\u5ED6\u5EE3\u5EDD\u5EDA" +
        "\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3" +
        "\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C" +
        "\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48" +
        "\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61" +
        "\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88" +
        "\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD" +
        "\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3" +
        "\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031" +
        "\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350" +
        "\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB" +
        "\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369" +
        "\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6" +
        "\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D" +
        "\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A" +
        "\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2" +
        "\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209" +
        "\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4" +
        "\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524" +
        "\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B" +
        "\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763" +
        "\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B" +
        "\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3" +
        "\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9" +
        "\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840" +
        "\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877" +
        "\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883" +
        "\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D" +
        "\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1" +
        "\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904" +
        "\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A" +
        "\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978" +
        "\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB" +
        "\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D" +
        "\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93" +
        "\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85" +
        "\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6" +
        "\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9" +
        "\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292" +
        "\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4" +
        "\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A" +
        "\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA" +
        "\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED" +
        "\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D" +
        "\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D" +
        "\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE" +
        "\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5" +
        "\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC" +
        "\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E" +
        "\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66" +
        "\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C" +
        "\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199";

    private static String JISX0201KATAKANA =
        "\uFF61\uFF62\uFF63\uFF64" +
        "\uFF65\uFF66\uFF67\uFF68\uFF69\uFF6A\uFF6B\uFF6C" +
        "\uFF6D\uFF6E\uFF6F\uFF70\uFF71\uFF72\uFF73\uFF74" +
        "\uFF75\uFF76\uFF77\uFF78\uFF79\uFF7A\uFF7B\uFF7C" +
        "\uFF7D\uFF7E\uFF7F\uFF80\uFF81\uFF82\uFF83\uFF84" +
        "\uFF85\uFF86\uFF87\uFF88\uFF89\uFF8A\uFF8B\uFF8C" +
        "\uFF8D\uFF8E\uFF8F\uFF90\uFF91\uFF92\uFF93\uFF94" +
        "\uFF95\uFF96\uFF97\uFF98\uFF99\uFF9A\uFF9B\uFF9C" +
        "\uFF9D\uFF9E\uFF9F";

    private static String JISX0208NECROW13 =
        "\u2460\u2461\u2462\u2463\u2464\u2465\u2466\u2467" +
        "\u2468\u2469\u246A\u246B\u246C\u246D\u246E\u246F" +
        "\u2470\u2471\u2472\u2473\u2160\u2161\u2162\u2163" +
        "\u2164\u2165\u2166\u2167\u2168\u2169\u3349\u3314" +
        "\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357" +
        "\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D" +
        "\u339E\u338E\u338F\u33C4\u33A1\u337B\u301E\u301F" +
        "\u2116\u33CD\u2121\u32A4\u32A5\u32A6\u32A7\u32A8" +
        "\u3231\u3232\u3239\u337E\u337D\u337C" +
        "\u222e\u2211\u221f\u22bf";

    private static byte[] expectedBytes_US_ASCII = {
        (byte)0x0, (byte)0x1, (byte)0x2, (byte)0x3,
        (byte)0x4, (byte)0x5, (byte)0x6, (byte)0x7,
        (byte)0x8, (byte)0x9, (byte)0xa, (byte)0xb,
        (byte)0xc, (byte)0xd,
        (byte)0x10, (byte)0x11, (byte)0x12, (byte)0x13,
        (byte)0x14, (byte)0x15, (byte)0x16, (byte)0x17,
        (byte)0x18, (byte)0x19, (byte)0x1a,
        (byte)0x1c, (byte)0x1d, (byte)0x1e, (byte)0x1f,
        (byte)0x20, (byte)0x21, (byte)0x22, (byte)0x23,
        (byte)0x24, (byte)0x25, (byte)0x26, (byte)0x27,
        (byte)0x28, (byte)0x29, (byte)0x2a, (byte)0x2b,
        (byte)0x2c, (byte)0x2d, (byte)0x2e, (byte)0x2f,
        (byte)0x30, (byte)0x31, (byte)0x32, (byte)0x33,
        (byte)0x34, (byte)0x35, (byte)0x36, (byte)0x37,
        (byte)0x38, (byte)0x39, (byte)0x3a, (byte)0x3b,
        (byte)0x3c, (byte)0x3d, (byte)0x3e, (byte)0x3f,
        (byte)0x40, (byte)0x41, (byte)0x42, (byte)0x43,
        (byte)0x44, (byte)0x45, (byte)0x46, (byte)0x47,
        (byte)0x48, (byte)0x49, (byte)0x4a, (byte)0x4b,
        (byte)0x4c, (byte)0x4d, (byte)0x4e, (byte)0x4f,
        (byte)0x50, (byte)0x51, (byte)0x52, (byte)0x53,
        (byte)0x54, (byte)0x55, (byte)0x56, (byte)0x57,
        (byte)0x58, (byte)0x59, (byte)0x5a, (byte)0x5b,
        (byte)0x5c, (byte)0x5d, (byte)0x5e, (byte)0x5f,
        (byte)0x60, (byte)0x61, (byte)0x62, (byte)0x63,
        (byte)0x64, (byte)0x65, (byte)0x66, (byte)0x67,
        (byte)0x68, (byte)0x69, (byte)0x6a, (byte)0x6b,
        (byte)0x6c, (byte)0x6d, (byte)0x6e, (byte)0x6f,
        (byte)0x70, (byte)0x71, (byte)0x72, (byte)0x73,
        (byte)0x74, (byte)0x75, (byte)0x76, (byte)0x77,
        (byte)0x78, (byte)0x79, (byte)0x7a, (byte)0x7b,
        (byte)0x7c, (byte)0x7d, (byte)0x7e, (byte)0x1b,
        (byte)0x28, (byte)0x4a, (byte)0x5c, (byte)0x7e
    };

    private static byte[] expectedBytes_JISX0208SUBSET =
    {
        (byte)0x1b, (byte)0x24, (byte)0x42, (byte)0x21,
        (byte)0x21, (byte)0x21,
        (byte)0x22, (byte)0x21, (byte)0x23, (byte)0x21,
        (byte)0x24, (byte)0x21, (byte)0x25, (byte)0x21,
        (byte)0x26, (byte)0x21, (byte)0x27, (byte)0x21,
        (byte)0x28, (byte)0x21, (byte)0x29, (byte)0x21,
        (byte)0x2a, (byte)0x21, (byte)0x2b, (byte)0x21,
        (byte)0x2c, (byte)0x21, (byte)0x2d, (byte)0x21,
        (byte)0x2e, (byte)0x21, (byte)0x2f, (byte)0x21,
        (byte)0x30, (byte)0x21, (byte)0x31, (byte)0x21,
        (byte)0x32, (byte)0x21, (byte)0x33, (byte)0x21,
        (byte)0x34, (byte)0x21, (byte)0x35, (byte)0x21,
        (byte)0x36, (byte)0x21, (byte)0x37, (byte)0x21,
        (byte)0x38, (byte)0x21, (byte)0x39, (byte)0x21,
        (byte)0x3a, (byte)0x21, (byte)0x3b, (byte)0x21,
        (byte)0x3c, (byte)0x21, (byte)0x3d, (byte)0x21,
        (byte)0x3e, (byte)0x21, (byte)0x3f, (byte)0x21,
        (byte)0x40, (byte)0x21, (byte)0x41, (byte)0x21,
        (byte)0x42, (byte)0x21, (byte)0x43, (byte)0x21,
        (byte)0x44, (byte)0x21, (byte)0x45, (byte)0x21,
        (byte)0x46, (byte)0x21, (byte)0x47, (byte)0x55,
        (byte)0x71, (byte)0x55, (byte)0x72, (byte)0x55,
        (byte)0x73, (byte)0x55, (byte)0x74, (byte)0x55,
        (byte)0x75, (byte)0x55, (byte)0x76, (byte)0x55,
        (byte)0x77, (byte)0x55, (byte)0x78, (byte)0x55,
        (byte)0x79, (byte)0x55, (byte)0x7a, (byte)0x55,
        (byte)0x7b, (byte)0x55, (byte)0x7c, (byte)0x55,
        (byte)0x7d, (byte)0x55, (byte)0x7e, (byte)0x56,
        (byte)0x21, (byte)0x56, (byte)0x22, (byte)0x56,
        (byte)0x23, (byte)0x56, (byte)0x24, (byte)0x56,
        (byte)0x25, (byte)0x56, (byte)0x26, (byte)0x56,
        (byte)0x27, (byte)0x56, (byte)0x28, (byte)0x56,
        (byte)0x29, (byte)0x56, (byte)0x2a, (byte)0x56,
        (byte)0x2b, (byte)0x56, (byte)0x2c, (byte)0x56,
        (byte)0x2d, (byte)0x56, (byte)0x2e, (byte)0x56,
        (byte)0x2f, (byte)0x56, (byte)0x30, (byte)0x56,
        (byte)0x31, (byte)0x56, (byte)0x32, (byte)0x56,
        (byte)0x33, (byte)0x56, (byte)0x34, (byte)0x56,
        (byte)0x35, (byte)0x56, (byte)0x36, (byte)0x56,
        (byte)0x37, (byte)0x56, (byte)0x38, (byte)0x56,
        (byte)0x39, (byte)0x56, (byte)0x3a, (byte)0x56,
        (byte)0x3b, (byte)0x56, (byte)0x3c, (byte)0x56,
        (byte)0x3d, (byte)0x56, (byte)0x3e, (byte)0x56,
        (byte)0x3f, (byte)0x56, (byte)0x40, (byte)0x56,
        (byte)0x41, (byte)0x56, (byte)0x42, (byte)0x56,
        (byte)0x43, (byte)0x56, (byte)0x44, (byte)0x56,
        (byte)0x45, (byte)0x56, (byte)0x46, (byte)0x56,
        (byte)0x47, (byte)0x56, (byte)0x48, (byte)0x56,
        (byte)0x49, (byte)0x56, (byte)0x4a, (byte)0x56,
        (byte)0x4b, (byte)0x56, (byte)0x4c, (byte)0x56,
        (byte)0x4d, (byte)0x56, (byte)0x4e, (byte)0x56,
        (byte)0x4f, (byte)0x56, (byte)0x50, (byte)0x56,
        (byte)0x51, (byte)0x56, (byte)0x52, (byte)0x56,
        (byte)0x53, (byte)0x56, (byte)0x54, (byte)0x56,
        (byte)0x55, (byte)0x56, (byte)0x56, (byte)0x56,
        (byte)0x57, (byte)0x56, (byte)0x58, (byte)0x56,
        (byte)0x59, (byte)0x56, (byte)0x5a, (byte)0x56,
        (byte)0x5b, (byte)0x56, (byte)0x5c, (byte)0x56,
        (byte)0x5d, (byte)0x56, (byte)0x5e, (byte)0x56,
        (byte)0x5f, (byte)0x56, (byte)0x60, (byte)0x56,
        (byte)0x61, (byte)0x56, (byte)0x62, (byte)0x56,
        (byte)0x63, (byte)0x56, (byte)0x64, (byte)0x56,
        (byte)0x65, (byte)0x56, (byte)0x66, (byte)0x56,
        (byte)0x67, (byte)0x56, (byte)0x68, (byte)0x56,
        (byte)0x69, (byte)0x56, (byte)0x6a, (byte)0x56,
        (byte)0x6b, (byte)0x56, (byte)0x6c, (byte)0x56,
        (byte)0x6d, (byte)0x56, (byte)0x6e, (byte)0x56,
        (byte)0x6f, (byte)0x56, (byte)0x70, (byte)0x56,
        (byte)0x71, (byte)0x56, (byte)0x72, (byte)0x56,
        (byte)0x73, (byte)0x56, (byte)0x74, (byte)0x56,
        (byte)0x75, (byte)0x56, (byte)0x76, (byte)0x56,
        (byte)0x77, (byte)0x56, (byte)0x78, (byte)0x56,
        (byte)0x79, (byte)0x56, (byte)0x7a, (byte)0x56,
        (byte)0x7b, (byte)0x56, (byte)0x7c, (byte)0x56,
        (byte)0x7d, (byte)0x56, (byte)0x7e, (byte)0x57,
        (byte)0x21, (byte)0x57, (byte)0x22, (byte)0x57,
        (byte)0x23, (byte)0x57, (byte)0x24, (byte)0x57,
        (byte)0x25, (byte)0x57, (byte)0x26, (byte)0x57,
        (byte)0x27, (byte)0x57, (byte)0x28, (byte)0x57,
        (byte)0x29, (byte)0x57, (byte)0x2a, (byte)0x57,
        (byte)0x2b, (byte)0x57, (byte)0x2c, (byte)0x57,
        (byte)0x2d, (byte)0x57, (byte)0x2e, (byte)0x57,
        (byte)0x2f, (byte)0x57, (byte)0x30, (byte)0x57,
        (byte)0x31, (byte)0x57, (byte)0x32, (byte)0x57,
        (byte)0x33, (byte)0x57, (byte)0x34, (byte)0x57,
        (byte)0x35, (byte)0x57, (byte)0x36, (byte)0x57,
        (byte)0x37, (byte)0x57, (byte)0x38, (byte)0x57,
        (byte)0x39, (byte)0x57, (byte)0x3a, (byte)0x57,
        (byte)0x3b, (byte)0x57, (byte)0x3c, (byte)0x57,
        (byte)0x3d, (byte)0x57, (byte)0x3e, (byte)0x57,
        (byte)0x3f, (byte)0x57, (byte)0x40, (byte)0x57,
        (byte)0x41, (byte)0x57, (byte)0x42, (byte)0x57,
        (byte)0x43, (byte)0x57, (byte)0x44, (byte)0x57,
        (byte)0x45, (byte)0x57, (byte)0x46, (byte)0x57,
        (byte)0x47, (byte)0x57, (byte)0x48, (byte)0x57,
        (byte)0x49, (byte)0x57, (byte)0x4a, (byte)0x57,
        (byte)0x4b, (byte)0x57, (byte)0x4c, (byte)0x57,
        (byte)0x4d, (byte)0x57, (byte)0x4e, (byte)0x57,
        (byte)0x4f, (byte)0x57, (byte)0x50, (byte)0x57,
        (byte)0x51, (byte)0x57, (byte)0x52, (byte)0x57,
        (byte)0x53, (byte)0x57, (byte)0x54, (byte)0x57,
        (byte)0x55, (byte)0x57, (byte)0x56, (byte)0x57,
        (byte)0x57, (byte)0x57, (byte)0x58, (byte)0x57,
        (byte)0x59, (byte)0x57, (byte)0x5a, (byte)0x57,
        (byte)0x5b, (byte)0x57, (byte)0x5c, (byte)0x57,
        (byte)0x5d, (byte)0x57, (byte)0x5e, (byte)0x57,
        (byte)0x5f, (byte)0x57, (byte)0x60, (byte)0x57,
        (byte)0x61, (byte)0x57, (byte)0x62, (byte)0x57,
        (byte)0x63, (byte)0x57, (byte)0x64, (byte)0x59,
        (byte)0x49, (byte)0x59, (byte)0x4a, (byte)0x59,
        (byte)0x4b, (byte)0x59, (byte)0x4c, (byte)0x59,
        (byte)0x4d, (byte)0x59, (byte)0x4e, (byte)0x59,
        (byte)0x4f, (byte)0x59, (byte)0x50, (byte)0x59,
        (byte)0x51, (byte)0x59, (byte)0x52, (byte)0x59,
        (byte)0x53, (byte)0x59, (byte)0x54, (byte)0x59,
        (byte)0x55, (byte)0x59, (byte)0x56, (byte)0x59,
        (byte)0x57, (byte)0x59, (byte)0x58, (byte)0x59,
        (byte)0x59, (byte)0x59, (byte)0x5a, (byte)0x59,
        (byte)0x5b, (byte)0x59, (byte)0x5c, (byte)0x59,
        (byte)0x5d, (byte)0x59, (byte)0x5e, (byte)0x59,
        (byte)0x5f, (byte)0x59, (byte)0x60, (byte)0x59,
        (byte)0x61, (byte)0x59, (byte)0x62, (byte)0x59,
        (byte)0x63, (byte)0x59, (byte)0x64, (byte)0x59,
        (byte)0x65, (byte)0x59, (byte)0x66, (byte)0x59,
        (byte)0x67, (byte)0x59, (byte)0x68, (byte)0x59,
        (byte)0x69, (byte)0x59, (byte)0x6a, (byte)0x59,
        (byte)0x6b, (byte)0x59, (byte)0x6c, (byte)0x59,
        (byte)0x6d, (byte)0x59, (byte)0x6e, (byte)0x59,
        (byte)0x6f, (byte)0x59, (byte)0x70, (byte)0x59,
        (byte)0x71, (byte)0x59, (byte)0x72, (byte)0x59,
        (byte)0x73, (byte)0x59, (byte)0x74, (byte)0x59,
        (byte)0x75, (byte)0x59, (byte)0x76, (byte)0x59,
        (byte)0x77, (byte)0x59, (byte)0x78, (byte)0x59,
        (byte)0x79, (byte)0x59, (byte)0x7a, (byte)0x59,
        (byte)0x7b, (byte)0x59, (byte)0x7c, (byte)0x59,
        (byte)0x7d, (byte)0x59, (byte)0x7e, (byte)0x5a,
        (byte)0x21, (byte)0x5a, (byte)0x22, (byte)0x5a,
        (byte)0x23, (byte)0x5a, (byte)0x24, (byte)0x5a,
        (byte)0x25, (byte)0x5a, (byte)0x26, (byte)0x5a,
        (byte)0x27, (byte)0x5a, (byte)0x28, (byte)0x5a,
        (byte)0x29, (byte)0x5a, (byte)0x2a, (byte)0x5a,
        (byte)0x2b, (byte)0x5a, (byte)0x2c, (byte)0x5a,
        (byte)0x2d, (byte)0x5a, (byte)0x2e, (byte)0x5a,
        (byte)0x2f, (byte)0x5a, (byte)0x30, (byte)0x5a,
        (byte)0x31, (byte)0x5a, (byte)0x32, (byte)0x5a,
        (byte)0x33, (byte)0x5a, (byte)0x34, (byte)0x5a,
        (byte)0x35, (byte)0x5a, (byte)0x36, (byte)0x5a,
        (byte)0x37, (byte)0x5a, (byte)0x38, (byte)0x5a,
        (byte)0x39, (byte)0x5a, (byte)0x3a, (byte)0x5a,
        (byte)0x3b, (byte)0x5a, (byte)0x3c, (byte)0x5a,
        (byte)0x3d, (byte)0x5a, (byte)0x3e, (byte)0x5a,
        (byte)0x3f, (byte)0x5a, (byte)0x40, (byte)0x5a,
        (byte)0x41, (byte)0x5a, (byte)0x42, (byte)0x5b,
        (byte)0x35, (byte)0x5b, (byte)0x36, (byte)0x5b,
        (byte)0x37, (byte)0x5b, (byte)0x38, (byte)0x5b,
        (byte)0x39, (byte)0x5b, (byte)0x3a, (byte)0x5b,
        (byte)0x3b, (byte)0x5b, (byte)0x3c, (byte)0x5b,
        (byte)0x3d, (byte)0x5b, (byte)0x3e, (byte)0x5b,
        (byte)0x3f, (byte)0x5b, (byte)0x40, (byte)0x5b,
        (byte)0x41, (byte)0x5b, (byte)0x42, (byte)0x5b,
        (byte)0x43, (byte)0x5b, (byte)0x44, (byte)0x5b,
        (byte)0x45, (byte)0x5b, (byte)0x46, (byte)0x5b,
        (byte)0x47, (byte)0x5b, (byte)0x48, (byte)0x5b,
        (byte)0x49, (byte)0x5b, (byte)0x4a, (byte)0x5b,
        (byte)0x4b, (byte)0x5b, (byte)0x4c, (byte)0x5b,
        (byte)0x4d, (byte)0x5b, (byte)0x4e, (byte)0x5b,
        (byte)0x4f, (byte)0x5b, (byte)0x50, (byte)0x5b,
        (byte)0x51, (byte)0x5b, (byte)0x52, (byte)0x5b,
        (byte)0x53, (byte)0x5b, (byte)0x54, (byte)0x5b,
        (byte)0x55, (byte)0x5b, (byte)0x56, (byte)0x5b,
        (byte)0x57, (byte)0x5b, (byte)0x58, (byte)0x5b,
        (byte)0x59, (byte)0x5b, (byte)0x5a, (byte)0x5b,
        (byte)0x5b, (byte)0x5b, (byte)0x5c, (byte)0x5b,
        (byte)0x5d, (byte)0x5b, (byte)0x5e, (byte)0x5b,
        (byte)0x5f, (byte)0x5b, (byte)0x60, (byte)0x5b,
        (byte)0x61, (byte)0x5b, (byte)0x62, (byte)0x5b,
        (byte)0x63, (byte)0x5b, (byte)0x64, (byte)0x5b,
        (byte)0x65, (byte)0x5b, (byte)0x66, (byte)0x5b,
        (byte)0x67, (byte)0x5b, (byte)0x68, (byte)0x5b,
        (byte)0x69, (byte)0x5b, (byte)0x6a, (byte)0x5b,
        (byte)0x6b, (byte)0x5b, (byte)0x6c, (byte)0x5b,
        (byte)0x6d, (byte)0x5b, (byte)0x6e, (byte)0x5b,
        (byte)0x6f, (byte)0x5b, (byte)0x70, (byte)0x5b,
        (byte)0x71, (byte)0x5b, (byte)0x72, (byte)0x5b,
        (byte)0x73, (byte)0x5b, (byte)0x74, (byte)0x5b,
        (byte)0x75, (byte)0x5b, (byte)0x76, (byte)0x5b,
        (byte)0x77, (byte)0x5b, (byte)0x78, (byte)0x5b,
        (byte)0x79, (byte)0x5b, (byte)0x7a, (byte)0x5b,
        (byte)0x7b, (byte)0x5b, (byte)0x7c, (byte)0x5b,
        (byte)0x7d, (byte)0x5b, (byte)0x7e, (byte)0x5c,
        (byte)0x21, (byte)0x5c, (byte)0x22, (byte)0x5c,
        (byte)0x23, (byte)0x5c, (byte)0x24, (byte)0x5c,
        (byte)0x25, (byte)0x5c, (byte)0x26, (byte)0x5c,
        (byte)0x27, (byte)0x5c, (byte)0x28, (byte)0x5c,
        (byte)0x29, (byte)0x5c, (byte)0x2a, (byte)0x5c,
        (byte)0x2b, (byte)0x5c, (byte)0x2c, (byte)0x5c,
        (byte)0x2d, (byte)0x5c, (byte)0x2e, (byte)0x5c,
        (byte)0x2f, (byte)0x5c, (byte)0x30, (byte)0x5c,
        (byte)0x31, (byte)0x5c, (byte)0x32, (byte)0x5c,
        (byte)0x33, (byte)0x5c, (byte)0x34, (byte)0x5c,
        (byte)0x35, (byte)0x5c, (byte)0x36, (byte)0x5d,
        (byte)0x79, (byte)0x5d, (byte)0x7a, (byte)0x5d,
        (byte)0x7b, (byte)0x5d, (byte)0x7c, (byte)0x5d,
        (byte)0x7d, (byte)0x5d, (byte)0x7e, (byte)0x5e,
        (byte)0x21, (byte)0x5e, (byte)0x22, (byte)0x5e,
        (byte)0x23, (byte)0x5e, (byte)0x24, (byte)0x5e,
        (byte)0x25, (byte)0x5e, (byte)0x26, (byte)0x5e,
        (byte)0x27, (byte)0x5e, (byte)0x28, (byte)0x5e,
        (byte)0x29, (byte)0x5e, (byte)0x2a, (byte)0x5e,
        (byte)0x2b, (byte)0x5e, (byte)0x2c, (byte)0x5e,
        (byte)0x2d, (byte)0x5e, (byte)0x2e, (byte)0x5e,
        (byte)0x2f, (byte)0x5e, (byte)0x30, (byte)0x5e,
        (byte)0x31, (byte)0x5e, (byte)0x32, (byte)0x5e,
        (byte)0x33, (byte)0x5e, (byte)0x34, (byte)0x5e,
        (byte)0x35, (byte)0x5e, (byte)0x36, (byte)0x5e,
        (byte)0x37, (byte)0x5e, (byte)0x38, (byte)0x5e,
        (byte)0x39, (byte)0x5e, (byte)0x3a, (byte)0x5e,
        (byte)0x3b, (byte)0x5e, (byte)0x3c, (byte)0x5e,
        (byte)0x3d, (byte)0x5e, (byte)0x3e, (byte)0x5e,
        (byte)0x3f, (byte)0x5e, (byte)0x40, (byte)0x5e,
        (byte)0x41, (byte)0x5e, (byte)0x42, (byte)0x5e,
        (byte)0x43, (byte)0x5e, (byte)0x44, (byte)0x5e,
        (byte)0x45, (byte)0x5e, (byte)0x46, (byte)0x5e,
        (byte)0x47, (byte)0x5e, (byte)0x48, (byte)0x5e,
        (byte)0x49, (byte)0x5e, (byte)0x4a, (byte)0x60,
        (byte)0x30, (byte)0x60, (byte)0x31, (byte)0x60,
        (byte)0x32, (byte)0x60, (byte)0x33, (byte)0x60,
        (byte)0x34, (byte)0x60, (byte)0x35, (byte)0x60,
        (byte)0x36, (byte)0x60, (byte)0x37, (byte)0x60,
        (byte)0x38, (byte)0x60, (byte)0x39, (byte)0x60,
        (byte)0x3a, (byte)0x60, (byte)0x3b, (byte)0x60,
        (byte)0x3c, (byte)0x60, (byte)0x3d, (byte)0x60,
        (byte)0x3e, (byte)0x60, (byte)0x3f, (byte)0x73,
        (byte)0x26, (byte)0x73, (byte)0x27, (byte)0x73,
        (byte)0x28, (byte)0x73, (byte)0x29, (byte)0x73,
        (byte)0x2a, (byte)0x73, (byte)0x2b, (byte)0x73,
        (byte)0x2c, (byte)0x73, (byte)0x2d, (byte)0x73,
        (byte)0x2e, (byte)0x73, (byte)0x2f, (byte)0x73,
        (byte)0x30, (byte)0x73, (byte)0x31, (byte)0x73,
        (byte)0x32, (byte)0x73, (byte)0x33, (byte)0x73,
        (byte)0x34, (byte)0x73, (byte)0x35, (byte)0x73,
        (byte)0x36, (byte)0x73, (byte)0x37, (byte)0x73,
        (byte)0x38, (byte)0x73, (byte)0x39, (byte)0x73,
        (byte)0x3a, (byte)0x73, (byte)0x3b, (byte)0x73,
        (byte)0x3c, (byte)0x73, (byte)0x3d, (byte)0x73,
        (byte)0x3e, (byte)0x73, (byte)0x3f, (byte)0x73,
        (byte)0x40, (byte)0x73, (byte)0x41, (byte)0x73,
        (byte)0x42, (byte)0x73, (byte)0x43, (byte)0x73,
        (byte)0x44, (byte)0x73, (byte)0x45, (byte)0x73,
        (byte)0x46, (byte)0x73, (byte)0x47, (byte)0x73,
        (byte)0x48, (byte)0x73, (byte)0x49, (byte)0x73,
        (byte)0x4a, (byte)0x73, (byte)0x4b, (byte)0x73,
        (byte)0x4c, (byte)0x73, (byte)0x4d, (byte)0x73,
        (byte)0x4e, (byte)0x73, (byte)0x4f, (byte)0x73,
        (byte)0x50, (byte)0x73, (byte)0x51, (byte)0x73,
        (byte)0x52, (byte)0x73, (byte)0x53, (byte)0x73,
        (byte)0x54, (byte)0x73, (byte)0x55, (byte)0x73,
        (byte)0x56, (byte)0x73, (byte)0x57, (byte)0x73,
        (byte)0x58, (byte)0x73, (byte)0x59, (byte)0x73,
        (byte)0x5a, (byte)0x73, (byte)0x5b, (byte)0x73,
        (byte)0x5c, (byte)0x73, (byte)0x5d, (byte)0x73,
        (byte)0x5e, (byte)0x73, (byte)0x5f, (byte)0x73,
        (byte)0x60, (byte)0x73, (byte)0x61, (byte)0x73,
        (byte)0x62, (byte)0x73, (byte)0x63, (byte)0x73,
        (byte)0x64, (byte)0x73, (byte)0x65, (byte)0x73,
        (byte)0x66, (byte)0x73, (byte)0x67, (byte)0x73,
        (byte)0x68, (byte)0x73, (byte)0x69, (byte)0x73,
        (byte)0x6a, (byte)0x73, (byte)0x6b, (byte)0x73,
        (byte)0x6c, (byte)0x73, (byte)0x6d, (byte)0x73,
        (byte)0x6e, (byte)0x73, (byte)0x6f, (byte)0x73,
        (byte)0x70, (byte)0x73, (byte)0x71, (byte)0x73,
        (byte)0x72, (byte)0x73, (byte)0x73, (byte)0x73,
        (byte)0x74, (byte)0x73, (byte)0x75, (byte)0x73,
        (byte)0x76, (byte)0x73, (byte)0x77, (byte)0x73,
        (byte)0x78, (byte)0x73, (byte)0x79, (byte)0x73,
        (byte)0x7a, (byte)0x73, (byte)0x7b, (byte)0x73,
        (byte)0x7c, (byte)0x73, (byte)0x7d, (byte)0x73,
        (byte)0x7e, (byte)0x74, (byte)0x21, (byte)0x74,
        (byte)0x22, (byte)0x74, (byte)0x23, (byte)0x74,
        (byte)0x24, (byte)0x74, (byte)0x25, (byte)0x74,
        (byte)0x26
    };

    private static byte[] expectedBytes_JISX0201KATAKANA1 =
    {
        (byte)0x1b, (byte)0x28, (byte)0x49,
        (byte)0x21, (byte)0x22, (byte)0x23, (byte)0x24,
        (byte)0x25, (byte)0x26, (byte)0x27, (byte)0x28,
        (byte)0x29, (byte)0x2a, (byte)0x2b, (byte)0x2c,
        (byte)0x2d, (byte)0x2e, (byte)0x2f, (byte)0x30,
        (byte)0x31, (byte)0x32, (byte)0x33, (byte)0x34,
        (byte)0x35, (byte)0x36, (byte)0x37, (byte)0x38,
        (byte)0x39, (byte)0x3a, (byte)0x3b, (byte)0x3c,
        (byte)0x3d, (byte)0x3e, (byte)0x3f, (byte)0x40,
        (byte)0x41, (byte)0x42, (byte)0x43, (byte)0x44,
        (byte)0x45, (byte)0x46, (byte)0x47, (byte)0x48,
        (byte)0x49, (byte)0x4a, (byte)0x4b, (byte)0x4c,
        (byte)0x4d, (byte)0x4e, (byte)0x4f, (byte)0x50,
        (byte)0x51, (byte)0x52, (byte)0x53, (byte)0x54,
        (byte)0x55, (byte)0x56, (byte)0x57, (byte)0x58,
        (byte)0x59, (byte)0x5a, (byte)0x5b, (byte)0x5c,
        (byte)0x5d, (byte)0x5e, (byte)0x5f
    };

    private static byte[] expectedBytes_JISX0201KATAKANA2 =
    {
        (byte)0x1b, (byte)0x24, (byte)0x42,
        (byte)0x21, (byte)0x23, (byte)0x21, (byte)0x56,
        (byte)0x21, (byte)0x57, (byte)0x21, (byte)0x22,
        (byte)0x21, (byte)0x26, (byte)0x25, (byte)0x72,
        (byte)0x25, (byte)0x21, (byte)0x25, (byte)0x23,
        (byte)0x25, (byte)0x25, (byte)0x25, (byte)0x27,
        (byte)0x25, (byte)0x29, (byte)0x25, (byte)0x63,
        (byte)0x25, (byte)0x65, (byte)0x25, (byte)0x67,
        (byte)0x25, (byte)0x43, (byte)0x21, (byte)0x3c,
        (byte)0x25, (byte)0x22, (byte)0x25, (byte)0x24,
        (byte)0x25, (byte)0x26, (byte)0x25, (byte)0x28,
        (byte)0x25, (byte)0x2a, (byte)0x25, (byte)0x2b,
        (byte)0x25, (byte)0x2d, (byte)0x25, (byte)0x2f,
        (byte)0x25, (byte)0x31, (byte)0x25, (byte)0x33,
        (byte)0x25, (byte)0x35, (byte)0x25, (byte)0x37,
        (byte)0x25, (byte)0x39, (byte)0x25, (byte)0x3b,
        (byte)0x25, (byte)0x3d, (byte)0x25, (byte)0x3f,
        (byte)0x25, (byte)0x41, (byte)0x25, (byte)0x44,
        (byte)0x25, (byte)0x46, (byte)0x25, (byte)0x48,
        (byte)0x25, (byte)0x4a, (byte)0x25, (byte)0x4b,
        (byte)0x25, (byte)0x4c, (byte)0x25, (byte)0x4d,
        (byte)0x25, (byte)0x4e, (byte)0x25, (byte)0x4f,
        (byte)0x25, (byte)0x52, (byte)0x25, (byte)0x55,
        (byte)0x25, (byte)0x58, (byte)0x25, (byte)0x5b,
        (byte)0x25, (byte)0x5e, (byte)0x25, (byte)0x5f,
        (byte)0x25, (byte)0x60, (byte)0x25, (byte)0x61,
        (byte)0x25, (byte)0x62, (byte)0x25, (byte)0x64,
        (byte)0x25, (byte)0x66, (byte)0x25, (byte)0x68,
        (byte)0x25, (byte)0x69, (byte)0x25, (byte)0x6a,
        (byte)0x25, (byte)0x6b, (byte)0x25, (byte)0x6c,
        (byte)0x25, (byte)0x6d, (byte)0x25, (byte)0x6f,
        (byte)0x25, (byte)0x73, (byte)0x21, (byte)0x2b,
        (byte)0x21, (byte)0x2c,
        (byte)0x1b, (byte)0x28, (byte)0x42
    };

    private static byte[] expectedBytes_JISX0208NECROW13 =
    {
        (byte)0x1b, (byte)0x24, (byte)0x42,
        (byte)0x2d, (byte)0x21, (byte)0x2d, (byte)0x22,
        (byte)0x2d, (byte)0x23, (byte)0x2d, (byte)0x24,
        (byte)0x2d, (byte)0x25, (byte)0x2d, (byte)0x26,
        (byte)0x2d, (byte)0x27, (byte)0x2d, (byte)0x28,
        (byte)0x2d, (byte)0x29, (byte)0x2d, (byte)0x2a,
        (byte)0x2d, (byte)0x2b, (byte)0x2d, (byte)0x2c,
        (byte)0x2d, (byte)0x2d, (byte)0x2d, (byte)0x2e,
        (byte)0x2d, (byte)0x2f, (byte)0x2d, (byte)0x30,
        (byte)0x2d, (byte)0x31, (byte)0x2d, (byte)0x32,
        (byte)0x2d, (byte)0x33, (byte)0x2d, (byte)0x34,
        (byte)0x2d, (byte)0x35, (byte)0x2d, (byte)0x36,
        (byte)0x2d, (byte)0x37, (byte)0x2d, (byte)0x38,
        (byte)0x2d, (byte)0x39, (byte)0x2d, (byte)0x3a,
        (byte)0x2d, (byte)0x3b, (byte)0x2d, (byte)0x3c,
        (byte)0x2d, (byte)0x3d, (byte)0x2d, (byte)0x3e,
        (byte)0x2d, (byte)0x40, (byte)0x2d, (byte)0x41,
        (byte)0x2d, (byte)0x42, (byte)0x2d, (byte)0x43,
        (byte)0x2d, (byte)0x44, (byte)0x2d, (byte)0x45,
        (byte)0x2d, (byte)0x46, (byte)0x2d, (byte)0x47,
        (byte)0x2d, (byte)0x48, (byte)0x2d, (byte)0x49,
        (byte)0x2d, (byte)0x4a, (byte)0x2d, (byte)0x4b,
        (byte)0x2d, (byte)0x4c, (byte)0x2d, (byte)0x4d,
        (byte)0x2d, (byte)0x4e, (byte)0x2d, (byte)0x4f,
        (byte)0x2d, (byte)0x50, (byte)0x2d, (byte)0x51,
        (byte)0x2d, (byte)0x52, (byte)0x2d, (byte)0x53,
        (byte)0x2d, (byte)0x54, (byte)0x2d, (byte)0x55,
        (byte)0x2d, (byte)0x56, (byte)0x2d, (byte)0x5f,
        (byte)0x2d, (byte)0x60, (byte)0x2d, (byte)0x61,
        (byte)0x2d, (byte)0x62, (byte)0x2d, (byte)0x63,
        (byte)0x2d, (byte)0x64, (byte)0x2d, (byte)0x65,
        (byte)0x2d, (byte)0x66, (byte)0x2d, (byte)0x67,
        (byte)0x2d, (byte)0x68, (byte)0x2d, (byte)0x69,
        (byte)0x2d, (byte)0x6a, (byte)0x2d, (byte)0x6b,
        (byte)0x2d, (byte)0x6c, (byte)0x2d, (byte)0x6d,
        (byte)0x2d, (byte)0x6e, (byte)0x2d, (byte)0x6f,
        (byte)0x2d, (byte)0x73, (byte)0x2d, (byte)0x74,
        (byte)0x2d, (byte)0x78, (byte)0x2d, (byte)0x79,
        (byte)0x1b, (byte)0x28, (byte)0x42
    };


    private static String MIXEDCONTENT =
        "JA\u3000\u3002\u0062\uFF64PAN" +
        "\uFF0C\uFF0E\u00A5\uFF65\uFF66X\u203E" +
        "\u30FB\uFF67\u203E";

    static byte[] mixedBytesExpected = {
        (byte)0x4a, (byte)0x41, (byte)0x1b, (byte)0x24,
        (byte)0x42, (byte)0x21, (byte)0x21, (byte)0x21,
        (byte)0x23, (byte)0x1b, (byte)0x28, (byte)0x42,
        (byte)0x62, (byte)0x1b, (byte)0x28, (byte)0x49,
        (byte)0x24, (byte)0x1b, (byte)0x28, (byte)0x42,
        (byte)0x50, (byte)0x41, (byte)0x4e, (byte)0x1b,
        (byte)0x24, (byte)0x42, (byte)0x21, (byte)0x24,
        (byte)0x21, (byte)0x25, (byte)0x1b, (byte)0x28,
        (byte)0x4a, (byte)0x5c, (byte)0x1b, (byte)0x28,
        (byte)0x49, (byte)0x25, (byte)0x26, (byte)0x1b,
        (byte)0x28, (byte)0x42, (byte)0x58, (byte)0x1b,
        (byte)0x28, (byte)0x4a, (byte)0x7e, (byte)0x1b,
        (byte)0x24, (byte)0x42, (byte)0x21, (byte)0x26,
        (byte)0x1b, (byte)0x28, (byte)0x49, (byte)0x27,
        (byte)0x1b, (byte)0x28, (byte)0x4a, (byte)0x7e,
        (byte)0x1b, (byte)0x28, (byte)0x42  };

    private static byte[] repeatingEscapes = {
        (byte)0x4a, (byte)0x41, (byte)0x1b, (byte)0x24,
        (byte)0x42, (byte)0x1b, (byte)0x24, (byte)0x42,
        (byte)0x21, (byte)0x21, (byte)0x21,
        (byte)0x23, (byte)0x1b, (byte)0x28, (byte)0x42,
        // embedded repeated iso-2022 escapes (see bugID 4879522)
        (byte)0x1b, (byte)0x28, (byte)0x42,
        (byte)0x62, (byte)0x1b, (byte)0x28, (byte)0x49,
        (byte)0x0f, (byte)0x0e, (byte)0x0f,
        (byte)0x1b, (byte)0x28, (byte)0x49,
        (byte)0x24, (byte)0x1b, (byte)0x28, (byte)0x42,
        (byte)0x50, (byte)0x41, (byte)0x4e,
        // embedded shift chars (see bugID 4879522)
        (byte)0x0e, (byte)0x0f,
        (byte)0x1b,
        (byte)0x24, (byte)0x42, (byte)0x21, (byte)0x24,
        (byte)0x21, (byte)0x25, (byte)0x1b, (byte)0x28,
        (byte)0x4a, (byte)0x5c, (byte)0x1b, (byte)0x28,
        (byte)0x49, (byte)0x25, (byte)0x26, (byte)0x1b,
        (byte)0x28, (byte)0x42, (byte)0x58, (byte)0x1b,
        (byte)0x28, (byte)0x4a, (byte)0x7e, (byte)0x1b,
        (byte)0x24, (byte)0x42, (byte)0x21, (byte)0x26,
        (byte)0x1b, (byte)0x28, (byte)0x49, (byte)0x27,
        (byte)0x1b, (byte)0x28, (byte)0x4a, (byte)0x7e,
        (byte)0x1b, (byte)0x28, (byte)0x42  };

    private static String JISX0212 =
        "\u02d8\u6896\ue757";

    private static byte[] expectedBytes_JISX0212 = {
        (byte)0x1b, (byte)0x24, (byte)0x28, (byte)0x44,
        (byte)0x22, (byte)0x2f, (byte)0x43, (byte)0x6f,
        (byte)0x7e, (byte)0x7e,
        (byte)0x1b, (byte)0x28, (byte)0x42
    };

    /*
     * Tests the roundtrip integrity and expected encoding
     * correctness for a String containing a substantial
     * subset of MS5022X encodeable chars
     */

    private static void roundTrip(String name,
                                  String testStr,
                                  byte[] expectBytes)
    throws Exception {
        byte[] encodedBytes = testStr.getBytes(name);
        if (encodedBytes.length != expectBytes.length) {
            //System.out.printf("l1=%d, l2=%d\n",
            //                  encodedBytes.length,expectBytes.length);
            throw new Exception(name + " Encoder error");
        }
        for (int i = 0; i < expectBytes.length; i++) {

            if (encodedBytes[i] != expectBytes[i])  {
                //System.out.printf("--->");
                //throw new Exception(name + " Encoder error");
            }
            //System.out.printf("%x, %x\n",
            //encodedBytes[i],expectBytes[i]);
        }
        String decoded = new String(encodedBytes, name);
        if (!decoded.equals(testStr)) {
            throw new Exception(name + " Decoder error");
        }
        String decoded2 = new String(repeatingEscapes, name);
        if (!decoded2.equals(MIXEDCONTENT)) {
            throw new Exception(name + " Decoder error");
        }
     }

    public static void main(String[] args) throws Exception {
        String map = System.getProperty("sun.nio.cs.map");
        if (map != null) {
            map = map.toLowerCase(java.util.Locale.US);
            Charset cs = Charset.forName("ISO-2022-JP");
            if (map.indexOf("x-windows-50221/ISO-2022-jp") != -1 &&
                !"x-windows-50220".equals(cs.name()) ||
                map.indexOf("x-windows-50220/ISO-2022-jp") != -1 &&
                !"x-windows-50220".equals(cs.name()) ||
                map.indexOf("x-windows-iso2022jp/ISO-2022-jp") != -1 &&
                !"x-windows-iso2022jp".equals(cs.name())) {
                throw new Exception("Error: sun.nio.cs.map=" + map +
                                    ", ISO-2022-JP=" + cs.name());
            } else {
                System.out.printf("ISO-2022-JP=%s\n", cs.name());
            }
        }

        String testStr = US_ASCII +
                         JISX0208SUBSET +
                         JISX0201KATAKANA +
                         JISX0208NECROW13;

        byte[] expectedBytes= (new String(expectedBytes_US_ASCII, "ASCII") +
                               new String(expectedBytes_JISX0208SUBSET, "ASCII") +
                               new String(expectedBytes_JISX0201KATAKANA1, "ASCII") +
                               new String(expectedBytes_JISX0208NECROW13, "ASCII")).
          getBytes("ASCII");

        //MS50221
        roundTrip("MS50221", testStr, expectedBytes);
        roundTrip("MS50221", JISX0212, expectedBytes_JISX0212);

        //MS50220 without halfwidth kana
        roundTrip("MS50220",
                  US_ASCII + JISX0208SUBSET + JISX0208NECROW13,
                  (new String(expectedBytes_US_ASCII, "ASCII") +
                   new String(expectedBytes_JISX0208SUBSET, "ASCII") +
                   new String(expectedBytes_JISX0208NECROW13,
                              3,
                              expectedBytes_JISX0208NECROW13.length - 3,
                              "ASCII")).getBytes("ASCII"));
        roundTrip("MS50220", JISX0212, expectedBytes_JISX0212);

        // Try MS50220 with halfwidth kana encoding
        byte[] encodedBytes = JISX0201KATAKANA.getBytes("MS50220");
        if (encodedBytes.length != expectedBytes_JISX0201KATAKANA2.length) {
            throw new Exception("MS50220 Encoder error");
        }
        for (int i = 0; i < expectedBytes_JISX0201KATAKANA2.length; i++) {
            if (encodedBytes[i] != expectedBytes_JISX0201KATAKANA2[i])  {
                throw new Exception("MS50220 Encoder error");
            }
        }

        //x-windows-iso2022jp
        testStr = testStr.replace('\u301E', '\u301D')
                         .replace('\u301C', '\uFF4E')
                         .replace('\u2016', '\u2225');
        roundTrip("x-windows-iso2022jp",
                  testStr,
                  expectedBytes);

        testStr = MIXEDCONTENT;
        roundTrip("MS50221", testStr , mixedBytesExpected);

        // Test for bugID 4913711
        // ISO-2022-JP encoding of a single input char yields
        // 8 output bytes. Prior to fix for 4913711 the
        // max bytes per char value was underspecified as 5.0
        // and the code below would have thrown a BufferOverflow
        // exception. This test validates the fix for 4913711

        testStr = "\u3042";
        byte[] expected = { (byte)0x1b, (byte)0x24, (byte)0x42,
                            (byte)0x24, (byte)0x22, (byte)0x1b,
                            (byte)0x28, (byte)0x42 };
        byte[] encoded = testStr.getBytes("MS50221");
        for (int i = 0; i < expected.length; i++) {
            if (encoded[i] != expected[i])
               throw new Exception("MS50221 Decoder error");
        }
    }
}
