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

1.1       misho       1: --TEST--
                      2: Test array_reverse() function : usage variations - unexpected values for 'preserve_keys' argument
                      3: --FILE--
                      4: <?php
                      5: /* Prototype  : array array_reverse(array $array [, bool $preserve_keys])
                      6:  * Description: Return input as a new array with the order of the entries reversed
                      7:  * Source code: ext/standard/array.c
                      8: */
                      9: 
                     10: /*
                     11:  * testing the functionality of array_reverse() by giving unexpected values for $preserve_keys argument
                     12: */
                     13: 
                     14: echo "*** Testing array_reverse() : usage variations ***\n";
                     15: 
                     16: // Initialise the array
                     17: $array = array("a" => "green", "red", "blue", "red", "orange", "pink");
                     18: 
                     19: //get an unset variable
                     20: $unset_var = 10;
                     21: unset ($unset_var);
                     22: 
                     23: //get a resource variable
                     24: $fp = fopen(__FILE__, "r");
                     25: 
                     26: //get a class
                     27: class classA
                     28: {
                     29:   public function __toString(){
                     30:     return "Class A object";
                     31:   }
                     32: }
                     33: 
                     34: //array of values to iterate over
                     35: $preserve_keys = array (
                     36: 
                     37:        // int data
                     38: /*1*/  0,
                     39:        1,
                     40:        12345,
                     41:        -2345,
                     42: 
                     43:        // float data
                     44: /*5*/  10.5,
                     45:        -10.5,
                     46:        10.5e10,
                     47:        10.6E-10,
                     48:        .5,
                     49: 
                     50:        // array data
                     51: /*10*/ array(),
                     52:        array(0),
                     53:        array(1),
                     54:        array(1, 2),
                     55:        array('color' => 'red', 'item' => 'pen'),
                     56: 
                     57:        // null data
                     58: /*15*/ NULL,
                     59:        null,
                     60: 
                     61:        // boolean data
                     62:        true,
                     63:        false,
                     64:        TRUE,
                     65:        FALSE,
                     66: 
                     67:        // empty data
                     68: /*21*/
                     69:        "",
                     70:        '',
                     71: 
                     72:        // object data
                     73:        new classA(),
                     74: 
                     75:        // undefined data
                     76:        @$undefined_var,
                     77: 
                     78:        // unset data
                     79:        @$unset_var,
                     80: 
                     81:        // resource variable
                     82: /*26*/ $fp
                     83: 
                     84: );
                     85: 
                     86: // loop through each element of the array $preserve_keys to check the behavior of array_reverse()
                     87: $iterator = 1;
                     88: foreach($preserve_keys as $preserve_key) {
                     89:   echo "-- Iteration $iterator --\n";
                     90:   var_dump( array_reverse($array, $preserve_key) );
                     91:   $iterator++;
                     92: };
                     93: 
                     94: // close the file resouce used
                     95: fclose($fp);
                     96: 
                     97: echo "Done";
                     98: ?>
                     99: --EXPECTF--
                    100: *** Testing array_reverse() : usage variations ***
                    101: -- Iteration 1 --
                    102: array(6) {
                    103:   [0]=>
                    104:   string(4) "pink"
                    105:   [1]=>
                    106:   string(6) "orange"
                    107:   [2]=>
                    108:   string(3) "red"
                    109:   [3]=>
                    110:   string(4) "blue"
                    111:   [4]=>
                    112:   string(3) "red"
                    113:   ["a"]=>
                    114:   string(5) "green"
                    115: }
                    116: -- Iteration 2 --
                    117: array(6) {
                    118:   [4]=>
                    119:   string(4) "pink"
                    120:   [3]=>
                    121:   string(6) "orange"
                    122:   [2]=>
                    123:   string(3) "red"
                    124:   [1]=>
                    125:   string(4) "blue"
                    126:   [0]=>
                    127:   string(3) "red"
                    128:   ["a"]=>
                    129:   string(5) "green"
                    130: }
                    131: -- Iteration 3 --
                    132: array(6) {
                    133:   [4]=>
                    134:   string(4) "pink"
                    135:   [3]=>
                    136:   string(6) "orange"
                    137:   [2]=>
                    138:   string(3) "red"
                    139:   [1]=>
                    140:   string(4) "blue"
                    141:   [0]=>
                    142:   string(3) "red"
                    143:   ["a"]=>
                    144:   string(5) "green"
                    145: }
                    146: -- Iteration 4 --
                    147: array(6) {
                    148:   [4]=>
                    149:   string(4) "pink"
                    150:   [3]=>
                    151:   string(6) "orange"
                    152:   [2]=>
                    153:   string(3) "red"
                    154:   [1]=>
                    155:   string(4) "blue"
                    156:   [0]=>
                    157:   string(3) "red"
                    158:   ["a"]=>
                    159:   string(5) "green"
                    160: }
                    161: -- Iteration 5 --
                    162: array(6) {
                    163:   [4]=>
                    164:   string(4) "pink"
                    165:   [3]=>
                    166:   string(6) "orange"
                    167:   [2]=>
                    168:   string(3) "red"
                    169:   [1]=>
                    170:   string(4) "blue"
                    171:   [0]=>
                    172:   string(3) "red"
                    173:   ["a"]=>
                    174:   string(5) "green"
                    175: }
                    176: -- Iteration 6 --
                    177: array(6) {
                    178:   [4]=>
                    179:   string(4) "pink"
                    180:   [3]=>
                    181:   string(6) "orange"
                    182:   [2]=>
                    183:   string(3) "red"
                    184:   [1]=>
                    185:   string(4) "blue"
                    186:   [0]=>
                    187:   string(3) "red"
                    188:   ["a"]=>
                    189:   string(5) "green"
                    190: }
                    191: -- Iteration 7 --
                    192: array(6) {
                    193:   [4]=>
                    194:   string(4) "pink"
                    195:   [3]=>
                    196:   string(6) "orange"
                    197:   [2]=>
                    198:   string(3) "red"
                    199:   [1]=>
                    200:   string(4) "blue"
                    201:   [0]=>
                    202:   string(3) "red"
                    203:   ["a"]=>
                    204:   string(5) "green"
                    205: }
                    206: -- Iteration 8 --
                    207: array(6) {
                    208:   [4]=>
                    209:   string(4) "pink"
                    210:   [3]=>
                    211:   string(6) "orange"
                    212:   [2]=>
                    213:   string(3) "red"
                    214:   [1]=>
                    215:   string(4) "blue"
                    216:   [0]=>
                    217:   string(3) "red"
                    218:   ["a"]=>
                    219:   string(5) "green"
                    220: }
                    221: -- Iteration 9 --
                    222: array(6) {
                    223:   [4]=>
                    224:   string(4) "pink"
                    225:   [3]=>
                    226:   string(6) "orange"
                    227:   [2]=>
                    228:   string(3) "red"
                    229:   [1]=>
                    230:   string(4) "blue"
                    231:   [0]=>
                    232:   string(3) "red"
                    233:   ["a"]=>
                    234:   string(5) "green"
                    235: }
                    236: -- Iteration 10 --
                    237: 
                    238: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
                    239: NULL
                    240: -- Iteration 11 --
                    241: 
                    242: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
                    243: NULL
                    244: -- Iteration 12 --
                    245: 
                    246: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
                    247: NULL
                    248: -- Iteration 13 --
                    249: 
                    250: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
                    251: NULL
                    252: -- Iteration 14 --
                    253: 
                    254: Warning: array_reverse() expects parameter 2 to be boolean, array given in %s on line %d
                    255: NULL
                    256: -- Iteration 15 --
                    257: array(6) {
                    258:   [0]=>
                    259:   string(4) "pink"
                    260:   [1]=>
                    261:   string(6) "orange"
                    262:   [2]=>
                    263:   string(3) "red"
                    264:   [3]=>
                    265:   string(4) "blue"
                    266:   [4]=>
                    267:   string(3) "red"
                    268:   ["a"]=>
                    269:   string(5) "green"
                    270: }
                    271: -- Iteration 16 --
                    272: array(6) {
                    273:   [0]=>
                    274:   string(4) "pink"
                    275:   [1]=>
                    276:   string(6) "orange"
                    277:   [2]=>
                    278:   string(3) "red"
                    279:   [3]=>
                    280:   string(4) "blue"
                    281:   [4]=>
                    282:   string(3) "red"
                    283:   ["a"]=>
                    284:   string(5) "green"
                    285: }
                    286: -- Iteration 17 --
                    287: array(6) {
                    288:   [4]=>
                    289:   string(4) "pink"
                    290:   [3]=>
                    291:   string(6) "orange"
                    292:   [2]=>
                    293:   string(3) "red"
                    294:   [1]=>
                    295:   string(4) "blue"
                    296:   [0]=>
                    297:   string(3) "red"
                    298:   ["a"]=>
                    299:   string(5) "green"
                    300: }
                    301: -- Iteration 18 --
                    302: array(6) {
                    303:   [0]=>
                    304:   string(4) "pink"
                    305:   [1]=>
                    306:   string(6) "orange"
                    307:   [2]=>
                    308:   string(3) "red"
                    309:   [3]=>
                    310:   string(4) "blue"
                    311:   [4]=>
                    312:   string(3) "red"
                    313:   ["a"]=>
                    314:   string(5) "green"
                    315: }
                    316: -- Iteration 19 --
                    317: array(6) {
                    318:   [4]=>
                    319:   string(4) "pink"
                    320:   [3]=>
                    321:   string(6) "orange"
                    322:   [2]=>
                    323:   string(3) "red"
                    324:   [1]=>
                    325:   string(4) "blue"
                    326:   [0]=>
                    327:   string(3) "red"
                    328:   ["a"]=>
                    329:   string(5) "green"
                    330: }
                    331: -- Iteration 20 --
                    332: array(6) {
                    333:   [0]=>
                    334:   string(4) "pink"
                    335:   [1]=>
                    336:   string(6) "orange"
                    337:   [2]=>
                    338:   string(3) "red"
                    339:   [3]=>
                    340:   string(4) "blue"
                    341:   [4]=>
                    342:   string(3) "red"
                    343:   ["a"]=>
                    344:   string(5) "green"
                    345: }
                    346: -- Iteration 21 --
                    347: array(6) {
                    348:   [0]=>
                    349:   string(4) "pink"
                    350:   [1]=>
                    351:   string(6) "orange"
                    352:   [2]=>
                    353:   string(3) "red"
                    354:   [3]=>
                    355:   string(4) "blue"
                    356:   [4]=>
                    357:   string(3) "red"
                    358:   ["a"]=>
                    359:   string(5) "green"
                    360: }
                    361: -- Iteration 22 --
                    362: array(6) {
                    363:   [0]=>
                    364:   string(4) "pink"
                    365:   [1]=>
                    366:   string(6) "orange"
                    367:   [2]=>
                    368:   string(3) "red"
                    369:   [3]=>
                    370:   string(4) "blue"
                    371:   [4]=>
                    372:   string(3) "red"
                    373:   ["a"]=>
                    374:   string(5) "green"
                    375: }
                    376: -- Iteration 23 --
                    377: 
                    378: Warning: array_reverse() expects parameter 2 to be boolean, object given in %s on line %d
                    379: NULL
                    380: -- Iteration 24 --
                    381: array(6) {
                    382:   [0]=>
                    383:   string(4) "pink"
                    384:   [1]=>
                    385:   string(6) "orange"
                    386:   [2]=>
                    387:   string(3) "red"
                    388:   [3]=>
                    389:   string(4) "blue"
                    390:   [4]=>
                    391:   string(3) "red"
                    392:   ["a"]=>
                    393:   string(5) "green"
                    394: }
                    395: -- Iteration 25 --
                    396: array(6) {
                    397:   [0]=>
                    398:   string(4) "pink"
                    399:   [1]=>
                    400:   string(6) "orange"
                    401:   [2]=>
                    402:   string(3) "red"
                    403:   [3]=>
                    404:   string(4) "blue"
                    405:   [4]=>
                    406:   string(3) "red"
                    407:   ["a"]=>
                    408:   string(5) "green"
                    409: }
                    410: -- Iteration 26 --
                    411: 
                    412: Warning: array_reverse() expects parameter 2 to be boolean, resource given in %s on line %d
                    413: NULL
                    414: Done

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