# *******************************************************************************
# * Copyright (C) 2000, International Business Machines
# * Corporation and others.  All Rights Reserved.
# *******************************************************************************
#
# test3.ucm
#
# Test file for MBCS conversion with three-byte codepage data.

<code_set_name>     "test3"
<mb_cur_max>        3
<mb_cur_min>        1
<uconv_class>       "MBCS"
<subchar>           \xff
<icu:state>         0, 1:1, 5-9
<icu:state>         2:2
<icu:state>         a-f.p

CHARMAP

# fromUnicode result is zero byte from other than U+0000
<U20ac>     \x00 |0

# nothing special
<U0005>     \x05 |0

# toUnicode result is fallback direct
<U0006>     \x06 |1

# toUnicode result is direct non-BMP code point
<U101234>   \x07 |0
<Ufebcd>    \x08 |1

#unassigned \x09

# toUnicode result is surrogate pair: test real pair, single unit, unassigned
<U23456>    \x01\x02\x0a |0
<U000b>     \x01\x02\x0b |0
#unassigned \x01\x02\x0c
<U34567>    \x01\x02\x0d |1
<U000e>     \x01\x02\x0e |1
#unassigned \x01\x02\x0f

END CHARMAP
