diff options
author | dgp <dgp@users.sourceforge.net> | 2020-04-27 15:22:50 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2020-04-27 15:22:50 (GMT) |
commit | d8bf58441d9b2524203ed2892042d35102c61ff0 (patch) | |
tree | 8fae53d855a18756f42430eb6057a5a0f1bc9e36 /tests | |
parent | b1d47f7bfb156ff7692c3f50c29633642d30c0bc (diff) | |
download | tcl-d8bf58441d9b2524203ed2892042d35102c61ff0.zip tcl-d8bf58441d9b2524203ed2892042d35102c61ff0.tar.gz tcl-d8bf58441d9b2524203ed2892042d35102c61ff0.tar.bz2 |
test reconciliation
Diffstat (limited to 'tests')
-rw-r--r-- | tests/utf.test | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/tests/utf.test b/tests/utf.test index 7c4831b..b7d4b14 100644 --- a/tests/utf.test +++ b/tests/utf.test @@ -22,6 +22,7 @@ testConstraint ucs4 [expr {[testConstraint fullutf] && [string length [format %c 0x10000]] == 1}] testConstraint Uesc [eq \U0041 A] +testConstraint pre388 [eq \x741 A] testConstraint pairsTo4bytes [expr {[llength [info commands teststringbytes]] && [string length [teststringbytes \uD83D\uDCA9]] == 4}] @@ -981,15 +982,22 @@ test utf-10.4 {Tcl_UtfBackslash: stops at first non-hex} testbytestring { test utf-10.5 {Tcl_UtfBackslash: stops after 4 hex chars} testbytestring { expr {"\u4E216" eq "[testbytestring \xE4\xB8\xA1]6"} } 1 -proc bsCheck {char num} { +test utf-10.6 {Tcl_UtfBackslash: stops after 5 hex chars} {Uesc testbytestring} { + expr {"\U1E2165" eq "[testbytestring \xF0\x9E\x88\x96]5"} +} 1 +test utf-10.7 {Tcl_UtfBackslash: stops after 6 hex chars} {Uesc testbytestring} { + expr {"\U10E2165" eq "[testbytestring \xF4\x8E\x88\x96]5"} +} 1 + +proc bsCheck {char num {constraints {}}} { global errNum - test utf-10.$errNum {backslash substitution} { + test utf-10.$errNum {backslash substitution} $constraints { scan $char %c value set value } $num incr errNum } -set errNum 6 +set errNum 8 bsCheck \b 8 bsCheck \e 101 bsCheck \f 12 @@ -1018,7 +1026,8 @@ bsCheck \x 120 bsCheck \xa 10 bsCheck \xA 10 bsCheck \x41 65 -bsCheck \x541 65 +bsCheck \x541 65 pre388 ;# == \x41 +bsCheck \x541 84 !pre388 ;# == \x54 1 bsCheck \u 117 bsCheck \uk 117 bsCheck \u41 65 @@ -1027,6 +1036,25 @@ bsCheck \uA 10 bsCheck \340 224 bsCheck \ua1 161 bsCheck \u4e21 20001 +bsCheck \741 225 pre388 ;# == \341 +bsCheck \741 60 !pre388 ;# == \74 1 +bsCheck \U 85 +bsCheck \Uk 85 +bsCheck \U41 65 Uesc +bsCheck \Ua 10 Uesc +bsCheck \UA 10 Uesc +bsCheck \Ua1 161 Uesc +bsCheck \U4E21 20001 Uesc +bsCheck \U004E21 20001 Uesc +bsCheck \U00004E21 20001 Uesc +bsCheck \U0000004E21 78 Uesc +bsCheck \U00110000 69632 Uesc +bsCheck \U01100000 69632 Uesc +bsCheck \U11000000 69632 Uesc +bsCheck \U0010FFFF 1114111 Uesc +bsCheck \U010FFFF0 1114111 Uesc +bsCheck \U10FFFF00 1114111 Uesc +bsCheck \UFFFFFFFF 1048575 Uesc test utf-11.1 {Tcl_UtfToUpper} { string toupper {} @@ -1068,7 +1096,7 @@ test utf-12.4 {Tcl_UtfToLower} { test utf-12.5 {Tcl_UtfToLower Georgian (new in Unicode 11)} { string tolower \u10D0\u1C90 } \u10D0\u10D0 -test utf-12.6 {Tcl_UtfToUpper low/high surrogate)} { +test utf-12.6 {Tcl_UtfToLower low/high surrogate)} { string tolower \uDC24\uD824 } \uDC24\uD824 test utf-12.7 {Tcl_UtfToLower beyond U+FFFF} {Uesc fullutf} { |