Annotation of embedaddon/php/ext/standard/tests/array/array_pad_variation3.phpt, revision 1.1.1.1

1.1       misho       1: --TEST--
                      2: Test array_pad() function : usage variations - possible values for 'pad_value' argument
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array array_pad(array $input, int $pad_size, mixed $pad_value)
                      6:  * Description: Returns a copy of input array padded with pad_value to size pad_size 
                      7:  * Source code: ext/standard/array.c
                      8: */
                      9: 
                     10: /* 
                     11: * Testing array_pad() function for expected behavior by passing
                     12: * different possible values for $pad_value argument.
                     13: * $input and $pad_size arguments take fixed value.
                     14: */
                     15: 
                     16: echo "*** Testing array_pad() : possible values for \$pad_value argument ***\n";
                     17: 
                     18: // Initialise $input and $pad_size argument
                     19: $input = array(1, 2);
                     20: $pad_size = 4;
                     21: 
                     22: //get an unset variable
                     23: $unset_var = 10;
                     24: unset ($unset_var);
                     25: 
                     26: // get a class
                     27: class classA
                     28: {
                     29:   public function __toString() {
                     30:     return "Class A object";
                     31:   }
                     32: }
                     33: 
                     34: // heredoc string
                     35: $heredoc = <<<EOT
                     36: hello world
                     37: EOT;
                     38: 
                     39: // get a resource variable
                     40: $fp = fopen(__FILE__, "r");
                     41: 
                     42: // get a reference variable
                     43: $value = "hello";
                     44: $reference = &$value;
                     45: 
                     46: // different values to be passed to $pad_value argument
                     47: $pad_values = array(
                     48: 
                     49:        // int data
                     50: /*1*/  0,
                     51:        1,
                     52:        12345,
                     53:        -2345,
                     54: 
                     55:        // float data
                     56: /*5*/  10.5,
                     57:        -10.5,
                     58:        12.3456789000e10,
                     59:        12.3456789000E-10,
                     60:       .5,
                     61: 
                     62:        // array data
                     63: /*10*/ array(),
                     64:        array(0),
                     65:        array(1),
                     66:        array(1, 2),
                     67:        array('color' => 'red', 'item' => 'pen'),
                     68: 
                     69:        // null data
                     70: /*15*/ NULL,
                     71:        null,
                     72: 
                     73:        // boolean data
                     74: /*17*/ true,
                     75:        false,
                     76:        TRUE,
                     77:        FALSE,
                     78: 
                     79:        // empty data
                     80: /*21*/ "",
                     81:        '',
                     82: 
                     83:        // string data
                     84: /*23*/ "string",
                     85:        'string',
                     86:        $heredoc,
                     87: 
                     88:        // strings with different white spaces
                     89: /*26*/ "\v\fHello\t world!! \rstring\n",
                     90:        '\v\fHello\t world!! \rstring\n',
                     91: 
                     92:        // object data
                     93: /*28*/ new classA(),
                     94: 
                     95:        // undefined data
                     96: /*29*/ @$undefined_var,
                     97: 
                     98:        // unset data
                     99: /*30*/ @$unset_var,
                    100:   
                    101:        // resource variable
                    102: /*31*/ $fp,
                    103: 
                    104:        // reference variable
                    105: /*32*/ $reference
                    106: );
                    107: 
                    108: // loop through each element of $pad_values to check the behavior of array_pad()
                    109: $iterator = 1;
                    110: foreach($pad_values as $pad_value) {
                    111:   echo "-- Iteration $iterator --\n";
                    112:   var_dump( array_pad($input, $pad_size, $pad_value) );  // positive 'pad_size'
                    113:   var_dump( array_pad($input, -$pad_size, $pad_value) );  // negative 'pad_size'
                    114:   $iterator++;
                    115: };
                    116: 
                    117: echo "Done";
                    118: ?>
                    119: --EXPECTF--
                    120: *** Testing array_pad() : possible values for $pad_value argument ***
                    121: -- Iteration 1 --
                    122: array(4) {
                    123:   [0]=>
                    124:   int(1)
                    125:   [1]=>
                    126:   int(2)
                    127:   [2]=>
                    128:   int(0)
                    129:   [3]=>
                    130:   int(0)
                    131: }
                    132: array(4) {
                    133:   [0]=>
                    134:   int(0)
                    135:   [1]=>
                    136:   int(0)
                    137:   [2]=>
                    138:   int(1)
                    139:   [3]=>
                    140:   int(2)
                    141: }
                    142: -- Iteration 2 --
                    143: array(4) {
                    144:   [0]=>
                    145:   int(1)
                    146:   [1]=>
                    147:   int(2)
                    148:   [2]=>
                    149:   int(1)
                    150:   [3]=>
                    151:   int(1)
                    152: }
                    153: array(4) {
                    154:   [0]=>
                    155:   int(1)
                    156:   [1]=>
                    157:   int(1)
                    158:   [2]=>
                    159:   int(1)
                    160:   [3]=>
                    161:   int(2)
                    162: }
                    163: -- Iteration 3 --
                    164: array(4) {
                    165:   [0]=>
                    166:   int(1)
                    167:   [1]=>
                    168:   int(2)
                    169:   [2]=>
                    170:   int(12345)
                    171:   [3]=>
                    172:   int(12345)
                    173: }
                    174: array(4) {
                    175:   [0]=>
                    176:   int(12345)
                    177:   [1]=>
                    178:   int(12345)
                    179:   [2]=>
                    180:   int(1)
                    181:   [3]=>
                    182:   int(2)
                    183: }
                    184: -- Iteration 4 --
                    185: array(4) {
                    186:   [0]=>
                    187:   int(1)
                    188:   [1]=>
                    189:   int(2)
                    190:   [2]=>
                    191:   int(-2345)
                    192:   [3]=>
                    193:   int(-2345)
                    194: }
                    195: array(4) {
                    196:   [0]=>
                    197:   int(-2345)
                    198:   [1]=>
                    199:   int(-2345)
                    200:   [2]=>
                    201:   int(1)
                    202:   [3]=>
                    203:   int(2)
                    204: }
                    205: -- Iteration 5 --
                    206: array(4) {
                    207:   [0]=>
                    208:   int(1)
                    209:   [1]=>
                    210:   int(2)
                    211:   [2]=>
                    212:   float(10.5)
                    213:   [3]=>
                    214:   float(10.5)
                    215: }
                    216: array(4) {
                    217:   [0]=>
                    218:   float(10.5)
                    219:   [1]=>
                    220:   float(10.5)
                    221:   [2]=>
                    222:   int(1)
                    223:   [3]=>
                    224:   int(2)
                    225: }
                    226: -- Iteration 6 --
                    227: array(4) {
                    228:   [0]=>
                    229:   int(1)
                    230:   [1]=>
                    231:   int(2)
                    232:   [2]=>
                    233:   float(-10.5)
                    234:   [3]=>
                    235:   float(-10.5)
                    236: }
                    237: array(4) {
                    238:   [0]=>
                    239:   float(-10.5)
                    240:   [1]=>
                    241:   float(-10.5)
                    242:   [2]=>
                    243:   int(1)
                    244:   [3]=>
                    245:   int(2)
                    246: }
                    247: -- Iteration 7 --
                    248: array(4) {
                    249:   [0]=>
                    250:   int(1)
                    251:   [1]=>
                    252:   int(2)
                    253:   [2]=>
                    254:   float(123456789000)
                    255:   [3]=>
                    256:   float(123456789000)
                    257: }
                    258: array(4) {
                    259:   [0]=>
                    260:   float(123456789000)
                    261:   [1]=>
                    262:   float(123456789000)
                    263:   [2]=>
                    264:   int(1)
                    265:   [3]=>
                    266:   int(2)
                    267: }
                    268: -- Iteration 8 --
                    269: array(4) {
                    270:   [0]=>
                    271:   int(1)
                    272:   [1]=>
                    273:   int(2)
                    274:   [2]=>
                    275:   float(1.23456789E-9)
                    276:   [3]=>
                    277:   float(1.23456789E-9)
                    278: }
                    279: array(4) {
                    280:   [0]=>
                    281:   float(1.23456789E-9)
                    282:   [1]=>
                    283:   float(1.23456789E-9)
                    284:   [2]=>
                    285:   int(1)
                    286:   [3]=>
                    287:   int(2)
                    288: }
                    289: -- Iteration 9 --
                    290: array(4) {
                    291:   [0]=>
                    292:   int(1)
                    293:   [1]=>
                    294:   int(2)
                    295:   [2]=>
                    296:   float(0.5)
                    297:   [3]=>
                    298:   float(0.5)
                    299: }
                    300: array(4) {
                    301:   [0]=>
                    302:   float(0.5)
                    303:   [1]=>
                    304:   float(0.5)
                    305:   [2]=>
                    306:   int(1)
                    307:   [3]=>
                    308:   int(2)
                    309: }
                    310: -- Iteration 10 --
                    311: array(4) {
                    312:   [0]=>
                    313:   int(1)
                    314:   [1]=>
                    315:   int(2)
                    316:   [2]=>
                    317:   array(0) {
                    318:   }
                    319:   [3]=>
                    320:   array(0) {
                    321:   }
                    322: }
                    323: array(4) {
                    324:   [0]=>
                    325:   array(0) {
                    326:   }
                    327:   [1]=>
                    328:   array(0) {
                    329:   }
                    330:   [2]=>
                    331:   int(1)
                    332:   [3]=>
                    333:   int(2)
                    334: }
                    335: -- Iteration 11 --
                    336: array(4) {
                    337:   [0]=>
                    338:   int(1)
                    339:   [1]=>
                    340:   int(2)
                    341:   [2]=>
                    342:   array(1) {
                    343:     [0]=>
                    344:     int(0)
                    345:   }
                    346:   [3]=>
                    347:   array(1) {
                    348:     [0]=>
                    349:     int(0)
                    350:   }
                    351: }
                    352: array(4) {
                    353:   [0]=>
                    354:   array(1) {
                    355:     [0]=>
                    356:     int(0)
                    357:   }
                    358:   [1]=>
                    359:   array(1) {
                    360:     [0]=>
                    361:     int(0)
                    362:   }
                    363:   [2]=>
                    364:   int(1)
                    365:   [3]=>
                    366:   int(2)
                    367: }
                    368: -- Iteration 12 --
                    369: array(4) {
                    370:   [0]=>
                    371:   int(1)
                    372:   [1]=>
                    373:   int(2)
                    374:   [2]=>
                    375:   array(1) {
                    376:     [0]=>
                    377:     int(1)
                    378:   }
                    379:   [3]=>
                    380:   array(1) {
                    381:     [0]=>
                    382:     int(1)
                    383:   }
                    384: }
                    385: array(4) {
                    386:   [0]=>
                    387:   array(1) {
                    388:     [0]=>
                    389:     int(1)
                    390:   }
                    391:   [1]=>
                    392:   array(1) {
                    393:     [0]=>
                    394:     int(1)
                    395:   }
                    396:   [2]=>
                    397:   int(1)
                    398:   [3]=>
                    399:   int(2)
                    400: }
                    401: -- Iteration 13 --
                    402: array(4) {
                    403:   [0]=>
                    404:   int(1)
                    405:   [1]=>
                    406:   int(2)
                    407:   [2]=>
                    408:   array(2) {
                    409:     [0]=>
                    410:     int(1)
                    411:     [1]=>
                    412:     int(2)
                    413:   }
                    414:   [3]=>
                    415:   array(2) {
                    416:     [0]=>
                    417:     int(1)
                    418:     [1]=>
                    419:     int(2)
                    420:   }
                    421: }
                    422: array(4) {
                    423:   [0]=>
                    424:   array(2) {
                    425:     [0]=>
                    426:     int(1)
                    427:     [1]=>
                    428:     int(2)
                    429:   }
                    430:   [1]=>
                    431:   array(2) {
                    432:     [0]=>
                    433:     int(1)
                    434:     [1]=>
                    435:     int(2)
                    436:   }
                    437:   [2]=>
                    438:   int(1)
                    439:   [3]=>
                    440:   int(2)
                    441: }
                    442: -- Iteration 14 --
                    443: array(4) {
                    444:   [0]=>
                    445:   int(1)
                    446:   [1]=>
                    447:   int(2)
                    448:   [2]=>
                    449:   array(2) {
                    450:     ["color"]=>
                    451:     string(3) "red"
                    452:     ["item"]=>
                    453:     string(3) "pen"
                    454:   }
                    455:   [3]=>
                    456:   array(2) {
                    457:     ["color"]=>
                    458:     string(3) "red"
                    459:     ["item"]=>
                    460:     string(3) "pen"
                    461:   }
                    462: }
                    463: array(4) {
                    464:   [0]=>
                    465:   array(2) {
                    466:     ["color"]=>
                    467:     string(3) "red"
                    468:     ["item"]=>
                    469:     string(3) "pen"
                    470:   }
                    471:   [1]=>
                    472:   array(2) {
                    473:     ["color"]=>
                    474:     string(3) "red"
                    475:     ["item"]=>
                    476:     string(3) "pen"
                    477:   }
                    478:   [2]=>
                    479:   int(1)
                    480:   [3]=>
                    481:   int(2)
                    482: }
                    483: -- Iteration 15 --
                    484: array(4) {
                    485:   [0]=>
                    486:   int(1)
                    487:   [1]=>
                    488:   int(2)
                    489:   [2]=>
                    490:   NULL
                    491:   [3]=>
                    492:   NULL
                    493: }
                    494: array(4) {
                    495:   [0]=>
                    496:   NULL
                    497:   [1]=>
                    498:   NULL
                    499:   [2]=>
                    500:   int(1)
                    501:   [3]=>
                    502:   int(2)
                    503: }
                    504: -- Iteration 16 --
                    505: array(4) {
                    506:   [0]=>
                    507:   int(1)
                    508:   [1]=>
                    509:   int(2)
                    510:   [2]=>
                    511:   NULL
                    512:   [3]=>
                    513:   NULL
                    514: }
                    515: array(4) {
                    516:   [0]=>
                    517:   NULL
                    518:   [1]=>
                    519:   NULL
                    520:   [2]=>
                    521:   int(1)
                    522:   [3]=>
                    523:   int(2)
                    524: }
                    525: -- Iteration 17 --
                    526: array(4) {
                    527:   [0]=>
                    528:   int(1)
                    529:   [1]=>
                    530:   int(2)
                    531:   [2]=>
                    532:   bool(true)
                    533:   [3]=>
                    534:   bool(true)
                    535: }
                    536: array(4) {
                    537:   [0]=>
                    538:   bool(true)
                    539:   [1]=>
                    540:   bool(true)
                    541:   [2]=>
                    542:   int(1)
                    543:   [3]=>
                    544:   int(2)
                    545: }
                    546: -- Iteration 18 --
                    547: array(4) {
                    548:   [0]=>
                    549:   int(1)
                    550:   [1]=>
                    551:   int(2)
                    552:   [2]=>
                    553:   bool(false)
                    554:   [3]=>
                    555:   bool(false)
                    556: }
                    557: array(4) {
                    558:   [0]=>
                    559:   bool(false)
                    560:   [1]=>
                    561:   bool(false)
                    562:   [2]=>
                    563:   int(1)
                    564:   [3]=>
                    565:   int(2)
                    566: }
                    567: -- Iteration 19 --
                    568: array(4) {
                    569:   [0]=>
                    570:   int(1)
                    571:   [1]=>
                    572:   int(2)
                    573:   [2]=>
                    574:   bool(true)
                    575:   [3]=>
                    576:   bool(true)
                    577: }
                    578: array(4) {
                    579:   [0]=>
                    580:   bool(true)
                    581:   [1]=>
                    582:   bool(true)
                    583:   [2]=>
                    584:   int(1)
                    585:   [3]=>
                    586:   int(2)
                    587: }
                    588: -- Iteration 20 --
                    589: array(4) {
                    590:   [0]=>
                    591:   int(1)
                    592:   [1]=>
                    593:   int(2)
                    594:   [2]=>
                    595:   bool(false)
                    596:   [3]=>
                    597:   bool(false)
                    598: }
                    599: array(4) {
                    600:   [0]=>
                    601:   bool(false)
                    602:   [1]=>
                    603:   bool(false)
                    604:   [2]=>
                    605:   int(1)
                    606:   [3]=>
                    607:   int(2)
                    608: }
                    609: -- Iteration 21 --
                    610: array(4) {
                    611:   [0]=>
                    612:   int(1)
                    613:   [1]=>
                    614:   int(2)
                    615:   [2]=>
                    616:   string(0) ""
                    617:   [3]=>
                    618:   string(0) ""
                    619: }
                    620: array(4) {
                    621:   [0]=>
                    622:   string(0) ""
                    623:   [1]=>
                    624:   string(0) ""
                    625:   [2]=>
                    626:   int(1)
                    627:   [3]=>
                    628:   int(2)
                    629: }
                    630: -- Iteration 22 --
                    631: array(4) {
                    632:   [0]=>
                    633:   int(1)
                    634:   [1]=>
                    635:   int(2)
                    636:   [2]=>
                    637:   string(0) ""
                    638:   [3]=>
                    639:   string(0) ""
                    640: }
                    641: array(4) {
                    642:   [0]=>
                    643:   string(0) ""
                    644:   [1]=>
                    645:   string(0) ""
                    646:   [2]=>
                    647:   int(1)
                    648:   [3]=>
                    649:   int(2)
                    650: }
                    651: -- Iteration 23 --
                    652: array(4) {
                    653:   [0]=>
                    654:   int(1)
                    655:   [1]=>
                    656:   int(2)
                    657:   [2]=>
                    658:   string(6) "string"
                    659:   [3]=>
                    660:   string(6) "string"
                    661: }
                    662: array(4) {
                    663:   [0]=>
                    664:   string(6) "string"
                    665:   [1]=>
                    666:   string(6) "string"
                    667:   [2]=>
                    668:   int(1)
                    669:   [3]=>
                    670:   int(2)
                    671: }
                    672: -- Iteration 24 --
                    673: array(4) {
                    674:   [0]=>
                    675:   int(1)
                    676:   [1]=>
                    677:   int(2)
                    678:   [2]=>
                    679:   string(6) "string"
                    680:   [3]=>
                    681:   string(6) "string"
                    682: }
                    683: array(4) {
                    684:   [0]=>
                    685:   string(6) "string"
                    686:   [1]=>
                    687:   string(6) "string"
                    688:   [2]=>
                    689:   int(1)
                    690:   [3]=>
                    691:   int(2)
                    692: }
                    693: -- Iteration 25 --
                    694: array(4) {
                    695:   [0]=>
                    696:   int(1)
                    697:   [1]=>
                    698:   int(2)
                    699:   [2]=>
                    700:   string(11) "hello world"
                    701:   [3]=>
                    702:   string(11) "hello world"
                    703: }
                    704: array(4) {
                    705:   [0]=>
                    706:   string(11) "hello world"
                    707:   [1]=>
                    708:   string(11) "hello world"
                    709:   [2]=>
                    710:   int(1)
                    711:   [3]=>
                    712:   int(2)
                    713: }
                    714: -- Iteration 26 --
                    715: array(4) {
                    716:   [0]=>
                    717:   int(1)
                    718:   [1]=>
                    719:   int(2)
                    720:   [2]=>
                    721:   string(25) "Hello   world!! 
string
                    722: "
                    723:   [3]=>
                    724:   string(25) "Hello   world!! 
string
                    725: "
                    726: }
                    727: array(4) {
                    728:   [0]=>
                    729:   string(25) "Hello   world!! 
string
                    730: "
                    731:   [1]=>
                    732:   string(25) "Hello   world!! 
string
                    733: "
                    734:   [2]=>
                    735:   int(1)
                    736:   [3]=>
                    737:   int(2)
                    738: }
                    739: -- Iteration 27 --
                    740: array(4) {
                    741:   [0]=>
                    742:   int(1)
                    743:   [1]=>
                    744:   int(2)
                    745:   [2]=>
                    746:   string(30) "\v\fHello\t world!! \rstring\n"
                    747:   [3]=>
                    748:   string(30) "\v\fHello\t world!! \rstring\n"
                    749: }
                    750: array(4) {
                    751:   [0]=>
                    752:   string(30) "\v\fHello\t world!! \rstring\n"
                    753:   [1]=>
                    754:   string(30) "\v\fHello\t world!! \rstring\n"
                    755:   [2]=>
                    756:   int(1)
                    757:   [3]=>
                    758:   int(2)
                    759: }
                    760: -- Iteration 28 --
                    761: array(4) {
                    762:   [0]=>
                    763:   int(1)
                    764:   [1]=>
                    765:   int(2)
                    766:   [2]=>
                    767:   object(classA)#%d (0) {
                    768:   }
                    769:   [3]=>
                    770:   object(classA)#%d (0) {
                    771:   }
                    772: }
                    773: array(4) {
                    774:   [0]=>
                    775:   object(classA)#%d (0) {
                    776:   }
                    777:   [1]=>
                    778:   object(classA)#%d (0) {
                    779:   }
                    780:   [2]=>
                    781:   int(1)
                    782:   [3]=>
                    783:   int(2)
                    784: }
                    785: -- Iteration 29 --
                    786: array(4) {
                    787:   [0]=>
                    788:   int(1)
                    789:   [1]=>
                    790:   int(2)
                    791:   [2]=>
                    792:   NULL
                    793:   [3]=>
                    794:   NULL
                    795: }
                    796: array(4) {
                    797:   [0]=>
                    798:   NULL
                    799:   [1]=>
                    800:   NULL
                    801:   [2]=>
                    802:   int(1)
                    803:   [3]=>
                    804:   int(2)
                    805: }
                    806: -- Iteration 30 --
                    807: array(4) {
                    808:   [0]=>
                    809:   int(1)
                    810:   [1]=>
                    811:   int(2)
                    812:   [2]=>
                    813:   NULL
                    814:   [3]=>
                    815:   NULL
                    816: }
                    817: array(4) {
                    818:   [0]=>
                    819:   NULL
                    820:   [1]=>
                    821:   NULL
                    822:   [2]=>
                    823:   int(1)
                    824:   [3]=>
                    825:   int(2)
                    826: }
                    827: -- Iteration 31 --
                    828: array(4) {
                    829:   [0]=>
                    830:   int(1)
                    831:   [1]=>
                    832:   int(2)
                    833:   [2]=>
                    834:   resource(%d) of type (stream)
                    835:   [3]=>
                    836:   resource(%d) of type (stream)
                    837: }
                    838: array(4) {
                    839:   [0]=>
                    840:   resource(%d) of type (stream)
                    841:   [1]=>
                    842:   resource(%d) of type (stream)
                    843:   [2]=>
                    844:   int(1)
                    845:   [3]=>
                    846:   int(2)
                    847: }
                    848: -- Iteration 32 --
                    849: array(4) {
                    850:   [0]=>
                    851:   int(1)
                    852:   [1]=>
                    853:   int(2)
                    854:   [2]=>
                    855:   string(5) "hello"
                    856:   [3]=>
                    857:   string(5) "hello"
                    858: }
                    859: array(4) {
                    860:   [0]=>
                    861:   string(5) "hello"
                    862:   [1]=>
                    863:   string(5) "hello"
                    864:   [2]=>
                    865:   int(1)
                    866:   [3]=>
                    867:   int(2)
                    868: }
                    869: Done

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