Annotation of embedaddon/php/ext/standard/tests/strings/html_entity_decode_win1252.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Translation of HTML entities for encoding WIN-1252
                      3: --FILE--
                      4: <?php
                      5: $arr = array(
                      6: 0x20AC => array(0x80, "EURO SIGN"),
                      7: //0x81         #UNDEFINED
                      8: 0x201A => array(0x82, "SINGLE LOW-9 QUOTATION MARK"),
                      9: 0x0192 => array(0x83, "LATIN SMALL LETTER F WITH HOOK"),
                     10: 0x201E => array(0x84, "DOUBLE LOW-9 QUOTATION MARK"),
                     11: 0x2026 => array(0x85, "HORIZONTAL ELLIPSIS"),
                     12: 0x2020 => array(0x86, "DAGGER"),
                     13: 0x2021 => array(0x87, "DOUBLE DAGGER"),
                     14: 0x02C6 => array(0x88, "MODIFIER LETTER CIRCUMFLEX ACCENT"),
                     15: 0x2030 => array(0x89, "PER MILLE SIGN"),
                     16: 0x0160 => array(0x8A, "LATIN CAPITAL LETTER S WITH CARON"),
                     17: 0x2039 => array(0x8B, "SINGLE LEFT-POINTING ANGLE QUOTATION MARK"),
                     18: 0x0152 => array(0x8C, "LATIN CAPITAL LIGATURE OE"),
                     19: //0x8D         #UNDEFINED
                     20: 0x017D => array(0x8E, "LATIN CAPITAL LETTER Z WITH CARON"),
                     21: //0x8F         #UNDEFINED
                     22: //0x90         #UNDEFINED
                     23: 0x2018 => array(0x91, "LEFT SINGLE QUOTATION MARK"),
                     24: 0x2019 => array(0x92, "RIGHT SINGLE QUOTATION MARK"),
                     25: 0x201C => array(0x93, "LEFT DOUBLE QUOTATION MARK"),
                     26: 0x201D => array(0x94, "RIGHT DOUBLE QUOTATION MARK"),
                     27: 0x2022 => array(0x95, "BULLET"),
                     28: 0x2013 => array(0x96, "EN DASH"),
                     29: 0x2014 => array(0x97, "EM DASH"),
                     30: 0x02DC => array(0x98, "SMALL TILDE"),
                     31: 0x2122 => array(0x99, "TRADE MARK SIGN"),
                     32: 0x0161 => array(0x9A, "LATIN SMALL LETTER S WITH CARON"),
                     33: 0x203A => array(0x9B, "SINGLE RIGHT-POINTING ANGLE QUOTATION MARK"),
                     34: 0x0153 => array(0x9C, "LATIN SMALL LIGATURE OE"),
                     35: //0x9D         #UNDEFINED
                     36: 0x017E => array(0x9E, "LATIN SMALL LETTER Z WITH CARON"),
                     37: 0x0178 => array(0x9F, "LATIN CAPITAL LETTER Y WITH DIAERESIS"),
                     38: );
                     39: 
                     40: $res = html_entity_decode("&#x81;", ENT_QUOTES, 'WINDOWS-1252');
                     41: echo "Special test for &#x81; (shouldn't decode):\n";
                     42: echo $res,"\n\n";
                     43: 
                     44: $res = html_entity_decode("&#x8D;", ENT_QUOTES, 'WINDOWS-1252');
                     45: echo "Special test for &#x8D; (shouldn't decode):\n";
                     46: echo $res,"\n\n";
                     47: 
                     48: $res = html_entity_decode("&#x8F;", ENT_QUOTES, 'WINDOWS-1252');
                     49: echo "Special test for &#x8F; (shouldn't decode):\n";
                     50: echo $res,"\n\n";
                     51: 
                     52: $res = html_entity_decode("&#x90;", ENT_QUOTES, 'WINDOWS-1252');
                     53: echo "Special test for &#x90; (shouldn't decode):\n";
                     54: echo $res,"\n\n";
                     55: 
                     56: $res = html_entity_decode("&#x9D;", ENT_QUOTES, 'WINDOWS-1252');
                     57: echo "Special test for &#x9D; (shouldn't decode):\n";
                     58: echo $res,"\n\n";
                     59: 
                     60: foreach ($arr as $u => $v) {
                     61:     $ent = sprintf("&#x%X;", $u);
                     62:     $res = html_entity_decode($ent, ENT_QUOTES, 'WINDOWS-1252');
                     63:     $d = unpack("H*", $res);
                     64:     echo sprintf("%s: %s => %s\n", $v[1], $ent, $d[1]);
                     65:     
                     66:     $ent = sprintf("&#x%X;", $v[0]);
                     67:     $res = html_entity_decode($ent, ENT_QUOTES, 'WINDOWS-1252');
                     68:     if ($res[0] != "&" || $res[1] != "#")
                     69:         $res = unpack("H*", $res)[1];
                     70:     echo sprintf("%s => %s\n\n", $ent, $res);
                     71: }
                     72: --EXPECT--
                     73: Special test for &#x81; (shouldn't decode):
                     74: &#x81;
                     75: 
                     76: Special test for &#x8D; (shouldn't decode):
                     77: &#x8D;
                     78: 
                     79: Special test for &#x8F; (shouldn't decode):
                     80: &#x8F;
                     81: 
                     82: Special test for &#x90; (shouldn't decode):
                     83: &#x90;
                     84: 
                     85: Special test for &#x9D; (shouldn't decode):
                     86: &#x9D;
                     87: 
                     88: EURO SIGN: &#x20AC; => 80
                     89: &#x80; => &#x80;
                     90: 
                     91: SINGLE LOW-9 QUOTATION MARK: &#x201A; => 82
                     92: &#x82; => &#x82;
                     93: 
                     94: LATIN SMALL LETTER F WITH HOOK: &#x192; => 83
                     95: &#x83; => &#x83;
                     96: 
                     97: DOUBLE LOW-9 QUOTATION MARK: &#x201E; => 84
                     98: &#x84; => &#x84;
                     99: 
                    100: HORIZONTAL ELLIPSIS: &#x2026; => 85
                    101: &#x85; => &#x85;
                    102: 
                    103: DAGGER: &#x2020; => 86
                    104: &#x86; => &#x86;
                    105: 
                    106: DOUBLE DAGGER: &#x2021; => 87
                    107: &#x87; => &#x87;
                    108: 
                    109: MODIFIER LETTER CIRCUMFLEX ACCENT: &#x2C6; => 88
                    110: &#x88; => &#x88;
                    111: 
                    112: PER MILLE SIGN: &#x2030; => 89
                    113: &#x89; => &#x89;
                    114: 
                    115: LATIN CAPITAL LETTER S WITH CARON: &#x160; => 8a
                    116: &#x8A; => &#x8A;
                    117: 
                    118: SINGLE LEFT-POINTING ANGLE QUOTATION MARK: &#x2039; => 8b
                    119: &#x8B; => &#x8B;
                    120: 
                    121: LATIN CAPITAL LIGATURE OE: &#x152; => 8c
                    122: &#x8C; => &#x8C;
                    123: 
                    124: LATIN CAPITAL LETTER Z WITH CARON: &#x17D; => 8e
                    125: &#x8E; => &#x8E;
                    126: 
                    127: LEFT SINGLE QUOTATION MARK: &#x2018; => 91
                    128: &#x91; => &#x91;
                    129: 
                    130: RIGHT SINGLE QUOTATION MARK: &#x2019; => 92
                    131: &#x92; => &#x92;
                    132: 
                    133: LEFT DOUBLE QUOTATION MARK: &#x201C; => 93
                    134: &#x93; => &#x93;
                    135: 
                    136: RIGHT DOUBLE QUOTATION MARK: &#x201D; => 94
                    137: &#x94; => &#x94;
                    138: 
                    139: BULLET: &#x2022; => 95
                    140: &#x95; => &#x95;
                    141: 
                    142: EN DASH: &#x2013; => 96
                    143: &#x96; => &#x96;
                    144: 
                    145: EM DASH: &#x2014; => 97
                    146: &#x97; => &#x97;
                    147: 
                    148: SMALL TILDE: &#x2DC; => 98
                    149: &#x98; => &#x98;
                    150: 
                    151: TRADE MARK SIGN: &#x2122; => 99
                    152: &#x99; => &#x99;
                    153: 
                    154: LATIN SMALL LETTER S WITH CARON: &#x161; => 9a
                    155: &#x9A; => &#x9A;
                    156: 
                    157: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK: &#x203A; => 9b
                    158: &#x9B; => &#x9B;
                    159: 
                    160: LATIN SMALL LIGATURE OE: &#x153; => 9c
                    161: &#x9C; => &#x9C;
                    162: 
                    163: LATIN SMALL LETTER Z WITH CARON: &#x17E; => 9e
                    164: &#x9E; => &#x9E;
                    165: 
                    166: LATIN CAPITAL LETTER Y WITH DIAERESIS: &#x178; => 9f
                    167: &#x9F; => &#x9F;
                    168: 
                    169: 

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>