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

1.1       misho       1: --TEST--
                      2: Test str_repeat() function     
                      3: --INI--
                      4: precision=14
                      5: --FILE--
                      6: <?php
                      7: /* Prototype: string str_repeat ( string $input, int $multiplier );
                      8:    Description: Returns input repeated multiplier times. multiplier has to be 
                      9:      greater than or equal to 0. If the multiplier is set to 0, the function 
                     10:      will return an empty string. 
                     11: */
                     12: 
                     13: echo "*** Testing str_repeat() with possible strings ***";
                     14: $variations = array(
                     15:   'a',
                     16:   'foo',
                     17:   'barbazbax',
                     18:   "\x00",
                     19:   '\0', 
                     20:   NULL, 
                     21:   TRUE,
                     22:   4,
                     23:   1.23,
                     24:   "",
                     25:   " "
                     26: );
                     27: 
                     28: /* variations in string and multiplier as an integer */
                     29: foreach($variations as $input) {
                     30:   echo "\n--- str_repeat() of '$input' ---\n" ;
                     31:   for($n=0; $n<4; $n++) {
                     32:     echo "-- after repeating $n times is => ";
                     33:     echo str_repeat($input, $n)."\n";
                     34:   }
                     35: }
                     36: 
                     37: /* variations in multiplier as well as string to be repeated. Same varient 
                     38:    values are used as string to be repeated as well as multiplier */
                     39: echo "\n\n*** Testing str_repeat() with various strings & multiplier value ***";
                     40: foreach ( $variations as $input ) {
                     41:   echo "\n--- str_repeat() of '$input' ---\n" ;
                     42:   foreach ( $variations as $multiplier ) {
                     43:     echo "-- after repeating '$multiplier' times is => ";
                     44:     var_dump( str_repeat($input, $multiplier) );
                     45:   }
                     46: }
                     47: 
                     48: 
                     49: echo "\n*** Testing str_repeat() with complex strings containing 
                     50:        other than 7-bit chars ***\n";
                     51: $str = chr(0).chr(128).chr(129).chr(234).chr(235).chr(254).chr(255);
                     52: var_dump(str_repeat($str, chr(51)));  // ASCII value of '3' given
                     53: var_dump(str_repeat($str, 3));
                     54: 
                     55: 
                     56: echo "\n\n*** Testing error conditions ***";
                     57: var_dump( str_repeat() );  // Zero args
                     58: var_dump( str_repeat($input[0]) );  // args < expected
                     59: var_dump( str_repeat($input[0], 3, 4) );  // args > expected
                     60: var_dump( str_repeat($input[0], -1) );  // Invalid arg for multiplier
                     61: 
                     62: echo "Done\n";
                     63: ?>
                     64: --EXPECTF--
                     65: *** Testing str_repeat() with possible strings ***
                     66: --- str_repeat() of 'a' ---
                     67: -- after repeating 0 times is => 
                     68: -- after repeating 1 times is => a
                     69: -- after repeating 2 times is => aa
                     70: -- after repeating 3 times is => aaa
                     71: 
                     72: --- str_repeat() of 'foo' ---
                     73: -- after repeating 0 times is => 
                     74: -- after repeating 1 times is => foo
                     75: -- after repeating 2 times is => foofoo
                     76: -- after repeating 3 times is => foofoofoo
                     77: 
                     78: --- str_repeat() of 'barbazbax' ---
                     79: -- after repeating 0 times is => 
                     80: -- after repeating 1 times is => barbazbax
                     81: -- after repeating 2 times is => barbazbaxbarbazbax
                     82: -- after repeating 3 times is => barbazbaxbarbazbaxbarbazbax
                     83: 
                     84: --- str_repeat() of '' ---
                     85: -- after repeating 0 times is => 
                     86: -- after repeating 1 times is => 
                     87: -- after repeating 2 times is => 
                     88: -- after repeating 3 times is => 
                     89: 
                     90: --- str_repeat() of '\0' ---
                     91: -- after repeating 0 times is => 
                     92: -- after repeating 1 times is => \0
                     93: -- after repeating 2 times is => \0\0
                     94: -- after repeating 3 times is => \0\0\0
                     95: 
                     96: --- str_repeat() of '' ---
                     97: -- after repeating 0 times is => 
                     98: -- after repeating 1 times is => 
                     99: -- after repeating 2 times is => 
                    100: -- after repeating 3 times is => 
                    101: 
                    102: --- str_repeat() of '1' ---
                    103: -- after repeating 0 times is => 
                    104: -- after repeating 1 times is => 1
                    105: -- after repeating 2 times is => 11
                    106: -- after repeating 3 times is => 111
                    107: 
                    108: --- str_repeat() of '4' ---
                    109: -- after repeating 0 times is => 
                    110: -- after repeating 1 times is => 4
                    111: -- after repeating 2 times is => 44
                    112: -- after repeating 3 times is => 444
                    113: 
                    114: --- str_repeat() of '1.23' ---
                    115: -- after repeating 0 times is => 
                    116: -- after repeating 1 times is => 1.23
                    117: -- after repeating 2 times is => 1.231.23
                    118: -- after repeating 3 times is => 1.231.231.23
                    119: 
                    120: --- str_repeat() of '' ---
                    121: -- after repeating 0 times is => 
                    122: -- after repeating 1 times is => 
                    123: -- after repeating 2 times is => 
                    124: -- after repeating 3 times is => 
                    125: 
                    126: --- str_repeat() of ' ' ---
                    127: -- after repeating 0 times is => 
                    128: -- after repeating 1 times is =>  
                    129: -- after repeating 2 times is =>   
                    130: -- after repeating 3 times is =>    
                    131: 
                    132: 
                    133: *** Testing str_repeat() with various strings & multiplier value ***
                    134: --- str_repeat() of 'a' ---
                    135: -- after repeating 'a' times is => 
                    136: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    137: NULL
                    138: -- after repeating 'foo' times is => 
                    139: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    140: NULL
                    141: -- after repeating 'barbazbax' times is => 
                    142: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    143: NULL
                    144: -- after repeating '' times is => 
                    145: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    146: NULL
                    147: -- after repeating '\0' times is => 
                    148: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    149: NULL
                    150: -- after repeating '' times is => string(0) ""
                    151: -- after repeating '1' times is => string(1) "a"
                    152: -- after repeating '4' times is => string(4) "aaaa"
                    153: -- after repeating '1.23' times is => string(1) "a"
                    154: -- after repeating '' times is => 
                    155: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    156: NULL
                    157: -- after repeating ' ' times is => 
                    158: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    159: NULL
                    160: 
                    161: --- str_repeat() of 'foo' ---
                    162: -- after repeating 'a' times is => 
                    163: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    164: NULL
                    165: -- after repeating 'foo' times is => 
                    166: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    167: NULL
                    168: -- after repeating 'barbazbax' times is => 
                    169: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    170: NULL
                    171: -- after repeating '' times is => 
                    172: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    173: NULL
                    174: -- after repeating '\0' times is => 
                    175: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    176: NULL
                    177: -- after repeating '' times is => string(0) ""
                    178: -- after repeating '1' times is => string(3) "foo"
                    179: -- after repeating '4' times is => string(12) "foofoofoofoo"
                    180: -- after repeating '1.23' times is => string(3) "foo"
                    181: -- after repeating '' times is => 
                    182: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    183: NULL
                    184: -- after repeating ' ' times is => 
                    185: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    186: NULL
                    187: 
                    188: --- str_repeat() of 'barbazbax' ---
                    189: -- after repeating 'a' times is => 
                    190: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    191: NULL
                    192: -- after repeating 'foo' times is => 
                    193: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    194: NULL
                    195: -- after repeating 'barbazbax' times is => 
                    196: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    197: NULL
                    198: -- after repeating '' times is => 
                    199: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    200: NULL
                    201: -- after repeating '\0' times is => 
                    202: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    203: NULL
                    204: -- after repeating '' times is => string(0) ""
                    205: -- after repeating '1' times is => string(9) "barbazbax"
                    206: -- after repeating '4' times is => string(36) "barbazbaxbarbazbaxbarbazbaxbarbazbax"
                    207: -- after repeating '1.23' times is => string(9) "barbazbax"
                    208: -- after repeating '' times is => 
                    209: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    210: NULL
                    211: -- after repeating ' ' times is => 
                    212: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    213: NULL
                    214: 
                    215: --- str_repeat() of '' ---
                    216: -- after repeating 'a' times is => 
                    217: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    218: NULL
                    219: -- after repeating 'foo' times is => 
                    220: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    221: NULL
                    222: -- after repeating 'barbazbax' times is => 
                    223: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    224: NULL
                    225: -- after repeating '' times is => 
                    226: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    227: NULL
                    228: -- after repeating '\0' times is => 
                    229: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    230: NULL
                    231: -- after repeating '' times is => string(0) ""
                    232: -- after repeating '1' times is => string(1) ""
                    233: -- after repeating '4' times is => string(4) ""
                    234: -- after repeating '1.23' times is => string(1) ""
                    235: -- after repeating '' times is => 
                    236: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    237: NULL
                    238: -- after repeating ' ' times is => 
                    239: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    240: NULL
                    241: 
                    242: --- str_repeat() of '\0' ---
                    243: -- after repeating 'a' times is => 
                    244: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    245: NULL
                    246: -- after repeating 'foo' times is => 
                    247: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    248: NULL
                    249: -- after repeating 'barbazbax' times is => 
                    250: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    251: NULL
                    252: -- after repeating '' times is => 
                    253: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    254: NULL
                    255: -- after repeating '\0' times is => 
                    256: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    257: NULL
                    258: -- after repeating '' times is => string(0) ""
                    259: -- after repeating '1' times is => string(2) "\0"
                    260: -- after repeating '4' times is => string(8) "\0\0\0\0"
                    261: -- after repeating '1.23' times is => string(2) "\0"
                    262: -- after repeating '' times is => 
                    263: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    264: NULL
                    265: -- after repeating ' ' times is => 
                    266: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    267: NULL
                    268: 
                    269: --- str_repeat() of '' ---
                    270: -- after repeating 'a' times is => 
                    271: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    272: NULL
                    273: -- after repeating 'foo' times is => 
                    274: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    275: NULL
                    276: -- after repeating 'barbazbax' times is => 
                    277: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    278: NULL
                    279: -- after repeating '' times is => 
                    280: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    281: NULL
                    282: -- after repeating '\0' times is => 
                    283: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    284: NULL
                    285: -- after repeating '' times is => string(0) ""
                    286: -- after repeating '1' times is => string(0) ""
                    287: -- after repeating '4' times is => string(0) ""
                    288: -- after repeating '1.23' times is => string(0) ""
                    289: -- after repeating '' times is => 
                    290: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    291: NULL
                    292: -- after repeating ' ' times is => 
                    293: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    294: NULL
                    295: 
                    296: --- str_repeat() of '1' ---
                    297: -- after repeating 'a' times is => 
                    298: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    299: NULL
                    300: -- after repeating 'foo' times is => 
                    301: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    302: NULL
                    303: -- after repeating 'barbazbax' times is => 
                    304: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    305: NULL
                    306: -- after repeating '' times is => 
                    307: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    308: NULL
                    309: -- after repeating '\0' times is => 
                    310: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    311: NULL
                    312: -- after repeating '' times is => string(0) ""
                    313: -- after repeating '1' times is => string(1) "1"
                    314: -- after repeating '4' times is => string(4) "1111"
                    315: -- after repeating '1.23' times is => string(1) "1"
                    316: -- after repeating '' times is => 
                    317: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    318: NULL
                    319: -- after repeating ' ' times is => 
                    320: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    321: NULL
                    322: 
                    323: --- str_repeat() of '4' ---
                    324: -- after repeating 'a' times is => 
                    325: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    326: NULL
                    327: -- after repeating 'foo' times is => 
                    328: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    329: NULL
                    330: -- after repeating 'barbazbax' times is => 
                    331: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    332: NULL
                    333: -- after repeating '' times is => 
                    334: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    335: NULL
                    336: -- after repeating '\0' times is => 
                    337: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    338: NULL
                    339: -- after repeating '' times is => string(0) ""
                    340: -- after repeating '1' times is => string(1) "4"
                    341: -- after repeating '4' times is => string(4) "4444"
                    342: -- after repeating '1.23' times is => string(1) "4"
                    343: -- after repeating '' times is => 
                    344: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    345: NULL
                    346: -- after repeating ' ' times is => 
                    347: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    348: NULL
                    349: 
                    350: --- str_repeat() of '1.23' ---
                    351: -- after repeating 'a' times is => 
                    352: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    353: NULL
                    354: -- after repeating 'foo' times is => 
                    355: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    356: NULL
                    357: -- after repeating 'barbazbax' times is => 
                    358: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    359: NULL
                    360: -- after repeating '' times is => 
                    361: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    362: NULL
                    363: -- after repeating '\0' times is => 
                    364: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    365: NULL
                    366: -- after repeating '' times is => string(0) ""
                    367: -- after repeating '1' times is => string(4) "1.23"
                    368: -- after repeating '4' times is => string(16) "1.231.231.231.23"
                    369: -- after repeating '1.23' times is => string(4) "1.23"
                    370: -- after repeating '' times is => 
                    371: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    372: NULL
                    373: -- after repeating ' ' times is => 
                    374: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    375: NULL
                    376: 
                    377: --- str_repeat() of '' ---
                    378: -- after repeating 'a' times is => 
                    379: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    380: NULL
                    381: -- after repeating 'foo' times is => 
                    382: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    383: NULL
                    384: -- after repeating 'barbazbax' times is => 
                    385: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    386: NULL
                    387: -- after repeating '' times is => 
                    388: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    389: NULL
                    390: -- after repeating '\0' times is => 
                    391: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    392: NULL
                    393: -- after repeating '' times is => string(0) ""
                    394: -- after repeating '1' times is => string(0) ""
                    395: -- after repeating '4' times is => string(0) ""
                    396: -- after repeating '1.23' times is => string(0) ""
                    397: -- after repeating '' times is => 
                    398: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    399: NULL
                    400: -- after repeating ' ' times is => 
                    401: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    402: NULL
                    403: 
                    404: --- str_repeat() of ' ' ---
                    405: -- after repeating 'a' times is => 
                    406: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    407: NULL
                    408: -- after repeating 'foo' times is => 
                    409: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    410: NULL
                    411: -- after repeating 'barbazbax' times is => 
                    412: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    413: NULL
                    414: -- after repeating '' times is => 
                    415: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    416: NULL
                    417: -- after repeating '\0' times is => 
                    418: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    419: NULL
                    420: -- after repeating '' times is => string(0) ""
                    421: -- after repeating '1' times is => string(1) " "
                    422: -- after repeating '4' times is => string(4) "    "
                    423: -- after repeating '1.23' times is => string(1) " "
                    424: -- after repeating '' times is => 
                    425: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    426: NULL
                    427: -- after repeating ' ' times is => 
                    428: Warning: str_repeat() expects parameter 2 to be long, string given in %s on line %d
                    429: NULL
                    430: 
                    431: *** Testing str_repeat() with complex strings containing 
                    432:        other than 7-bit chars ***
                    433: string(21) ""
                    434: string(21) ""
                    435: 
                    436: 
                    437: *** Testing error conditions ***
                    438: Warning: str_repeat() expects exactly 2 parameters, 0 given in %s on line %d
                    439: NULL
                    440: 
                    441: Warning: str_repeat() expects exactly 2 parameters, 1 given in %s on line %d
                    442: NULL
                    443: 
                    444: Warning: str_repeat() expects exactly 2 parameters, 3 given in %s on line %d
                    445: NULL
                    446: 
                    447: Warning: str_repeat(): Second argument has to be greater than or equal to 0 in %s on line %d
                    448: NULL
                    449: Done

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