From: Alex Dowad Date: Sun, 18 Oct 2020 15:51:59 +0000 (+0200) Subject: Add test suite for ARMSCII-8 encoding X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=ff953f254c3f55c67e2de8a003887876d3b05420;p=php Add test suite for ARMSCII-8 encoding --- diff --git a/ext/mbstring/tests/armscii8_encoding.phpt b/ext/mbstring/tests/armscii8_encoding.phpt new file mode 100644 index 0000000000..b7e653d58b --- /dev/null +++ b/ext/mbstring/tests/armscii8_encoding.phpt @@ -0,0 +1,33 @@ +--TEST-- +Exhaustive test of verification and conversion of ARMSCII-8 text +--SKIPIF-- + +--FILE-- + UTF-16BE\n"; + +findInvalidChars($fromUnicode, $invalid, $truncated, map(range(0,0xFF), 2)); +testAllInvalidChars($invalid, $fromUnicode, 'UTF-16BE', 'ARMSCII-8', '%'); +testTruncatedChars($truncated, 'UTF-16BE', 'ARMSCII-8', '%'); +echo "Tested UTF-16BE -> ARMSCII-8\n"; +?> +--EXPECT-- +Tested ARMSCII-8 -> UTF-16BE +Tested UTF-16BE -> ARMSCII-8 diff --git a/ext/mbstring/tests/data/ARMSCII-8.txt b/ext/mbstring/tests/data/ARMSCII-8.txt new file mode 100644 index 0000000000..1854fddc13 --- /dev/null +++ b/ext/mbstring/tests/data/ARMSCII-8.txt @@ -0,0 +1,255 @@ +# Derived from armscii-8(7) man page +0x0 0x0 +0x1 0x1 +0x2 0x2 +0x3 0x3 +0x4 0x4 +0x5 0x5 +0x6 0x6 +0x7 0x7 +0x8 0x8 +0x9 0x9 +0xA 0xA +0xB 0xB +0xC 0xC +0xD 0xD +0xE 0xE +0xF 0xF +0x10 0x10 +0x11 0x11 +0x12 0x12 +0x13 0x13 +0x14 0x14 +0x15 0x15 +0x16 0x16 +0x17 0x17 +0x18 0x18 +0x19 0x19 +0x1A 0x1A +0x1B 0x1B +0x1C 0x1C +0x1D 0x1D +0x1E 0x1E +0x1F 0x1F +0x20 0x20 +0x21 0x21 +0x22 0x22 +0x23 0x23 +0x24 0x24 +0x25 0x25 +0x26 0x26 +0x27 0x27 +0x28 0x28 +0x29 0x29 +0x2A 0x2A +0x2B 0x2B +0x2C 0x2C +0x2D 0x2D +0x2E 0x2E +0x2F 0x2F +0x30 0x30 +0x31 0x31 +0x32 0x32 +0x33 0x33 +0x34 0x34 +0x35 0x35 +0x36 0x36 +0x37 0x37 +0x38 0x38 +0x39 0x39 +0x3A 0x3A +0x3B 0x3B +0x3C 0x3C +0x3D 0x3D +0x3E 0x3E +0x3F 0x3F +0x40 0x40 +0x41 0x41 +0x42 0x42 +0x43 0x43 +0x44 0x44 +0x45 0x45 +0x46 0x46 +0x47 0x47 +0x48 0x48 +0x49 0x49 +0x4A 0x4A +0x4B 0x4B +0x4C 0x4C +0x4D 0x4D +0x4E 0x4E +0x4F 0x4F +0x50 0x50 +0x51 0x51 +0x52 0x52 +0x53 0x53 +0x54 0x54 +0x55 0x55 +0x56 0x56 +0x57 0x57 +0x58 0x58 +0x59 0x59 +0x5A 0x5A +0x5B 0x5B +0x5C 0x5C +0x5D 0x5D +0x5E 0x5E +0x5F 0x5F +0x60 0x60 +0x61 0x61 +0x62 0x62 +0x63 0x63 +0x64 0x64 +0x65 0x65 +0x66 0x66 +0x67 0x67 +0x68 0x68 +0x69 0x69 +0x6A 0x6A +0x6B 0x6B +0x6C 0x6C +0x6D 0x6D +0x6E 0x6E +0x6F 0x6F +0x70 0x70 +0x71 0x71 +0x72 0x72 +0x73 0x73 +0x74 0x74 +0x75 0x75 +0x76 0x76 +0x77 0x77 +0x78 0x78 +0x79 0x79 +0x7A 0x7A +0x7B 0x7B +0x7C 0x7C +0x7D 0x7D +0x7E 0x7E +0x7F 0x7F +0x80 0x80 +0x81 0x81 +0x82 0x82 +0x83 0x83 +0x84 0x84 +0x85 0x85 +0x86 0x86 +0x87 0x87 +0x88 0x88 +0x89 0x89 +0x8A 0x8A +0x8B 0x8B +0x8C 0x8C +0x8D 0x8D +0x8E 0x8E +0x8F 0x8F +0x90 0x90 +0x91 0x91 +0x92 0x92 +0x93 0x93 +0x94 0x94 +0x95 0x95 +0x96 0x96 +0x97 0x97 +0x98 0x98 +0x99 0x99 +0x9A 0x9A +0x9B 0x9B +0x9C 0x9C +0x9D 0x9D +0x9E 0x9E +0x9F 0x9F +0xA0 0x00A0 # NO-BREAK SPACE +0xA2 0x0587 # SMALL LIGATURE ECH YIWN +0xA3 0x0589 # ARMENIAN FULL STOP +0xA4 0x0029 # RIGHT PARENTHESIS +0xA5 0x0028 # LEFT PARENTHESIS +0xA6 0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK +0xA7 0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK +0xA8 0x2014 # EM DASH +0xA9 0x002E # FULL STOP +0xAA 0x055D # ARMENIAN COMMA +0xAB 0x002C # COMMA +0xAC 0x002D # HYPHEN-MINUS +0xAD 0x058A # ARMENIAN HYPHEN +0xAE 0x2026 # HORIZONTAL ELLIPSIS +0xAF 0x055C # ARMENIAN EXCLAMATION MARK +0xB0 0x055B # ARMENIAN EMPHASIS MARK +0xB1 0x055E # ARMENIAN QUESTION MARK +0xB2 0x0531 +0xB3 0x0561 +0xB4 0x0532 +0xB5 0x0562 +0xB6 0x0533 +0xB7 0x0563 +0xB8 0x0534 +0xB9 0x0564 +0xBA 0x0535 +0xBB 0x0565 +0xBC 0x0536 +0xBD 0x0566 +0xBE 0x0537 +0xBF 0x0567 +0xC0 0x0538 +0xC1 0x0568 +0xC2 0x0539 +0xC3 0x0569 +0xC4 0x053A +0xC5 0x056A +0xC6 0x053B +0xC7 0x056B +0xC8 0x053C +0xC9 0x056C +0xCA 0x053D +0xCB 0x056D +0xCC 0x053E +0xCD 0x056E +0xCE 0x053F +0xCF 0x056F +0xD0 0x0540 +0xD1 0x0570 +0xD2 0x0541 +0xD3 0x0571 +0xD4 0x0542 +0xD5 0x0572 +0xD6 0x0543 +0xD7 0x0573 +0xD8 0x0544 +0xD9 0x0574 +0xDA 0x0545 +0xDB 0x0575 +0xDC 0x0546 +0xDD 0x0576 +0xDE 0x0547 +0xDF 0x0577 +0xE0 0x0548 +0xE1 0x0578 +0xE2 0x0549 +0xE3 0x0579 +0xE4 0x054A +0xE5 0x057A +0xE6 0x054B +0xE7 0x057B +0xE8 0x054C +0xE9 0x057C +0xEA 0x054D +0xEB 0x057D +0xEC 0x054E +0xED 0x057E +0xEE 0x054F +0xEF 0x057F +0xF0 0x0550 +0xF1 0x0580 +0xF2 0x0551 +0xF3 0x0581 +0xF4 0x0552 +0xF5 0x0582 +0xF6 0x0553 +0xF7 0x0583 +0xF8 0x0554 +0xF9 0x0584 +0xFA 0x0555 +0xFB 0x0585 +0xFC 0x0556 +0xFD 0x0586 +0xFE 0x055A