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

1.1       misho       1: --TEST--
                      2: str_pad() function
                      3: --INI--
                      4: precision=14
                      5: --FILE--
                      6: <?php
                      7: /* Pad a string to a certain length with another string */
                      8: 
                      9: echo "\n#### Basic operations ####\n";
                     10: $input_string = "str_pad()";
                     11: $pad_length = 20;
                     12: $pad_string = "-+";
                     13: var_dump( str_pad($input_string, $pad_length) ); // default pad_string & pad_type
                     14: var_dump( str_pad($input_string, $pad_length, $pad_string) ); // default pad_type
                     15: var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_LEFT) ); 
                     16: var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_RIGHT) );
                     17: var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_BOTH) );
                     18: 
                     19: echo "\n#### variations with input string and pad-length ####\n";
                     20: /* different input string variation */
                     21: $input_strings = array( 
                     22:                   "variation", // normal string
                     23:                    chr(0).chr(255).chr(128).chr(234).chr(143),         // >7-bit ASCII
                     24:                   "",  // empty string
                     25:                    NULL,  // NULL
                     26:                    true,  // boolean 
                     27:                    15,  // numeric
                     28:                    15.55,  // numeric
                     29:                    "2990"  // numeric string
                     30:                  );
                     31: /* different pad_lengths */
                     32: $pad_lengths = array(
                     33:                 -PHP_INT_MAX,  // huge negative value
                     34:                 -1,  // negative value
                     35:                  0,  // pad_length < sizeof(input_string)
                     36:                  9,  // pad_length <= sizeof(input_string)
                     37:                  10,  // pad_length > sizeof(input_string) 
                     38:                  16,  // pad_length > sizeof(input_string)
                     39:                );
                     40: $pad_string = "=";
                     41: /*loop through to use each varient of $pad_length on
                     42:   each element of $input_strings array */
                     43: foreach ($input_strings as $input_string ) {
                     44:   foreach ($pad_lengths as $pad_length ) {
                     45:     var_dump( str_pad($input_string, $pad_length) ); // default pad_string & pad_type
                     46:     var_dump( str_pad($input_string, $pad_length, $pad_string) ); // default pad_type
                     47:     var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_LEFT) ); 
                     48:     var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_RIGHT) );
                     49:     var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_BOTH) );
                     50:   }
                     51: }
                     52: 
                     53: echo "\n#### variation with pad string ####\n";
                     54: $pad_strings = array ("=", 1, true, "string_pad", 1.5, "\t", '\t');
                     55: $input_string="variation";
                     56: $pad_length = 16;
                     57: foreach ( $pad_strings as $pad_string ) {
                     58:     var_dump( str_pad($input_string, $pad_length, $pad_string) ); // default pad_type
                     59:     var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_LEFT) ); 
                     60:     var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_RIGHT) );
                     61:     var_dump( str_pad($input_string, $pad_length, $pad_string, STR_PAD_BOTH) );
                     62: }
                     63: 
                     64: echo "\n#### error conditions ####";
                     65: /* args less than min. expected of 2 */
                     66: str_pad();
                     67: str_pad($input_string);
                     68: 
                     69: /* args more than expected,expected 4 */
                     70: str_pad($input_tring, $pad_length, $pad_string, STR_PAD_LEFT, NULL );
                     71: 
                     72: echo "\n--- padding string as null ---";
                     73: str_pad($input_string, 12, NULL);
                     74: str_pad($input_string, 12, "");
                     75: 
                     76: /* bad pad_type - passing an undefined one */
                     77: var_dump( str_pad($input_string, $pad_length, "+", 15) );
                     78: 
                     79: echo "Done\n";
                     80: ?>
                     81: --EXPECTF--
                     82: #### Basic operations ####
                     83: string(20) "str_pad()           "
                     84: string(20) "str_pad()-+-+-+-+-+-"
                     85: string(20) "-+-+-+-+-+-str_pad()"
                     86: string(20) "str_pad()-+-+-+-+-+-"
                     87: string(20) "-+-+-str_pad()-+-+-+"
                     88: 
                     89: #### variations with input string and pad-length ####
                     90: string(9) "variation"
                     91: string(9) "variation"
                     92: string(9) "variation"
                     93: string(9) "variation"
                     94: string(9) "variation"
                     95: string(9) "variation"
                     96: string(9) "variation"
                     97: string(9) "variation"
                     98: string(9) "variation"
                     99: string(9) "variation"
                    100: string(9) "variation"
                    101: string(9) "variation"
                    102: string(9) "variation"
                    103: string(9) "variation"
                    104: string(9) "variation"
                    105: string(9) "variation"
                    106: string(9) "variation"
                    107: string(9) "variation"
                    108: string(9) "variation"
                    109: string(9) "variation"
                    110: string(10) "variation "
                    111: string(10) "variation="
                    112: string(10) "=variation"
                    113: string(10) "variation="
                    114: string(10) "variation="
                    115: string(16) "variation       "
                    116: string(16) "variation======="
                    117: string(16) "=======variation"
                    118: string(16) "variation======="
                    119: string(16) "===variation===="
                    120: string(5) ""
                    121: string(5) ""
                    122: string(5) ""
                    123: string(5) ""
                    124: string(5) ""
                    125: string(5) ""
                    126: string(5) ""
                    127: string(5) ""
                    128: string(5) ""
                    129: string(5) ""
                    130: string(5) ""
                    131: string(5) ""
                    132: string(5) ""
                    133: string(5) ""
                    134: string(5) ""
                    135: string(9) "    "
                    136: string(9) "===="
                    137: string(9) "===="
                    138: string(9) "===="
                    139: string(9) "===="
                    140: string(10) "     "
                    141: string(10) "====="
                    142: string(10) "====="
                    143: string(10) "====="
                    144: string(10) "====="
                    145: string(16) "           "
                    146: string(16) "==========="
                    147: string(16) "==========="
                    148: string(16) "==========="
                    149: string(16) "==========="
                    150: string(0) ""
                    151: string(0) ""
                    152: string(0) ""
                    153: string(0) ""
                    154: string(0) ""
                    155: string(0) ""
                    156: string(0) ""
                    157: string(0) ""
                    158: string(0) ""
                    159: string(0) ""
                    160: string(0) ""
                    161: string(0) ""
                    162: string(0) ""
                    163: string(0) ""
                    164: string(0) ""
                    165: string(9) "         "
                    166: string(9) "========="
                    167: string(9) "========="
                    168: string(9) "========="
                    169: string(9) "========="
                    170: string(10) "          "
                    171: string(10) "=========="
                    172: string(10) "=========="
                    173: string(10) "=========="
                    174: string(10) "=========="
                    175: string(16) "                "
                    176: string(16) "================"
                    177: string(16) "================"
                    178: string(16) "================"
                    179: string(16) "================"
                    180: string(0) ""
                    181: string(0) ""
                    182: string(0) ""
                    183: string(0) ""
                    184: string(0) ""
                    185: string(0) ""
                    186: string(0) ""
                    187: string(0) ""
                    188: string(0) ""
                    189: string(0) ""
                    190: string(0) ""
                    191: string(0) ""
                    192: string(0) ""
                    193: string(0) ""
                    194: string(0) ""
                    195: string(9) "         "
                    196: string(9) "========="
                    197: string(9) "========="
                    198: string(9) "========="
                    199: string(9) "========="
                    200: string(10) "          "
                    201: string(10) "=========="
                    202: string(10) "=========="
                    203: string(10) "=========="
                    204: string(10) "=========="
                    205: string(16) "                "
                    206: string(16) "================"
                    207: string(16) "================"
                    208: string(16) "================"
                    209: string(16) "================"
                    210: string(1) "1"
                    211: string(1) "1"
                    212: string(1) "1"
                    213: string(1) "1"
                    214: string(1) "1"
                    215: string(1) "1"
                    216: string(1) "1"
                    217: string(1) "1"
                    218: string(1) "1"
                    219: string(1) "1"
                    220: string(1) "1"
                    221: string(1) "1"
                    222: string(1) "1"
                    223: string(1) "1"
                    224: string(1) "1"
                    225: string(9) "1        "
                    226: string(9) "1========"
                    227: string(9) "========1"
                    228: string(9) "1========"
                    229: string(9) "====1===="
                    230: string(10) "1         "
                    231: string(10) "1========="
                    232: string(10) "=========1"
                    233: string(10) "1========="
                    234: string(10) "====1====="
                    235: string(16) "1               "
                    236: string(16) "1==============="
                    237: string(16) "===============1"
                    238: string(16) "1==============="
                    239: string(16) "=======1========"
                    240: string(2) "15"
                    241: string(2) "15"
                    242: string(2) "15"
                    243: string(2) "15"
                    244: string(2) "15"
                    245: string(2) "15"
                    246: string(2) "15"
                    247: string(2) "15"
                    248: string(2) "15"
                    249: string(2) "15"
                    250: string(2) "15"
                    251: string(2) "15"
                    252: string(2) "15"
                    253: string(2) "15"
                    254: string(2) "15"
                    255: string(9) "15       "
                    256: string(9) "15======="
                    257: string(9) "=======15"
                    258: string(9) "15======="
                    259: string(9) "===15===="
                    260: string(10) "15        "
                    261: string(10) "15========"
                    262: string(10) "========15"
                    263: string(10) "15========"
                    264: string(10) "====15===="
                    265: string(16) "15              "
                    266: string(16) "15=============="
                    267: string(16) "==============15"
                    268: string(16) "15=============="
                    269: string(16) "=======15======="
                    270: string(5) "15.55"
                    271: string(5) "15.55"
                    272: string(5) "15.55"
                    273: string(5) "15.55"
                    274: string(5) "15.55"
                    275: string(5) "15.55"
                    276: string(5) "15.55"
                    277: string(5) "15.55"
                    278: string(5) "15.55"
                    279: string(5) "15.55"
                    280: string(5) "15.55"
                    281: string(5) "15.55"
                    282: string(5) "15.55"
                    283: string(5) "15.55"
                    284: string(5) "15.55"
                    285: string(9) "15.55    "
                    286: string(9) "15.55===="
                    287: string(9) "====15.55"
                    288: string(9) "15.55===="
                    289: string(9) "==15.55=="
                    290: string(10) "15.55     "
                    291: string(10) "15.55====="
                    292: string(10) "=====15.55"
                    293: string(10) "15.55====="
                    294: string(10) "==15.55==="
                    295: string(16) "15.55           "
                    296: string(16) "15.55==========="
                    297: string(16) "===========15.55"
                    298: string(16) "15.55==========="
                    299: string(16) "=====15.55======"
                    300: string(4) "2990"
                    301: string(4) "2990"
                    302: string(4) "2990"
                    303: string(4) "2990"
                    304: string(4) "2990"
                    305: string(4) "2990"
                    306: string(4) "2990"
                    307: string(4) "2990"
                    308: string(4) "2990"
                    309: string(4) "2990"
                    310: string(4) "2990"
                    311: string(4) "2990"
                    312: string(4) "2990"
                    313: string(4) "2990"
                    314: string(4) "2990"
                    315: string(9) "2990     "
                    316: string(9) "2990====="
                    317: string(9) "=====2990"
                    318: string(9) "2990====="
                    319: string(9) "==2990==="
                    320: string(10) "2990      "
                    321: string(10) "2990======"
                    322: string(10) "======2990"
                    323: string(10) "2990======"
                    324: string(10) "===2990==="
                    325: string(16) "2990            "
                    326: string(16) "2990============"
                    327: string(16) "============2990"
                    328: string(16) "2990============"
                    329: string(16) "======2990======"
                    330: 
                    331: #### variation with pad string ####
                    332: string(16) "variation======="
                    333: string(16) "=======variation"
                    334: string(16) "variation======="
                    335: string(16) "===variation===="
                    336: string(16) "variation1111111"
                    337: string(16) "1111111variation"
                    338: string(16) "variation1111111"
                    339: string(16) "111variation1111"
                    340: string(16) "variation1111111"
                    341: string(16) "1111111variation"
                    342: string(16) "variation1111111"
                    343: string(16) "111variation1111"
                    344: string(16) "variationstring_"
                    345: string(16) "string_variation"
                    346: string(16) "variationstring_"
                    347: string(16) "strvariationstri"
                    348: string(16) "variation1.51.51"
                    349: string(16) "1.51.51variation"
                    350: string(16) "variation1.51.51"
                    351: string(16) "1.5variation1.51"
                    352: string(16) "variation                                                  "
                    353: string(16) "                                                   variation"
                    354: string(16) "variation                                                  "
                    355: string(16) "                   variation                               "
                    356: string(16) "variation\t\t\t\"
                    357: string(16) "\t\t\t\variation"
                    358: string(16) "variation\t\t\t\"
                    359: string(16) "\t\variation\t\t"
                    360: 
                    361: #### error conditions ####
                    362: Warning: str_pad() expects at least 2 parameters, 0 given in %s on line %d
                    363: 
                    364: Warning: str_pad() expects at least 2 parameters, 1 given in %s on line %d
                    365: 
                    366: Notice: Undefined variable: input_tring in %s on line %d
                    367: 
                    368: Warning: str_pad() expects at most 4 parameters, 5 given in %s on line %d
                    369: 
                    370: --- padding string as null ---
                    371: Warning: str_pad(): Padding string cannot be empty in %s on line %d
                    372: 
                    373: Warning: str_pad(): Padding string cannot be empty in %s on line %d
                    374: 
                    375: Warning: str_pad(): Padding type has to be STR_PAD_LEFT, STR_PAD_RIGHT, or STR_PAD_BOTH in %s on line %d
                    376: NULL
                    377: Done

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