# unicode.test                                                 -*- tcl -*-
#
# Tests for the unicode package. This file is automatically generated by
# the gen_unicode_test.tcl script. Do not modify this file by hands.
#
# RCS: @(#) $Id: unicode.test,v 1.1 2008/01/29 02:18:10 patthoyts Exp $

# -------------------------------------------------------------------------

source [file join \
	[file dirname [file dirname [file join [pwd] [info script]]]] \
	devtools testutilities.tcl]

testsNeedTcl     8.3
testsNeedTcltest 1.0

testing {
    useLocalFile unicode_data.tcl
    useLocalFile unicode.tcl
}

# -------------------------------------------------------------------------


test unicode-1.1 {normalizeS D: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalizeS D "\u0044\u0307\u0323"
} "\u0044\u0323\u0307"

test unicode-1.2 {normalize D: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize D {7692 775}
} {68 803 775}

test unicode-1.3 {normalize D: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize D {68 803 775}
} {68 803 775}

test unicode-1.4 {normalize D: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize D {7692 775}
} {68 803 775}

test unicode-1.5 {normalize D: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize D {68 803 775}
} {68 803 775}


test unicode-1.6 {normalizeS D: NO-BREAK SPACE} {
    unicode::normalizeS D "\u00A0"
} "\u00A0"

test unicode-1.7 {normalize D: NO-BREAK SPACE} {
    unicode::normalize D 160
} {160}

test unicode-1.8 {normalize D: NO-BREAK SPACE} {
    unicode::normalize D 160
} {160}

test unicode-1.9 {normalize D: NO-BREAK SPACE} {
    unicode::normalize D 32
} {32}

test unicode-1.10 {normalize D: NO-BREAK SPACE} {
    unicode::normalize D 32
} {32}


test unicode-1.11 {normalizeS D: VULGAR FRACTION ONE HALF} {
    unicode::normalizeS D "\u00BD"
} "\u00BD"

test unicode-1.12 {normalize D: VULGAR FRACTION ONE HALF} {
    unicode::normalize D 189
} {189}

test unicode-1.13 {normalize D: VULGAR FRACTION ONE HALF} {
    unicode::normalize D 189
} {189}

test unicode-1.14 {normalize D: VULGAR FRACTION ONE HALF} {
    unicode::normalize D {49 8260 50}
} {49 8260 50}

test unicode-1.15 {normalize D: VULGAR FRACTION ONE HALF} {
    unicode::normalize D {49 8260 50}
} {49 8260 50}


test unicode-1.16 {normalizeS D: ORIYA LETTER RRA} {
    unicode::normalizeS D "\u0B5C"
} "\u0B21\u0B3C"

test unicode-1.17 {normalize D: ORIYA LETTER RRA} {
    unicode::normalize D {2849 2876}
} {2849 2876}

test unicode-1.18 {normalize D: ORIYA LETTER RRA} {
    unicode::normalize D {2849 2876}
} {2849 2876}

test unicode-1.19 {normalize D: ORIYA LETTER RRA} {
    unicode::normalize D {2849 2876}
} {2849 2876}

test unicode-1.20 {normalize D: ORIYA LETTER RRA} {
    unicode::normalize D {2849 2876}
} {2849 2876}


test unicode-1.21 {normalizeS D: KANNADA VOWEL SIGN EE} {
    unicode::normalizeS D "\u0CC7"
} "\u0CC6\u0CD5"

test unicode-1.22 {normalize D: KANNADA VOWEL SIGN EE} {
    unicode::normalize D 3271
} {3270 3285}

test unicode-1.23 {normalize D: KANNADA VOWEL SIGN EE} {
    unicode::normalize D {3270 3285}
} {3270 3285}

test unicode-1.24 {normalize D: KANNADA VOWEL SIGN EE} {
    unicode::normalize D 3271
} {3270 3285}

test unicode-1.25 {normalize D: KANNADA VOWEL SIGN EE} {
    unicode::normalize D {3270 3285}
} {3270 3285}


test unicode-1.26 {normalizeS D: TIBETAN LETTER GHA} {
    unicode::normalizeS D "\u0F43"
} "\u0F42\u0FB7"

test unicode-1.27 {normalize D: TIBETAN LETTER GHA} {
    unicode::normalize D {3906 4023}
} {3906 4023}

test unicode-1.28 {normalize D: TIBETAN LETTER GHA} {
    unicode::normalize D {3906 4023}
} {3906 4023}

test unicode-1.29 {normalize D: TIBETAN LETTER GHA} {
    unicode::normalize D {3906 4023}
} {3906 4023}

test unicode-1.30 {normalize D: TIBETAN LETTER GHA} {
    unicode::normalize D {3906 4023}
} {3906 4023}


test unicode-1.31 {normalizeS D: MODIFIER LETTER CAPITAL A} {
    unicode::normalizeS D "\u1D2C"
} "\u1D2C"

test unicode-1.32 {normalize D: MODIFIER LETTER CAPITAL A} {
    unicode::normalize D 7468
} {7468}

test unicode-1.33 {normalize D: MODIFIER LETTER CAPITAL A} {
    unicode::normalize D 7468
} {7468}

test unicode-1.34 {normalize D: MODIFIER LETTER CAPITAL A} {
    unicode::normalize D 65
} {65}

test unicode-1.35 {normalize D: MODIFIER LETTER CAPITAL A} {
    unicode::normalize D 65
} {65}


test unicode-1.36 {normalizeS D: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalizeS D "\u1F14"
} "\u03B5\u0313\u0301"

test unicode-1.37 {normalize D: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize D 7956
} {949 787 769}

test unicode-1.38 {normalize D: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize D {949 787 769}
} {949 787 769}

test unicode-1.39 {normalize D: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize D 7956
} {949 787 769}

test unicode-1.40 {normalize D: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize D {949 787 769}
} {949 787 769}


test unicode-1.41 {normalizeS D: KANGXI RADICAL SPROUT} {
    unicode::normalizeS D "\u2F2C"
} "\u2F2C"

test unicode-1.42 {normalize D: KANGXI RADICAL SPROUT} {
    unicode::normalize D 12076
} {12076}

test unicode-1.43 {normalize D: KANGXI RADICAL SPROUT} {
    unicode::normalize D 12076
} {12076}

test unicode-1.44 {normalize D: KANGXI RADICAL SPROUT} {
    unicode::normalize D 23662
} {23662}

test unicode-1.45 {normalize D: KANGXI RADICAL SPROUT} {
    unicode::normalize D 23662
} {23662}


