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