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