Annotation of embedaddon/php/ext/standard/tests/array/array_rand_variation5.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: Test array_rand() function : usage variation - invalid values for 'req_num' parameter
        !             3: --FILE--
        !             4: <?php
        !             5: /* Prototype  : mixed array_rand(array $input [, int $num_req])
        !             6:  * Description: Return key/keys for random entry/entries in the array 
        !             7:  * Source code: ext/standard/array.c
        !             8: */
        !             9: 
        !            10: /*
        !            11: * Test behaviour of array_rand() function when associative array and 
        !            12: * various invalid values are passed to the 'input' and 'req_num' 
        !            13: * parameters respectively
        !            14: */
        !            15: 
        !            16: echo "*** Testing array_rand() : with invalid values for 'req_num' ***\n";
        !            17: 
        !            18: // initialise associative arrays
        !            19: $input = array(
        !            20:   1 => 'one', 2.2 => 'float key', 0.9 => 'decimal key',
        !            21:   2e2 => 'exp key1', 2000e-3 => 'negative exp key',
        !            22:   0xabc => 2748, 0x12f => '303', 0xff => "255",
        !            23:   0123 => 83, 0129 => 10, 010 => "8"
        !            24: );
        !            25:        
        !            26: // Testing array_rand() function with various invalid 'req_num' values
        !            27: // with valid num_req values  
        !            28: echo"\n-- With default num_req value --\n";
        !            29: var_dump( array_rand($input) );  // with default $num_req value
        !            30: echo"\n-- With num_req = 1 --\n";
        !            31: var_dump( array_rand($input, 1) );  // with valid $num_req value
        !            32: 
        !            33: // with invalid num_req value
        !            34: echo"\n-- With num_req = 0 --\n";
        !            35: var_dump( array_rand($input, 0) );  // with $num_req=0
        !            36: echo"\n-- With num_req = -1 --\n";
        !            37: var_dump( array_rand($input, -1) );  // with $num_req=-1
        !            38: echo"\n-- With num_req = -2 --\n";
        !            39: var_dump( array_rand($input, -2) );  // with $num_req=-2
        !            40: echo"\n-- With num_req more than number of members in 'input' array --\n";
        !            41: var_dump( array_rand($input, 13) );  // with $num_req=13
        !            42:  
        !            43: 
        !            44: echo "Done";
        !            45: ?>
        !            46: --EXPECTF--
        !            47: *** Testing array_rand() : with invalid values for 'req_num' ***
        !            48: 
        !            49: -- With default num_req value --
        !            50: int(%d)
        !            51: 
        !            52: -- With num_req = 1 --
        !            53: int(%d)
        !            54: 
        !            55: -- With num_req = 0 --
        !            56: 
        !            57: Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
        !            58: NULL
        !            59: 
        !            60: -- With num_req = -1 --
        !            61: 
        !            62: Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
        !            63: NULL
        !            64: 
        !            65: -- With num_req = -2 --
        !            66: 
        !            67: Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
        !            68: NULL
        !            69: 
        !            70: -- With num_req more than number of members in 'input' array --
        !            71: 
        !            72: Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
        !            73: NULL
        !            74: Done
        !            75: 

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