Annotation of embedaddon/php/ext/standard/tests/strings/htmlentities21.phpt, revision 1.1.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>