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

1.1       misho       1: --TEST--
                      2: Test htmlspecialchars() function
                      3: --FILE--
                      4: <?php
                      5: /* Prototype: string htmlspecialchars ( string $string [, int $quote_style [, string $charset]] );
                      6:    Description: Convert special characters to HTML entities
                      7: */
                      8: 
                      9: /* retrieving htmlspecialchars from the ANSI character table */
                     10: echo "*** Retrieving htmlspecialchars for 256 characters ***\n";
                     11: for($i=0; $i<256; $i++)
                     12: var_dump( bin2hex( htmlspecialchars(b"chr($i)") ) );
                     13: 
                     14: /* giving NULL as the argument */
                     15: echo "\n*** Testing htmlspecialchars() with NULL as first, second and third argument ***\n";
                     16: var_dump( htmlspecialchars("<br>", NULL, 'iso-8859-1') );
                     17: var_dump( htmlspecialchars("<br>", ENT_NOQUOTES, NULL) );
                     18: var_dump( htmlspecialchars("<br>", ENT_QUOTES, NULL) );
                     19: var_dump( htmlspecialchars("<br>", ENT_COMPAT, NULL) );
                     20: var_dump( htmlspecialchars(NULL, NULL, NULL) );
                     21: 
                     22: /* giving long string to check for proper memory re-allocation */
                     23: echo "\n*** Checking a long string for proper memory allocation ***\n";
                     24: var_dump( htmlspecialchars("<br>Testing<p>New file.</p><p><br>File <b><i><u>WORKS!!!</i></u></b></p><br><p>End of file!!!</p>", ENT_QUOTES, 'iso-8859-1' ) );
                     25: 
                     26: /* Giving a normal string */
                     27: echo "\n*** Testing a normal string with htmlspecialchars() ***\n";
                     28: var_dump( htmlspecialchars("<br>Testing<p>New file.</p> ", ENT_QUOTES, 'iso-8859-1' ) );
                     29: 
                     30: /* checking behavior of quote */
                     31: echo "\n*** Testing htmlspecialchars() on a quote...\n";
                     32: $str = "A 'quote' is <b>bold</b>";
                     33: var_dump( htmlspecialchars($str) );
                     34: var_dump( htmlspecialchars($str, ENT_QUOTES) );
                     35: var_dump( htmlspecialchars($str, ENT_NOQUOTES) );
                     36: var_dump( htmlspecialchars($str, ENT_COMPAT) );
                     37: 
                     38: echo "\n*** Testing error conditions ***\n";
                     39: /* zero argument */
                     40: var_dump( htmlspecialchars() );
                     41: 
                     42: /* giving arguments more than expected */
                     43: var_dump( htmlspecialchars("<br>",ENT_QUOTES,'iso-8859-1', "test2") );
                     44: 
                     45: echo "Done\n"
                     46: ?>
                     47: --EXPECTF--
                     48: *** Retrieving htmlspecialchars for 256 characters ***
                     49: string(12) "636872283029"
                     50: string(12) "636872283129"
                     51: string(12) "636872283229"
                     52: string(12) "636872283329"
                     53: string(12) "636872283429"
                     54: string(12) "636872283529"
                     55: string(12) "636872283629"
                     56: string(12) "636872283729"
                     57: string(12) "636872283829"
                     58: string(12) "636872283929"
                     59: string(14) "63687228313029"
                     60: string(14) "63687228313129"
                     61: string(14) "63687228313229"
                     62: string(14) "63687228313329"
                     63: string(14) "63687228313429"
                     64: string(14) "63687228313529"
                     65: string(14) "63687228313629"
                     66: string(14) "63687228313729"
                     67: string(14) "63687228313829"
                     68: string(14) "63687228313929"
                     69: string(14) "63687228323029"
                     70: string(14) "63687228323129"
                     71: string(14) "63687228323229"
                     72: string(14) "63687228323329"
                     73: string(14) "63687228323429"
                     74: string(14) "63687228323529"
                     75: string(14) "63687228323629"
                     76: string(14) "63687228323729"
                     77: string(14) "63687228323829"
                     78: string(14) "63687228323929"
                     79: string(14) "63687228333029"
                     80: string(14) "63687228333129"
                     81: string(14) "63687228333229"
                     82: string(14) "63687228333329"
                     83: string(14) "63687228333429"
                     84: string(14) "63687228333529"
                     85: string(14) "63687228333629"
                     86: string(14) "63687228333729"
                     87: string(14) "63687228333829"
                     88: string(14) "63687228333929"
                     89: string(14) "63687228343029"
                     90: string(14) "63687228343129"
                     91: string(14) "63687228343229"
                     92: string(14) "63687228343329"
                     93: string(14) "63687228343429"
                     94: string(14) "63687228343529"
                     95: string(14) "63687228343629"
                     96: string(14) "63687228343729"
                     97: string(14) "63687228343829"
                     98: string(14) "63687228343929"
                     99: string(14) "63687228353029"
                    100: string(14) "63687228353129"
                    101: string(14) "63687228353229"
                    102: string(14) "63687228353329"
                    103: string(14) "63687228353429"
                    104: string(14) "63687228353529"
                    105: string(14) "63687228353629"
                    106: string(14) "63687228353729"
                    107: string(14) "63687228353829"
                    108: string(14) "63687228353929"
                    109: string(14) "63687228363029"
                    110: string(14) "63687228363129"
                    111: string(14) "63687228363229"
                    112: string(14) "63687228363329"
                    113: string(14) "63687228363429"
                    114: string(14) "63687228363529"
                    115: string(14) "63687228363629"
                    116: string(14) "63687228363729"
                    117: string(14) "63687228363829"
                    118: string(14) "63687228363929"
                    119: string(14) "63687228373029"
                    120: string(14) "63687228373129"
                    121: string(14) "63687228373229"
                    122: string(14) "63687228373329"
                    123: string(14) "63687228373429"
                    124: string(14) "63687228373529"
                    125: string(14) "63687228373629"
                    126: string(14) "63687228373729"
                    127: string(14) "63687228373829"
                    128: string(14) "63687228373929"
                    129: string(14) "63687228383029"
                    130: string(14) "63687228383129"
                    131: string(14) "63687228383229"
                    132: string(14) "63687228383329"
                    133: string(14) "63687228383429"
                    134: string(14) "63687228383529"
                    135: string(14) "63687228383629"
                    136: string(14) "63687228383729"
                    137: string(14) "63687228383829"
                    138: string(14) "63687228383929"
                    139: string(14) "63687228393029"
                    140: string(14) "63687228393129"
                    141: string(14) "63687228393229"
                    142: string(14) "63687228393329"
                    143: string(14) "63687228393429"
                    144: string(14) "63687228393529"
                    145: string(14) "63687228393629"
                    146: string(14) "63687228393729"
                    147: string(14) "63687228393829"
                    148: string(14) "63687228393929"
                    149: string(16) "6368722831303029"
                    150: string(16) "6368722831303129"
                    151: string(16) "6368722831303229"
                    152: string(16) "6368722831303329"
                    153: string(16) "6368722831303429"
                    154: string(16) "6368722831303529"
                    155: string(16) "6368722831303629"
                    156: string(16) "6368722831303729"
                    157: string(16) "6368722831303829"
                    158: string(16) "6368722831303929"
                    159: string(16) "6368722831313029"
                    160: string(16) "6368722831313129"
                    161: string(16) "6368722831313229"
                    162: string(16) "6368722831313329"
                    163: string(16) "6368722831313429"
                    164: string(16) "6368722831313529"
                    165: string(16) "6368722831313629"
                    166: string(16) "6368722831313729"
                    167: string(16) "6368722831313829"
                    168: string(16) "6368722831313929"
                    169: string(16) "6368722831323029"
                    170: string(16) "6368722831323129"
                    171: string(16) "6368722831323229"
                    172: string(16) "6368722831323329"
                    173: string(16) "6368722831323429"
                    174: string(16) "6368722831323529"
                    175: string(16) "6368722831323629"
                    176: string(16) "6368722831323729"
                    177: string(16) "6368722831323829"
                    178: string(16) "6368722831323929"
                    179: string(16) "6368722831333029"
                    180: string(16) "6368722831333129"
                    181: string(16) "6368722831333229"
                    182: string(16) "6368722831333329"
                    183: string(16) "6368722831333429"
                    184: string(16) "6368722831333529"
                    185: string(16) "6368722831333629"
                    186: string(16) "6368722831333729"
                    187: string(16) "6368722831333829"
                    188: string(16) "6368722831333929"
                    189: string(16) "6368722831343029"
                    190: string(16) "6368722831343129"
                    191: string(16) "6368722831343229"
                    192: string(16) "6368722831343329"
                    193: string(16) "6368722831343429"
                    194: string(16) "6368722831343529"
                    195: string(16) "6368722831343629"
                    196: string(16) "6368722831343729"
                    197: string(16) "6368722831343829"
                    198: string(16) "6368722831343929"
                    199: string(16) "6368722831353029"
                    200: string(16) "6368722831353129"
                    201: string(16) "6368722831353229"
                    202: string(16) "6368722831353329"
                    203: string(16) "6368722831353429"
                    204: string(16) "6368722831353529"
                    205: string(16) "6368722831353629"
                    206: string(16) "6368722831353729"
                    207: string(16) "6368722831353829"
                    208: string(16) "6368722831353929"
                    209: string(16) "6368722831363029"
                    210: string(16) "6368722831363129"
                    211: string(16) "6368722831363229"
                    212: string(16) "6368722831363329"
                    213: string(16) "6368722831363429"
                    214: string(16) "6368722831363529"
                    215: string(16) "6368722831363629"
                    216: string(16) "6368722831363729"
                    217: string(16) "6368722831363829"
                    218: string(16) "6368722831363929"
                    219: string(16) "6368722831373029"
                    220: string(16) "6368722831373129"
                    221: string(16) "6368722831373229"
                    222: string(16) "6368722831373329"
                    223: string(16) "6368722831373429"
                    224: string(16) "6368722831373529"
                    225: string(16) "6368722831373629"
                    226: string(16) "6368722831373729"
                    227: string(16) "6368722831373829"
                    228: string(16) "6368722831373929"
                    229: string(16) "6368722831383029"
                    230: string(16) "6368722831383129"
                    231: string(16) "6368722831383229"
                    232: string(16) "6368722831383329"
                    233: string(16) "6368722831383429"
                    234: string(16) "6368722831383529"
                    235: string(16) "6368722831383629"
                    236: string(16) "6368722831383729"
                    237: string(16) "6368722831383829"
                    238: string(16) "6368722831383929"
                    239: string(16) "6368722831393029"
                    240: string(16) "6368722831393129"
                    241: string(16) "6368722831393229"
                    242: string(16) "6368722831393329"
                    243: string(16) "6368722831393429"
                    244: string(16) "6368722831393529"
                    245: string(16) "6368722831393629"
                    246: string(16) "6368722831393729"
                    247: string(16) "6368722831393829"
                    248: string(16) "6368722831393929"
                    249: string(16) "6368722832303029"
                    250: string(16) "6368722832303129"
                    251: string(16) "6368722832303229"
                    252: string(16) "6368722832303329"
                    253: string(16) "6368722832303429"
                    254: string(16) "6368722832303529"
                    255: string(16) "6368722832303629"
                    256: string(16) "6368722832303729"
                    257: string(16) "6368722832303829"
                    258: string(16) "6368722832303929"
                    259: string(16) "6368722832313029"
                    260: string(16) "6368722832313129"
                    261: string(16) "6368722832313229"
                    262: string(16) "6368722832313329"
                    263: string(16) "6368722832313429"
                    264: string(16) "6368722832313529"
                    265: string(16) "6368722832313629"
                    266: string(16) "6368722832313729"
                    267: string(16) "6368722832313829"
                    268: string(16) "6368722832313929"
                    269: string(16) "6368722832323029"
                    270: string(16) "6368722832323129"
                    271: string(16) "6368722832323229"
                    272: string(16) "6368722832323329"
                    273: string(16) "6368722832323429"
                    274: string(16) "6368722832323529"
                    275: string(16) "6368722832323629"
                    276: string(16) "6368722832323729"
                    277: string(16) "6368722832323829"
                    278: string(16) "6368722832323929"
                    279: string(16) "6368722832333029"
                    280: string(16) "6368722832333129"
                    281: string(16) "6368722832333229"
                    282: string(16) "6368722832333329"
                    283: string(16) "6368722832333429"
                    284: string(16) "6368722832333529"
                    285: string(16) "6368722832333629"
                    286: string(16) "6368722832333729"
                    287: string(16) "6368722832333829"
                    288: string(16) "6368722832333929"
                    289: string(16) "6368722832343029"
                    290: string(16) "6368722832343129"
                    291: string(16) "6368722832343229"
                    292: string(16) "6368722832343329"
                    293: string(16) "6368722832343429"
                    294: string(16) "6368722832343529"
                    295: string(16) "6368722832343629"
                    296: string(16) "6368722832343729"
                    297: string(16) "6368722832343829"
                    298: string(16) "6368722832343929"
                    299: string(16) "6368722832353029"
                    300: string(16) "6368722832353129"
                    301: string(16) "6368722832353229"
                    302: string(16) "6368722832353329"
                    303: string(16) "6368722832353429"
                    304: string(16) "6368722832353529"
                    305: 
                    306: *** Testing htmlspecialchars() with NULL as first, second and third argument ***
                    307: string(10) "&lt;br&gt;"
                    308: string(10) "&lt;br&gt;"
                    309: string(10) "&lt;br&gt;"
                    310: string(10) "&lt;br&gt;"
                    311: string(0) ""
                    312: 
                    313: *** Checking a long string for proper memory allocation ***
                    314: string(187) "&lt;br&gt;Testing&lt;p&gt;New file.&lt;/p&gt;&lt;p&gt;&lt;br&gt;File &lt;b&gt;&lt;i&gt;&lt;u&gt;WORKS!!!&lt;/i&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt;&lt;br&gt;&lt;p&gt;End of file!!!&lt;/p&gt;"
                    315: 
                    316: *** Testing a normal string with htmlspecialchars() ***
                    317: string(46) "&lt;br&gt;Testing&lt;p&gt;New file.&lt;/p&gt; "
                    318: 
                    319: *** Testing htmlspecialchars() on a quote...
                    320: string(36) "A 'quote' is &lt;b&gt;bold&lt;/b&gt;"
                    321: string(46) "A &#039;quote&#039; is &lt;b&gt;bold&lt;/b&gt;"
                    322: string(36) "A 'quote' is &lt;b&gt;bold&lt;/b&gt;"
                    323: string(36) "A 'quote' is &lt;b&gt;bold&lt;/b&gt;"
                    324: 
                    325: *** Testing error conditions ***
                    326: 
                    327: Warning: htmlspecialchars() expects at least 1 parameter, 0 given in %s on line %d
                    328: NULL
                    329: string(10) "&lt;br&gt;"
                    330: Done
                    331: 

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