test unicode-1.46 {normalizeS D: HIRAGANA LETTER DE} {
    unicode::normalizeS D "\u3067"
} "\u3066\u3099"

test unicode-1.47 {normalize D: HIRAGANA LETTER DE} {
    unicode::normalize D 12391
} {12390 12441}

test unicode-1.48 {normalize D: HIRAGANA LETTER DE} {
    unicode::normalize D {12390 12441}
} {12390 12441}

test unicode-1.49 {normalize D: HIRAGANA LETTER DE} {
    unicode::normalize D 12391
} {12390 12441}

test unicode-1.50 {normalize D: HIRAGANA LETTER DE} {
    unicode::normalize D {12390 12441}
} {12390 12441}


test unicode-1.51 {normalizeS D: KATAKANA LETTER PA} {
    unicode::normalizeS D "\u30D1"
} "\u30CF\u309A"

test unicode-1.52 {normalize D: KATAKANA LETTER PA} {
    unicode::normalize D 12497
} {12495 12442}

test unicode-1.53 {normalize D: KATAKANA LETTER PA} {
    unicode::normalize D {12495 12442}
} {12495 12442}

test unicode-1.54 {normalize D: KATAKANA LETTER PA} {
    unicode::normalize D 12497
} {12495 12442}

test unicode-1.55 {normalize D: KATAKANA LETTER PA} {
    unicode::normalize D {12495 12442}
} {12495 12442}


test unicode-1.56 {normalizeS D: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalizeS D "\u317D"
} "\u317D"

test unicode-1.57 {normalize D: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize D 12669
} {12669}

test unicode-1.58 {normalize D: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize D 12669
} {12669}

test unicode-1.59 {normalize D: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize D 4402
} {4402}

test unicode-1.60 {normalize D: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize D 4402
} {4402}


test unicode-1.61 {normalizeS D: HANGUL SYLLABLE GYANG} {
    unicode::normalizeS D "\uAC4D"
} "\u1100\u1163\u11BC"

test unicode-1.62 {normalize D: HANGUL SYLLABLE GYANG} {
    unicode::normalize D 44109
} {4352 4451 4540}

test unicode-1.63 {normalize D: HANGUL SYLLABLE GYANG} {
    unicode::normalize D {4352 4451 4540}
} {4352 4451 4540}

test unicode-1.64 {normalize D: HANGUL SYLLABLE GYANG} {
    unicode::normalize D 44109
} {4352 4451 4540}

test unicode-1.65 {normalize D: HANGUL SYLLABLE GYANG} {
    unicode::normalize D {4352 4451 4540}
} {4352 4451 4540}


test unicode-1.66 {normalizeS D: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalizeS D "\uF98E"
} "\u5E74"

test unicode-1.67 {normalize D: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize D 24180
} {24180}

test unicode-1.68 {normalize D: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize D 24180
} {24180}

test unicode-1.69 {normalize D: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize D 24180
} {24180}

test unicode-1.70 {normalize D: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize D 24180
} {24180}


test unicode-1.71 {normalizeS D: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalizeS D "\uFBAA"
} "\uFBAA"

test unicode-1.72 {normalize D: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize D 64426
} {64426}

test unicode-1.73 {normalize D: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize D 64426
} {64426}

test unicode-1.74 {normalize D: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize D 1726
} {1726}

test unicode-1.75 {normalize D: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize D 1726
} {1726}


test unicode-1.76 {normalizeS D: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalizeS D "\uFC29"
} "\uFC29"

test unicode-1.77 {normalize D: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize D 64553
} {64553}

test unicode-1.78 {normalize D: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize D 64553
} {64553}

test unicode-1.79 {normalize D: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize D {1593 1580}
} {1593 1580}

test unicode-1.80 {normalize D: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize D {1593 1580}
} {1593 1580}


test unicode-1.81 {normalizeS D: FULLWIDTH DIGIT THREE} {
    unicode::normalizeS D "\uFF13"
} "\uFF13"

test unicode-1.82 {normalize D: FULLWIDTH DIGIT THREE} {
    unicode::normalize D 65299
} {65299}

test unicode-1.83 {normalize D: FULLWIDTH DIGIT THREE} {
    unicode::normalize D 65299
} {65299}

test unicode-1.84 {normalize D: FULLWIDTH DIGIT THREE} {
    unicode::normalize D 51
} {51}

test unicode-1.85 {normalize D: FULLWIDTH DIGIT THREE} {
    unicode::normalize D 51
} {51}


test unicode-1.86 {normalizeS D: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalizeS D "\u0061\u0483\u0315\u0300\u05AE\u0062"
} "\u0061\u05AE\u0483\u0300\u0315\u0062"

