Annotation of embedaddon/php/ext/standard/tests/strings/htmlentities21.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: htmlentities() / htmlspecialchars() ENT_DISALLOWED charset variation
! 3: --FILE--
! 4: <?php
! 5: $tests = array(
! 6: 0x00, //C0
! 7: 0x01,
! 8: 0x09,
! 9: 0x0A,
! 10: 0x0B,
! 11: 0x0C,
! 12: 0x0D,
! 13: 0x0E,
! 14: 0x1F,
! 15: 0x20, //allowed always
! 16: 0x7F, //DEL
! 17: 0x80, //C1
! 18: 0x9F,
! 19: 0xA0, //allowed always
! 20: );
! 21:
! 22: function test($flag, $charset) {
! 23: global $tests;
! 24: $i = -1;
! 25: error_reporting(-1 & ~E_STRICT);
! 26: foreach ($tests as $test) {
! 27: $test = chr($test);
! 28: $i++;
! 29: $a = htmlentities($test, $flag | ENT_DISALLOWED, $charset);
! 30: $b = htmlspecialchars($test, $flag | ENT_DISALLOWED, $charset);
! 31: if ($a == "" && $b == "") { echo sprintf("%05X", $tests[$i]), ": INVALID SEQUENCE\n"; continue; }
! 32: echo sprintf("%05X", $tests[$i]), ": ", bin2hex($a), " ", bin2hex($b), "\n";
! 33: }
! 34: error_reporting(-1);
! 35: }
! 36:
! 37: echo "*** Testing HTML 4.01/Windows-1251 ***\n";
! 38:
! 39: test(ENT_HTML401, "Windows-1251");
! 40:
! 41: echo "\n*** Testing XHTML 1.0/Windows-1251 ***\n";
! 42:
! 43: test(ENT_XHTML, "Windows-1251");
! 44:
! 45: echo "\n*** Testing HTML 5/Windows-1251 ***\n";
! 46:
! 47: test(ENT_HTML5, "Windows-1251");
! 48:
! 49: echo "\n*** Testing XML 1.0/Windows-1251 ***\n";
! 50:
! 51: test(ENT_XML1, "Windows-1251");
! 52:
! 53: echo "\n*** Testing HTML 4.01/SJIS ***\n";
! 54:
! 55: test(ENT_HTML401, "SJIS");
! 56:
! 57: echo "\n*** Testing XHTML 1.0/SJIS ***\n";
! 58:
! 59: test(ENT_XHTML, "SJIS");
! 60:
! 61: echo "\n*** Testing HTML 5/SJIS ***\n";
! 62:
! 63: test(ENT_HTML5, "SJIS");
! 64:
! 65: echo "\n*** Testing XML 1.0/SJIS ***\n";
! 66:
! 67: test(ENT_XML1, "SJIS");
! 68:
! 69:
! 70: ?>
! 71: --EXPECT--
! 72: *** Testing HTML 4.01/Windows-1251 ***
! 73: 00000: 262378464646443b 262378464646443b
! 74: 00001: 262378464646443b 262378464646443b
! 75: 00009: 09 09
! 76: 0000A: 0a 0a
! 77: 0000B: 262378464646443b 262378464646443b
! 78: 0000C: 262378464646443b 262378464646443b
! 79: 0000D: 0d 0d
! 80: 0000E: 262378464646443b 262378464646443b
! 81: 0001F: 262378464646443b 262378464646443b
! 82: 00020: 20 20
! 83: 0007F: 262378464646443b 7f
! 84: 00080: 80 80
! 85: 0009F: 9f 9f
! 86: 000A0: 266e6273703b a0
! 87:
! 88: *** Testing XHTML 1.0/Windows-1251 ***
! 89: 00000: 262378464646443b 262378464646443b
! 90: 00001: 262378464646443b 262378464646443b
! 91: 00009: 09 09
! 92: 0000A: 0a 0a
! 93: 0000B: 262378464646443b 262378464646443b
! 94: 0000C: 262378464646443b 262378464646443b
! 95: 0000D: 0d 0d
! 96: 0000E: 262378464646443b 262378464646443b
! 97: 0001F: 262378464646443b 262378464646443b
! 98: 00020: 20 20
! 99: 0007F: 7f 7f
! 100: 00080: 80 80
! 101: 0009F: 9f 9f
! 102: 000A0: 266e6273703b a0
! 103:
! 104: *** Testing HTML 5/Windows-1251 ***
! 105: 00000: 262378464646443b 262378464646443b
! 106: 00001: 262378464646443b 262378464646443b
! 107: 00009: 265461623b 09
! 108: 0000A: 264e65774c696e653b 0a
! 109: 0000B: 262378464646443b 262378464646443b
! 110: 0000C: 0c 0c
! 111: 0000D: 0d 0d
! 112: 0000E: 262378464646443b 262378464646443b
! 113: 0001F: 262378464646443b 262378464646443b
! 114: 00020: 20 20
! 115: 0007F: 262378464646443b 7f
! 116: 00080: 26444a63793b 80
! 117: 0009F: 26647a63793b 9f
! 118: 000A0: 266e6273703b a0
! 119:
! 120: *** Testing XML 1.0/Windows-1251 ***
! 121: 00000: 262378464646443b 262378464646443b
! 122: 00001: 262378464646443b 262378464646443b
! 123: 00009: 09 09
! 124: 0000A: 0a 0a
! 125: 0000B: 262378464646443b 262378464646443b
! 126: 0000C: 262378464646443b 262378464646443b
! 127: 0000D: 0d 0d
! 128: 0000E: 262378464646443b 262378464646443b
! 129: 0001F: 262378464646443b 262378464646443b
! 130: 00020: 20 20
! 131: 0007F: 7f 7f
! 132: 00080: 80 80
! 133: 0009F: 9f 9f
! 134: 000A0: a0 a0
! 135:
! 136: *** Testing HTML 4.01/SJIS ***
! 137: 00000: 262378464646443b 262378464646443b
! 138: 00001: 262378464646443b 262378464646443b
! 139: 00009: 09 09
! 140: 0000A: 0a 0a
! 141: 0000B: 262378464646443b 262378464646443b
! 142: 0000C: 262378464646443b 262378464646443b
! 143: 0000D: 0d 0d
! 144: 0000E: 262378464646443b 262378464646443b
! 145: 0001F: 262378464646443b 262378464646443b
! 146: 00020: 20 20
! 147: 0007F: 7f 7f
! 148: 00080: INVALID SEQUENCE
! 149: 0009F: INVALID SEQUENCE
! 150: 000A0: INVALID SEQUENCE
! 151:
! 152: *** Testing XHTML 1.0/SJIS ***
! 153: 00000: 262378464646443b 262378464646443b
! 154: 00001: 262378464646443b 262378464646443b
! 155: 00009: 09 09
! 156: 0000A: 0a 0a
! 157: 0000B: 262378464646443b 262378464646443b
! 158: 0000C: 262378464646443b 262378464646443b
! 159: 0000D: 0d 0d
! 160: 0000E: 262378464646443b 262378464646443b
! 161: 0001F: 262378464646443b 262378464646443b
! 162: 00020: 20 20
! 163: 0007F: 7f 7f
! 164: 00080: INVALID SEQUENCE
! 165: 0009F: INVALID SEQUENCE
! 166: 000A0: INVALID SEQUENCE
! 167:
! 168: *** Testing HTML 5/SJIS ***
! 169: 00000: 262378464646443b 262378464646443b
! 170: 00001: 262378464646443b 262378464646443b
! 171: 00009: 09 09
! 172: 0000A: 0a 0a
! 173: 0000B: 262378464646443b 262378464646443b
! 174: 0000C: 0c 0c
! 175: 0000D: 0d 0d
! 176: 0000E: 262378464646443b 262378464646443b
! 177: 0001F: 262378464646443b 262378464646443b
! 178: 00020: 20 20
! 179: 0007F: 7f 7f
! 180: 00080: INVALID SEQUENCE
! 181: 0009F: INVALID SEQUENCE
! 182: 000A0: INVALID SEQUENCE
! 183:
! 184: *** Testing XML 1.0/SJIS ***
! 185: 00000: 262378464646443b 262378464646443b
! 186: 00001: 262378464646443b 262378464646443b
! 187: 00009: 09 09
! 188: 0000A: 0a 0a
! 189: 0000B: 262378464646443b 262378464646443b
! 190: 0000C: 262378464646443b 262378464646443b
! 191: 0000D: 0d 0d
! 192: 0000E: 262378464646443b 262378464646443b
! 193: 0001F: 262378464646443b 262378464646443b
! 194: 00020: 20 20
! 195: 0007F: 7f 7f
! 196: 00080: INVALID SEQUENCE
! 197: 0009F: INVALID SEQUENCE
! 198: 000A0: INVALID SEQUENCE
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>