test unicode-1.87 {normalize D: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize D {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}

test unicode-1.88 {normalize D: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize D {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}

test unicode-1.89 {normalize D: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize D {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}

test unicode-1.90 {normalize D: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize D {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}


test unicode-1.91 {normalizeS D: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalizeS D "\u0061\u093C\u0334\u20D8\u0062"
} "\u0061\u0334\u20D8\u093C\u0062"

test unicode-1.92 {normalize D: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize D {97 820 8408 2364 98}
} {97 820 8408 2364 98}

test unicode-1.93 {normalize D: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize D {97 820 8408 2364 98}
} {97 820 8408 2364 98}

test unicode-1.94 {normalize D: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize D {97 820 8408 2364 98}
} {97 820 8408 2364 98}

test unicode-1.95 {normalize D: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize D {97 820 8408 2364 98}
} {97 820 8408 2364 98}


test unicode-1.96 {normalizeS D: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalizeS D "\uBD64\u0334\u11AE"
} "\u1107\u116D\u0334\u11AE"

test unicode-1.97 {normalize D: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize D {48484 820 4526}
} {4359 4461 820 4526}

test unicode-1.98 {normalize D: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize D {4359 4461 820 4526}
} {4359 4461 820 4526}

test unicode-1.99 {normalize D: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize D {48484 820 4526}
} {4359 4461 820 4526}

test unicode-1.100 {normalize D: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize D {4359 4461 820 4526}
} {4359 4461 820 4526}


test unicode-2.1 {normalize C: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize C {68 775 803}
} {7692 775}

test unicode-2.2 {normalizeS C: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalizeS C "\u1E0C\u0307"
} "\u1E0C\u0307"

test unicode-2.3 {normalize C: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize C {68 803 775}
} {7692 775}

test unicode-2.4 {normalize C: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize C {7692 775}
} {7692 775}

test unicode-2.5 {normalize C: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize C {68 803 775}
} {7692 775}


test unicode-2.6 {normalize C: NO-BREAK SPACE} {
    unicode::normalize C 160
} {160}

test unicode-2.7 {normalizeS C: NO-BREAK SPACE} {
    unicode::normalizeS C "\u00A0"
} "\u00A0"

test unicode-2.8 {normalize C: NO-BREAK SPACE} {
    unicode::normalize C 160
} {160}

test unicode-2.9 {normalize C: NO-BREAK SPACE} {
    unicode::normalize C 32
} {32}

test unicode-2.10 {normalize C: NO-BREAK SPACE} {
    unicode::normalize C 32
} {32}


test unicode-2.11 {normalize C: VULGAR FRACTION ONE HALF} {
    unicode::normalize C 189
} {189}

test unicode-2.12 {normalizeS C: VULGAR FRACTION ONE HALF} {
    unicode::normalizeS C "\u00BD"
} "\u00BD"

test unicode-2.13 {normalize C: VULGAR FRACTION ONE HALF} {
    unicode::normalize C 189
} {189}

test unicode-2.14 {normalize C: VULGAR FRACTION ONE HALF} {
    unicode::normalize C {49 8260 50}
} {49 8260 50}

test unicode-2.15 {normalize C: VULGAR FRACTION ONE HALF} {
    unicode::normalize C {49 8260 50}
} {49 8260 50}


test unicode-2.16 {normalize C: ORIYA LETTER RRA} {
    unicode::normalize C 2908
} {2849 2876}

test unicode-2.17 {normalizeS C: ORIYA LETTER RRA} {
    unicode::normalizeS C "\u0B21\u0B3C"
} "\u0B21\u0B3C"

test unicode-2.18 {normalize C: ORIYA LETTER RRA} {
    unicode::normalize C {2849 2876}
} {2849 2876}

test unicode-2.19 {normalize C: ORIYA LETTER RRA} {
    unicode::normalize C {2849 2876}
} {2849 2876}

test unicode-2.20 {normalize C: ORIYA LETTER RRA} {
    unicode::normalize C {2849 2876}
} {2849 2876}


test unicode-2.21 {normalize C: KANNADA VOWEL SIGN EE} {
    unicode::normalize C 3271
} {3271}

test unicode-2.22 {normalizeS C: KANNADA VOWEL SIGN EE} {
    unicode::normalizeS C "\u0CC7"
} "\u0CC7"

test unicode-2.23 {normalize C: KANNADA VOWEL SIGN EE} {
    unicode::normalize C {3270 3285}
} {3271}

test unicode-2.24 {normalize C: KANNADA VOWEL SIGN EE} {
    unicode::normalize C 3271
} {3271}

test unicode-2.25 {normalize C: KANNADA VOWEL SIGN EE} {
    unicode::normalize C {3270 3285}
} {3271}


test unicode-2.26 {normalize C: TIBETAN LETTER GHA} {
    unicode::normalize C 3907
} {3906 4023}

test unicode-2.27 {normalizeS C: TIBETAN LETTER GHA} {
    unicode::normalizeS C "\u0F42\u0FB7"
} "\u0F42\u0FB7"

test unicode-2.28 {normalize C: TIBETAN LETTER GHA} {
    unicode::normalize C {3906 4023}
} {3906 4023}

test unicode-2.29 {normalize C: TIBETAN LETTER GHA} {
    unicode::normalize C {3906 4023}
} {3906 4023}

test unicode-2.30 {normalize C: TIBETAN LETTER GHA} {
    unicode::normalize C {3906 4023}
} {3906 4023}


test unicode-2.31 {normalize C: MODIFIER LETTER CAPITAL A} {
    unicode::normalize C 7468
} {7468}

test unicode-2.32 {normalizeS C: MODIFIER LETTER CAPITAL A} {
    unicode::normalizeS C "\u1D2C"
} "\u1D2C"

test unicode-2.33 {normalize C: MODIFIER LETTER CAPITAL A} {
    unicode::normalize C 7468
} {7468}

test unicode-2.34 {normalize C: MODIFIER LETTER CAPITAL A} {
    unicode::normalize C 65
} {65}

test unicode-2.35 {normalize C: MODIFIER LETTER CAPITAL A} {
    unicode::normalize C 65
} {65}


test unicode-2.36 {normalize C: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize C 7956
} {7956}

test unicode-2.37 {normalizeS C: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalizeS C "\u1F14"
} "\u1F14"

test unicode-2.38 {normalize C: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize C {949 787 769}
} {7956}

test unicode-2.39 {normalize C: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize C 7956
} {7956}

test unicode-2.40 {normalize C: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize C {949 787 769}
} {7956}


test unicode-2.41 {normalize C: KANGXI RADICAL SPROUT} {
    unicode::normalize C 12076
} {12076}

test unicode-2.42 {normalizeS C: KANGXI RADICAL SPROUT} {
    unicode::normalizeS C "\u2F2C"
} "\u2F2C"

test unicode-2.43 {normalize C: KANGXI RADICAL SPROUT} {
    unicode::normalize C 12076
} {12076}

test unicode-2.44 {normalize C: KANGXI RADICAL SPROUT} {
    unicode::normalize C 23662
} {23662}

test unicode-2.45 {normalize C: KANGXI RADICAL SPROUT} {
    unicode::normalize C 23662
} {23662}


test unicode-2.46 {normalize C: HIRAGANA LETTER DE} {
    unicode::normalize C 12391
} {12391}

test unicode-2.47 {normalizeS C: HIRAGANA LETTER DE} {
    unicode::normalizeS C "\u3067"
} "\u3067"

test unicode-2.48 {normalize C: HIRAGANA LETTER DE} {
    unicode::normalize C {12390 12441}
} {12391}

test unicode-2.49 {normalize C: HIRAGANA LETTER DE} {
    unicode::normalize C 12391
} {12391}

test unicode-2.50 {normalize C: HIRAGANA LETTER DE} {
    unicode::normalize C {12390 12441}
} {12391}


test unicode-2.51 {normalize C: KATAKANA LETTER PA} {
    unicode::normalize C 12497
} {12497}

test unicode-2.52 {normalizeS C: KATAKANA LETTER PA} {
    unicode::normalizeS C "\u30D1"
} "\u30D1"

test unicode-2.53 {normalize C: KATAKANA LETTER PA} {
    unicode::normalize C {12495 12442}
} {12497}

test unicode-2.54 {normalize C: KATAKANA LETTER PA} {
    unicode::normalize C 12497
} {12497}

test unicode-2.55 {normalize C: KATAKANA LETTER PA} {
    unicode::normalize C {12495 12442}
} {12497}


test unicode-2.56 {normalize C: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize C 12669
} {12669}

test unicode-2.57 {normalizeS C: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalizeS C "\u317D"
} "\u317D"

test unicode-2.58 {normalize C: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize C 12669
} {12669}

test unicode-2.59 {normalize C: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize C 4402
} {4402}

test unicode-2.60 {normalize C: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize C 4402
} {4402}


test unicode-2.61 {normalize C: HANGUL SYLLABLE GYANG} {
    unicode::normalize C 44109
} {44109}

test unicode-2.62 {normalizeS C: HANGUL SYLLABLE GYANG} {
    unicode::normalizeS C "\uAC4D"
} "\uAC4D"

test unicode-2.63 {normalize C: HANGUL SYLLABLE GYANG} {
    unicode::normalize C {4352 4451 4540}
} {44109}

test unicode-2.64 {normalize C: HANGUL SYLLABLE GYANG} {
    unicode::normalize C 44109
} {44109}

test unicode-2.65 {normalize C: HANGUL SYLLABLE GYANG} {
    unicode::normalize C {4352 4451 4540}
} {44109}


test unicode-2.66 {normalize C: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize C 63886
} {24180}

test unicode-2.67 {normalizeS C: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalizeS C "\u5E74"
} "\u5E74"

test unicode-2.68 {normalize C: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize C 24180
} {24180}

test unicode-2.69 {normalize C: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize C 24180
} {24180}

test unicode-2.70 {normalize C: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize C 24180
} {24180}


test unicode-2.71 {normalize C: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize C 64426
} {64426}

test unicode-2.72 {normalizeS C: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalizeS C "\uFBAA"
} "\uFBAA"

test unicode-2.73 {normalize C: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize C 64426
} {64426}

test unicode-2.74 {normalize C: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize C 1726
} {1726}

test unicode-2.75 {normalize C: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize C 1726
} {1726}


test unicode-2.76 {normalize C: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize C 64553
} {64553}

test unicode-2.77 {normalizeS C: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalizeS C "\uFC29"
} "\uFC29"

test unicode-2.78 {normalize C: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize C 64553
} {64553}

test unicode-2.79 {normalize C: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize C {1593 1580}
} {1593 1580}

test unicode-2.80 {normalize C: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize C {1593 1580}
} {1593 1580}


test unicode-2.81 {normalize C: FULLWIDTH DIGIT THREE} {
    unicode::normalize C 65299
} {65299}

test unicode-2.82 {normalizeS C: FULLWIDTH DIGIT THREE} {
    unicode::normalizeS C "\uFF13"
} "\uFF13"

test unicode-2.83 {normalize C: FULLWIDTH DIGIT THREE} {
    unicode::normalize C 65299
} {65299}

test unicode-2.84 {normalize C: FULLWIDTH DIGIT THREE} {
    unicode::normalize C 51
} {51}

test unicode-2.85 {normalize C: FULLWIDTH DIGIT THREE} {
    unicode::normalize C 51
} {51}


test unicode-2.86 {normalize C: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize C {97 1155 789 768 1454 98}
} {97 1454 1155 768 789 98}

test unicode-2.87 {normalizeS C: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalizeS C "\u0061\u05AE\u0483\u0300\u0315\u0062"
} "\u0061\u05AE\u0483\u0300\u0315\u0062"

test unicode-2.88 {normalize C: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize C {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}

test unicode-2.89 {normalize C: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize C {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}

test unicode-2.90 {normalize C: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize C {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}


test unicode-2.91 {normalize C: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize C {97 2364 820 8408 98}
} {97 820 8408 2364 98}

test unicode-2.92 {normalizeS C: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalizeS C "\u0061\u0334\u20D8\u093C\u0062"
} "\u0061\u0334\u20D8\u093C\u0062"

test unicode-2.93 {normalize C: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize C {97 820 8408 2364 98}
} {97 820 8408 2364 98}

test unicode-2.94 {normalize C: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize C {97 820 8408 2364 98}
} {97 820 8408 2364 98}

test unicode-2.95 {normalize C: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize C {97 820 8408 2364 98}
} {97 820 8408 2364 98}


test unicode-2.96 {normalize C: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize C {48484 820 4526}
} {48484 820 4526}

test unicode-2.97 {normalizeS C: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalizeS C "\uBD64\u0334\u11AE"
} "\uBD64\u0334\u11AE"

test unicode-2.98 {normalize C: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize C {4359 4461 820 4526}
} {48484 820 4526}

test unicode-2.99 {normalize C: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize C {48484 820 4526}
} {48484 820 4526}

test unicode-2.100 {normalize C: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize C {4359 4461 820 4526}
} {48484 820 4526}


test unicode-3.1 {normalize KD: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize KD {68 775 803}
} {68 803 775}

test unicode-3.2 {normalize KD: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize KD {7692 775}
} {68 803 775}

test unicode-3.3 {normalizeS KD: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalizeS KD "\u0044\u0323\u0307"
} "\u0044\u0323\u0307"

test unicode-3.4 {normalize KD: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize KD {7692 775}
} {68 803 775}

test unicode-1.5 {normalize KD: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize KD {68 803 775}
} {68 803 775}


test unicode-3.6 {normalize KD: NO-BREAK SPACE} {
    unicode::normalize KD 160
} {32}

test unicode-3.7 {normalize KD: NO-BREAK SPACE} {
    unicode::normalize KD 160
} {32}

test unicode-3.8 {normalizeS KD: NO-BREAK SPACE} {
    unicode::normalizeS KD "\u00A0"
} "\u0020"

test unicode-3.9 {normalize KD: NO-BREAK SPACE} {
    unicode::normalize KD 32
} {32}

test unicode-1.10 {normalize KD: NO-BREAK SPACE} {
    unicode::normalize KD 32
} {32}


test unicode-3.11 {normalize KD: VULGAR FRACTION ONE HALF} {
    unicode::normalize KD 189
} {49 8260 50}

test unicode-3.12 {normalize KD: VULGAR FRACTION ONE HALF} {
    unicode::normalize KD 189
} {49 8260 50}

test unicode-3.13 {normalizeS KD: VULGAR FRACTION ONE HALF} {
    unicode::normalizeS KD "\u00BD"
} "\u0031\u2044\u0032"

test unicode-3.14 {normalize KD: VULGAR FRACTION ONE HALF} {
    unicode::normalize KD {49 8260 50}
} {49 8260 50}

test unicode-1.15 {normalize KD: VULGAR FRACTION ONE HALF} {
    unicode::normalize KD {49 8260 50}
} {49 8260 50}


test unicode-3.16 {normalize KD: ORIYA LETTER RRA} {
    unicode::normalize KD 2908
} {2849 2876}

test unicode-3.17 {normalize KD: ORIYA LETTER RRA} {
    unicode::normalize KD {2849 2876}
} {2849 2876}

test unicode-3.18 {normalizeS KD: ORIYA LETTER RRA} {
    unicode::normalizeS KD "\u0B21\u0B3C"
} "\u0B21\u0B3C"

test unicode-3.19 {normalize KD: ORIYA LETTER RRA} {
    unicode::normalize KD {2849 2876}
} {2849 2876}

test unicode-1.20 {normalize KD: ORIYA LETTER RRA} {
    unicode::normalize KD {2849 2876}
} {2849 2876}


test unicode-3.21 {normalize KD: KANNADA VOWEL SIGN EE} {
    unicode::normalize KD 3271
} {3270 3285}

test unicode-3.22 {normalize KD: KANNADA VOWEL SIGN EE} {
    unicode::normalize KD 3271
} {3270 3285}

test unicode-3.23 {normalizeS KD: KANNADA VOWEL SIGN EE} {
    unicode::normalizeS KD "\u0CC6\u0CD5"
} "\u0CC6\u0CD5"

test unicode-3.24 {normalize KD: KANNADA VOWEL SIGN EE} {
    unicode::normalize KD 3271
} {3270 3285}

test unicode-1.25 {normalize KD: KANNADA VOWEL SIGN EE} {
    unicode::normalize KD {3270 3285}
} {3270 3285}


test unicode-3.26 {normalize KD: TIBETAN LETTER GHA} {
    unicode::normalize KD 3907
} {3906 4023}

test unicode-3.27 {normalize KD: TIBETAN LETTER GHA} {
    unicode::normalize KD {3906 4023}
} {3906 4023}

test unicode-3.28 {normalizeS KD: TIBETAN LETTER GHA} {
    unicode::normalizeS KD "\u0F42\u0FB7"
} "\u0F42\u0FB7"

test unicode-3.29 {normalize KD: TIBETAN LETTER GHA} {
    unicode::normalize KD {3906 4023}
} {3906 4023}

test unicode-1.30 {normalize KD: TIBETAN LETTER GHA} {
    unicode::normalize KD {3906 4023}
} {3906 4023}


test unicode-3.31 {normalize KD: MODIFIER LETTER CAPITAL A} {
    unicode::normalize KD 7468
} {65}

test unicode-3.32 {normalize KD: MODIFIER LETTER CAPITAL A} {
    unicode::normalize KD 7468
} {65}

test unicode-3.33 {normalizeS KD: MODIFIER LETTER CAPITAL A} {
    unicode::normalizeS KD "\u1D2C"
} "\u0041"

test unicode-3.34 {normalize KD: MODIFIER LETTER CAPITAL A} {
    unicode::normalize KD 65
} {65}

test unicode-1.35 {normalize KD: MODIFIER LETTER CAPITAL A} {
    unicode::normalize KD 65
} {65}


test unicode-3.36 {normalize KD: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize KD 7956
} {949 787 769}

test unicode-3.37 {normalize KD: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize KD 7956
} {949 787 769}

test unicode-3.38 {normalizeS KD: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalizeS KD "\u03B5\u0313\u0301"
} "\u03B5\u0313\u0301"

test unicode-3.39 {normalize KD: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize KD 7956
} {949 787 769}

test unicode-1.40 {normalize KD: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize KD {949 787 769}
} {949 787 769}


test unicode-3.41 {normalize KD: KANGXI RADICAL SPROUT} {
    unicode::normalize KD 12076
} {23662}

test unicode-3.42 {normalize KD: KANGXI RADICAL SPROUT} {
    unicode::normalize KD 12076
} {23662}

test unicode-3.43 {normalizeS KD: KANGXI RADICAL SPROUT} {
    unicode::normalizeS KD "\u2F2C"
} "\u5C6E"

test unicode-3.44 {normalize KD: KANGXI RADICAL SPROUT} {
    unicode::normalize KD 23662
} {23662}

test unicode-1.45 {normalize KD: KANGXI RADICAL SPROUT} {
    unicode::normalize KD 23662
} {23662}


test unicode-3.46 {normalize KD: HIRAGANA LETTER DE} {
    unicode::normalize KD 12391
} {12390 12441}

test unicode-3.47 {normalize KD: HIRAGANA LETTER DE} {
    unicode::normalize KD 12391
} {12390 12441}

test unicode-3.48 {normalizeS KD: HIRAGANA LETTER DE} {
    unicode::normalizeS KD "\u3066\u3099"
} "\u3066\u3099"

test unicode-3.49 {normalize KD: HIRAGANA LETTER DE} {
    unicode::normalize KD 12391
} {12390 12441}

test unicode-1.50 {normalize KD: HIRAGANA LETTER DE} {
    unicode::normalize KD {12390 12441}
} {12390 12441}


test unicode-3.51 {normalize KD: KATAKANA LETTER PA} {
    unicode::normalize KD 12497
} {12495 12442}

test unicode-3.52 {normalize KD: KATAKANA LETTER PA} {
    unicode::normalize KD 12497
} {12495 12442}

test unicode-3.53 {normalizeS KD: KATAKANA LETTER PA} {
    unicode::normalizeS KD "\u30CF\u309A"
} "\u30CF\u309A"

test unicode-3.54 {normalize KD: KATAKANA LETTER PA} {
    unicode::normalize KD 12497
} {12495 12442}

test unicode-1.55 {normalize KD: KATAKANA LETTER PA} {
    unicode::normalize KD {12495 12442}
} {12495 12442}


test unicode-3.56 {normalize KD: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize KD 12669
} {4402}

test unicode-3.57 {normalize KD: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize KD 12669
} {4402}

test unicode-3.58 {normalizeS KD: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalizeS KD "\u317D"
} "\u1132"

test unicode-3.59 {normalize KD: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize KD 4402
} {4402}

test unicode-1.60 {normalize KD: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize KD 4402
} {4402}


test unicode-3.61 {normalize KD: HANGUL SYLLABLE GYANG} {
    unicode::normalize KD 44109
} {4352 4451 4540}

test unicode-3.62 {normalize KD: HANGUL SYLLABLE GYANG} {
    unicode::normalize KD 44109
} {4352 4451 4540}

test unicode-3.63 {normalizeS KD: HANGUL SYLLABLE GYANG} {
    unicode::normalizeS KD "\u1100\u1163\u11BC"
} "\u1100\u1163\u11BC"

test unicode-3.64 {normalize KD: HANGUL SYLLABLE GYANG} {
    unicode::normalize KD 44109
} {4352 4451 4540}

test unicode-1.65 {normalize KD: HANGUL SYLLABLE GYANG} {
    unicode::normalize KD {4352 4451 4540}
} {4352 4451 4540}


test unicode-3.66 {normalize KD: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize KD 63886
} {24180}

test unicode-3.67 {normalize KD: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize KD 24180
} {24180}

test unicode-3.68 {normalizeS KD: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalizeS KD "\u5E74"
} "\u5E74"

test unicode-3.69 {normalize KD: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize KD 24180
} {24180}

test unicode-1.70 {normalize KD: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize KD 24180
} {24180}


test unicode-3.71 {normalize KD: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize KD 64426
} {1726}

test unicode-3.72 {normalize KD: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize KD 64426
} {1726}

test unicode-3.73 {normalizeS KD: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalizeS KD "\uFBAA"
} "\u06BE"

test unicode-3.74 {normalize KD: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize KD 1726
} {1726}

test unicode-1.75 {normalize KD: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize KD 1726
} {1726}


test unicode-3.76 {normalize KD: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize KD 64553
} {1593 1580}

test unicode-3.77 {normalize KD: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize KD 64553
} {1593 1580}

test unicode-3.78 {normalizeS KD: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalizeS KD "\uFC29"
} "\u0639\u062C"

test unicode-3.79 {normalize KD: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize KD {1593 1580}
} {1593 1580}

test unicode-1.80 {normalize KD: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize KD {1593 1580}
} {1593 1580}


test unicode-3.81 {normalize KD: FULLWIDTH DIGIT THREE} {
    unicode::normalize KD 65299
} {51}

test unicode-3.82 {normalize KD: FULLWIDTH DIGIT THREE} {
    unicode::normalize KD 65299
} {51}

test unicode-3.83 {normalizeS KD: FULLWIDTH DIGIT THREE} {
    unicode::normalizeS KD "\uFF13"
} "\u0033"

test unicode-3.84 {normalize KD: FULLWIDTH DIGIT THREE} {
    unicode::normalize KD 51
} {51}

test unicode-1.85 {normalize KD: FULLWIDTH DIGIT THREE} {
    unicode::normalize KD 51
} {51}


test unicode-3.86 {normalize KD: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize KD {97 1155 789 768 1454 98}
} {97 1454 1155 768 789 98}

test unicode-3.87 {normalize KD: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize KD {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}

test unicode-3.88 {normalizeS KD: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalizeS KD "\u0061\u05AE\u0483\u0300\u0315\u0062"
} "\u0061\u05AE\u0483\u0300\u0315\u0062"

test unicode-3.89 {normalize KD: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize KD {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}

test unicode-1.90 {normalize KD: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize KD {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}


test unicode-3.91 {normalize KD: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize KD {97 2364 820 8408 98}
} {97 820 8408 2364 98}

test unicode-3.92 {normalize KD: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize KD {97 820 8408 2364 98}
} {97 820 8408 2364 98}

test unicode-3.93 {normalizeS KD: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalizeS KD "\u0061\u0334\u20D8\u093C\u0062"
} "\u0061\u0334\u20D8\u093C\u0062"

test unicode-3.94 {normalize KD: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize KD {97 820 8408 2364 98}
} {97 820 8408 2364 98}

test unicode-1.95 {normalize KD: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize KD {97 820 8408 2364 98}
} {97 820 8408 2364 98}


test unicode-3.96 {normalize KD: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize KD {48484 820 4526}
} {4359 4461 820 4526}

test unicode-3.97 {normalize KD: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize KD {48484 820 4526}
} {4359 4461 820 4526}

test unicode-3.98 {normalizeS KD: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalizeS KD "\u1107\u116D\u0334\u11AE"
} "\u1107\u116D\u0334\u11AE"

test unicode-3.99 {normalize KD: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize KD {48484 820 4526}
} {4359 4461 820 4526}

test unicode-1.100 {normalize KD: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize KD {4359 4461 820 4526}
} {4359 4461 820 4526}


test unicode-4.1 {normalize KC: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize KC {68 775 803}
} {7692 775}

test unicode-4.2 {normalize KC: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize KC {7692 775}
} {7692 775}

test unicode-4.3 {normalize KC: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize KC {68 803 775}
} {7692 775}

test unicode-4.4 {normalizeS KC: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalizeS KC "\u1E0C\u0307"
} "\u1E0C\u0307"

test unicode-4.5 {normalize KC: LATIN CAPITAL LETTER D, COMBINING DOT ABOVE, COMBINING DOT BELOW} {
    unicode::normalize KC {68 803 775}
} {7692 775}


test unicode-4.6 {normalize KC: NO-BREAK SPACE} {
    unicode::normalize KC 160
} {32}

test unicode-4.7 {normalize KC: NO-BREAK SPACE} {
    unicode::normalize KC 160
} {32}

test unicode-4.8 {normalize KC: NO-BREAK SPACE} {
    unicode::normalize KC 160
} {32}

test unicode-4.9 {normalizeS KC: NO-BREAK SPACE} {
    unicode::normalizeS KC "\u0020"
} "\u0020"

test unicode-4.10 {normalize KC: NO-BREAK SPACE} {
    unicode::normalize KC 32
} {32}


test unicode-4.11 {normalize KC: VULGAR FRACTION ONE HALF} {
    unicode::normalize KC 189
} {49 8260 50}

test unicode-4.12 {normalize KC: VULGAR FRACTION ONE HALF} {
    unicode::normalize KC 189
} {49 8260 50}

test unicode-4.13 {normalize KC: VULGAR FRACTION ONE HALF} {
    unicode::normalize KC 189
} {49 8260 50}

test unicode-4.14 {normalizeS KC: VULGAR FRACTION ONE HALF} {
    unicode::normalizeS KC "\u0031\u2044\u0032"
} "\u0031\u2044\u0032"

test unicode-4.15 {normalize KC: VULGAR FRACTION ONE HALF} {
    unicode::normalize KC {49 8260 50}
} {49 8260 50}


test unicode-4.16 {normalize KC: ORIYA LETTER RRA} {
    unicode::normalize KC 2908
} {2849 2876}

test unicode-4.17 {normalize KC: ORIYA LETTER RRA} {
    unicode::normalize KC {2849 2876}
} {2849 2876}

test unicode-4.18 {normalize KC: ORIYA LETTER RRA} {
    unicode::normalize KC {2849 2876}
} {2849 2876}

test unicode-4.19 {normalizeS KC: ORIYA LETTER RRA} {
    unicode::normalizeS KC "\u0B21\u0B3C"
} "\u0B21\u0B3C"

test unicode-4.20 {normalize KC: ORIYA LETTER RRA} {
    unicode::normalize KC {2849 2876}
} {2849 2876}


test unicode-4.21 {normalize KC: KANNADA VOWEL SIGN EE} {
    unicode::normalize KC 3271
} {3271}

test unicode-4.22 {normalize KC: KANNADA VOWEL SIGN EE} {
    unicode::normalize KC 3271
} {3271}

test unicode-4.23 {normalize KC: KANNADA VOWEL SIGN EE} {
    unicode::normalize KC {3270 3285}
} {3271}

test unicode-4.24 {normalizeS KC: KANNADA VOWEL SIGN EE} {
    unicode::normalizeS KC "\u0CC7"
} "\u0CC7"

test unicode-4.25 {normalize KC: KANNADA VOWEL SIGN EE} {
    unicode::normalize KC {3270 3285}
} {3271}


test unicode-4.26 {normalize KC: TIBETAN LETTER GHA} {
    unicode::normalize KC 3907
} {3906 4023}

test unicode-4.27 {normalize KC: TIBETAN LETTER GHA} {
    unicode::normalize KC {3906 4023}
} {3906 4023}

test unicode-4.28 {normalize KC: TIBETAN LETTER GHA} {
    unicode::normalize KC {3906 4023}
} {3906 4023}

test unicode-4.29 {normalizeS KC: TIBETAN LETTER GHA} {
    unicode::normalizeS KC "\u0F42\u0FB7"
} "\u0F42\u0FB7"

test unicode-4.30 {normalize KC: TIBETAN LETTER GHA} {
    unicode::normalize KC {3906 4023}
} {3906 4023}


test unicode-4.31 {normalize KC: MODIFIER LETTER CAPITAL A} {
    unicode::normalize KC 7468
} {65}

test unicode-4.32 {normalize KC: MODIFIER LETTER CAPITAL A} {
    unicode::normalize KC 7468
} {65}

test unicode-4.33 {normalize KC: MODIFIER LETTER CAPITAL A} {
    unicode::normalize KC 7468
} {65}

test unicode-4.34 {normalizeS KC: MODIFIER LETTER CAPITAL A} {
    unicode::normalizeS KC "\u0041"
} "\u0041"

test unicode-4.35 {normalize KC: MODIFIER LETTER CAPITAL A} {
    unicode::normalize KC 65
} {65}


test unicode-4.36 {normalize KC: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize KC 7956
} {7956}

test unicode-4.37 {normalize KC: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize KC 7956
} {7956}

test unicode-4.38 {normalize KC: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize KC {949 787 769}
} {7956}

test unicode-4.39 {normalizeS KC: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalizeS KC "\u1F14"
} "\u1F14"

test unicode-4.40 {normalize KC: GREEK SMALL LETTER EPSILON WITH PSILI AND OXIA} {
    unicode::normalize KC {949 787 769}
} {7956}


test unicode-4.41 {normalize KC: KANGXI RADICAL SPROUT} {
    unicode::normalize KC 12076
} {23662}

test unicode-4.42 {normalize KC: KANGXI RADICAL SPROUT} {
    unicode::normalize KC 12076
} {23662}

test unicode-4.43 {normalize KC: KANGXI RADICAL SPROUT} {
    unicode::normalize KC 12076
} {23662}

test unicode-4.44 {normalizeS KC: KANGXI RADICAL SPROUT} {
    unicode::normalizeS KC "\u5C6E"
} "\u5C6E"

test unicode-4.45 {normalize KC: KANGXI RADICAL SPROUT} {
    unicode::normalize KC 23662
} {23662}


test unicode-4.46 {normalize KC: HIRAGANA LETTER DE} {
    unicode::normalize KC 12391
} {12391}

test unicode-4.47 {normalize KC: HIRAGANA LETTER DE} {
    unicode::normalize KC 12391
} {12391}

test unicode-4.48 {normalize KC: HIRAGANA LETTER DE} {
    unicode::normalize KC {12390 12441}
} {12391}

test unicode-4.49 {normalizeS KC: HIRAGANA LETTER DE} {
    unicode::normalizeS KC "\u3067"
} "\u3067"

test unicode-4.50 {normalize KC: HIRAGANA LETTER DE} {
    unicode::normalize KC {12390 12441}
} {12391}


test unicode-4.51 {normalize KC: KATAKANA LETTER PA} {
    unicode::normalize KC 12497
} {12497}

test unicode-4.52 {normalize KC: KATAKANA LETTER PA} {
    unicode::normalize KC 12497
} {12497}

test unicode-4.53 {normalize KC: KATAKANA LETTER PA} {
    unicode::normalize KC {12495 12442}
} {12497}

test unicode-4.54 {normalizeS KC: KATAKANA LETTER PA} {
    unicode::normalizeS KC "\u30D1"
} "\u30D1"

test unicode-4.55 {normalize KC: KATAKANA LETTER PA} {
    unicode::normalize KC {12495 12442}
} {12497}


test unicode-4.56 {normalize KC: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize KC 12669
} {4402}

test unicode-4.57 {normalize KC: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize KC 12669
} {4402}

test unicode-4.58 {normalize KC: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize KC 12669
} {4402}

test unicode-4.59 {normalizeS KC: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalizeS KC "\u1132"
} "\u1132"

test unicode-4.60 {normalize KC: HANGUL LETTER SIOS-PIEUP} {
    unicode::normalize KC 4402
} {4402}


test unicode-4.61 {normalize KC: HANGUL SYLLABLE GYANG} {
    unicode::normalize KC 44109
} {44109}

test unicode-4.62 {normalize KC: HANGUL SYLLABLE GYANG} {
    unicode::normalize KC 44109
} {44109}

test unicode-4.63 {normalize KC: HANGUL SYLLABLE GYANG} {
    unicode::normalize KC {4352 4451 4540}
} {44109}

test unicode-4.64 {normalizeS KC: HANGUL SYLLABLE GYANG} {
    unicode::normalizeS KC "\uAC4D"
} "\uAC4D"

test unicode-4.65 {normalize KC: HANGUL SYLLABLE GYANG} {
    unicode::normalize KC {4352 4451 4540}
} {44109}


test unicode-4.66 {normalize KC: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize KC 63886
} {24180}

test unicode-4.67 {normalize KC: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize KC 24180
} {24180}

test unicode-4.68 {normalize KC: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize KC 24180
} {24180}

test unicode-4.69 {normalizeS KC: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalizeS KC "\u5E74"
} "\u5E74"

test unicode-4.70 {normalize KC: CJK COMPATIBILITY IDEOGRAPH-F98E} {
    unicode::normalize KC 24180
} {24180}


test unicode-4.71 {normalize KC: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize KC 64426
} {1726}

test unicode-4.72 {normalize KC: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize KC 64426
} {1726}

test unicode-4.73 {normalize KC: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize KC 64426
} {1726}

test unicode-4.74 {normalizeS KC: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalizeS KC "\u06BE"
} "\u06BE"

test unicode-4.75 {normalize KC: ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM} {
    unicode::normalize KC 1726
} {1726}


test unicode-4.76 {normalize KC: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize KC 64553
} {1593 1580}

test unicode-4.77 {normalize KC: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize KC 64553
} {1593 1580}

test unicode-4.78 {normalize KC: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize KC 64553
} {1593 1580}

test unicode-4.79 {normalizeS KC: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalizeS KC "\u0639\u062C"
} "\u0639\u062C"

test unicode-4.80 {normalize KC: ARABIC LIGATURE AIN WITH JEEM ISOLATED FORM} {
    unicode::normalize KC {1593 1580}
} {1593 1580}


test unicode-4.81 {normalize KC: FULLWIDTH DIGIT THREE} {
    unicode::normalize KC 65299
} {51}

test unicode-4.82 {normalize KC: FULLWIDTH DIGIT THREE} {
    unicode::normalize KC 65299
} {51}

test unicode-4.83 {normalize KC: FULLWIDTH DIGIT THREE} {
    unicode::normalize KC 65299
} {51}

test unicode-4.84 {normalizeS KC: FULLWIDTH DIGIT THREE} {
    unicode::normalizeS KC "\u0033"
} "\u0033"

test unicode-4.85 {normalize KC: FULLWIDTH DIGIT THREE} {
    unicode::normalize KC 51
} {51}


test unicode-4.86 {normalize KC: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize KC {97 1155 789 768 1454 98}
} {97 1454 1155 768 789 98}

test unicode-4.87 {normalize KC: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize KC {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}

test unicode-4.88 {normalize KC: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize KC {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}

test unicode-4.89 {normalizeS KC: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalizeS KC "\u0061\u05AE\u0483\u0300\u0315\u0062"
} "\u0061\u05AE\u0483\u0300\u0315\u0062"

test unicode-4.90 {normalize KC: LATIN SMALL LETTER A, COMBINING CYRILLIC TITLO, COMBINING COMMA ABOVE RIGHT, COMBINING GRAVE ACCENT, HEBREW ACCENT ZINOR, LATIN SMALL LETTER B} {
    unicode::normalize KC {97 1454 1155 768 789 98}
} {97 1454 1155 768 789 98}


test unicode-4.91 {normalize KC: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize KC {97 2364 820 8408 98}
} {97 820 8408 2364 98}

test unicode-4.92 {normalize KC: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize KC {97 820 8408 2364 98}
} {97 820 8408 2364 98}

test unicode-4.93 {normalize KC: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize KC {97 820 8408 2364 98}
} {97 820 8408 2364 98}

test unicode-4.94 {normalizeS KC: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalizeS KC "\u0061\u0334\u20D8\u093C\u0062"
} "\u0061\u0334\u20D8\u093C\u0062"

test unicode-4.95 {normalize KC: LATIN SMALL LETTER A, DEVANAGARI SIGN NUKTA, COMBINING TILDE OVERLAY, COMBINING RING OVERLAY, LATIN SMALL LETTER B} {
    unicode::normalize KC {97 820 8408 2364 98}
} {97 820 8408 2364 98}


test unicode-4.96 {normalize KC: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize KC {48484 820 4526}
} {48484 820 4526}

test unicode-4.97 {normalize KC: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize KC {48484 820 4526}
} {48484 820 4526}

test unicode-4.98 {normalize KC: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize KC {4359 4461 820 4526}
} {48484 820 4526}

test unicode-4.99 {normalizeS KC: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalizeS KC "\uBD64\u0334\u11AE"
} "\uBD64\u0334\u11AE"

test unicode-4.100 {normalize KC: HANGUL SYLLABLE BYO, COMBINING TILDE OVERLAY, HANGUL JONGSEONG TIKEUT} {
    unicode::normalize KC {4359 4461 820 4526}
} {48484 820 4526}


test unicode-5.1 {fromstring} {
    unicode::fromstring "\u0403\u0405\u0406\u041f\u0034"
} {1027 1029 1030 1055 52}

test unicode-5.2 {fromstring} {
    unicode::fromstring "\u0001\u0002\u0003\u0004\u0005\u0006\u0007\u0008\u0009\u000a\u000b\u000c\u000d"
} {1 2 3 4 5 6 7 8 9 10 11 12 13}

test unicode-6.1 {tostring} {
    unicode::tostring {16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1}
} "\u0010\u000f\u000e\u000d\u000c\u000b\u000a\u0009\u0008\u0007\u0006\u0005\u0004\u0003\u0002\u0001"

test unicode-6.2 {tostring} {
    unicode::tostring {12345 12346 12347 12348 12349 12350 12351}
} "\u3039\u303a\u303b\u303c\u303d\u303e\u303f"

test unicode-7.1 {normalize bad form} {
    catch {unicode::normalize S ""} result
    set result
} "::unicode::normalize: Only D, C, KD and KC forms are allowed"

test unicode-8.1 {normalizeS bad form} {
    catch {unicode::normalizeS S ""} result
    set result
} "::unicode::normalizeS: Only D, C, KD and KC forms are allowed"

::tcltest::cleanupTests

