--FILE--
<?php
-/* Prototype: mixed array_pop( array &array );
- * Description: Pops and returns the last value of the array.
- */
-
array_pop($GLOBALS);
$empty_array = array();
5.4 => 54, 5.7 => 57, "5.4" => 554, "5.7" => 557 )
);
-/* Testing Error Conditions */
-echo "\n*** Testing Error Conditions ***\n";
-
-/* Zero argument */
-var_dump( array_pop() );
-
-/* Scalar argument */
-var_dump( array_pop($number) );
-
-/* String argument */
-var_dump( array_pop($str) );
-
-/* Invalid Number of arguments */
-var_dump( array_pop($mixed_array[1],$mixed_array[2]) );
-
-/* Empty Array as argument */
-var_dump( array_pop($empty_array) );
-
/* Loop to test normal functionality with different arrays inputs */
echo "\n*** Normal testing with various array inputs ***\n";
$counter++;
}
-echo"\n*** Checking for internal array pointer being reset when pop is called ***\n";
-
-echo "\nCurrent Element is : ";
-var_dump( current($mixed_array[1]) );
-
-echo "\nNext Element is : ";
-var_dump( next($mixed_array[1]) );
-
-echo "\nNext Element is : ";
-var_dump( next($mixed_array[1]) );
-
-echo "\nPOPed Element is : ";
-var_dump( array_pop($mixed_array[1]) );
-
-echo "\nCurrent Element after POP operation is: ";
-var_dump( current($mixed_array[1]) );
-
echo"\nDone";
?>
--EXPECTF--
-*** Testing Error Conditions ***
-
-Warning: Wrong parameter count for array_pop() in %s on line %d
-NULL
-
-Warning: array_pop(): The argument should be an array in %s on line %d
-NULL
-
-Warning: array_pop(): The argument should be an array in %s on line %d
-NULL
-
-Warning: Wrong parameter count for array_pop() in %s on line %d
-NULL
-NULL
-
*** Normal testing with various array inputs ***
-- Input Array for Iteration 1 is --
Output after Pop is :
int(557)
-*** Checking for internal array pointer being reset when pop is called ***
-
-Current Element is : int(1)
-
-Next Element is : int(2)
-
-Next Element is : int(3)
-
-POPed Element is : int(9)
-
-Current Element after POP operation is: int(1)
-
Done
--- /dev/null
+--TEST--
+Test array_pop() function (errors)
+--FILE--
+<?php
+
+$empty_array = array();
+$number = 5;
+$str = "abc";
+
+
+/* Various combinations of arrays to be used for the test */
+$mixed_array = array(
+ array(),
+ array( 1,2,3,4,5,6,7,8,9 ),
+ array( "One", "_Two", "Three", "Four", "Five" ),
+ array( 6, "six", 7, "seven", 8, "eight", 9, "nine" ),
+ array( "a" => "aaa", "A" => "AAA", "c" => "ccc", "d" => "ddd", "e" => "eee" ),
+ array( "1" => "one", "2" => "two", "3" => "three", "4" => "four", "5" => "five" ),
+ array( 1 => "one", 2 => "two", 3 => 7, 4 => "four", 5 => "five" ),
+ array( "f" => "fff", "1" => "one", 4 => 6, "" => "blank", 2.4 => "float", "F" => "FFF",
+ "blank" => "", 3.7 => 3.7, 5.4 => 7, 6 => 8.6, '5' => "Five", "4name" => "jonny", "a" => NULL, NULL => 3 ),
+ array( 12, "name", 'age', '45' ),
+ array( array("oNe", "tWo", 4), array(10, 20, 30, 40, 50), array() ),
+ array( "one" => 1, "one" => 2, "three" => 3, 3, 4, 3 => 33, 4 => 44, 5, 6,
+ 5.4 => 54, 5.7 => 57, "5.4" => 554, "5.7" => 557 )
+);
+
+/* Testing Error Conditions */
+echo "\n*** Testing Error Conditions ***\n";
+
+/* Zero argument */
+var_dump( array_pop() );
+
+/* Scalar argument */
+var_dump( array_pop($number) );
+
+/* String argument */
+var_dump( array_pop($str) );
+
+/* Invalid Number of arguments */
+var_dump( array_pop($mixed_array[1],$mixed_array[2]) );
+
+/* Empty Array as argument */
+var_dump( array_pop($empty_array) );
+
+echo"\nDone";
+?>
+--EXPECTF--
+*** Testing Error Conditions ***
+
+Warning: Wrong parameter count for array_pop() in %s on line %d
+NULL
+
+Warning: array_pop(): The argument should be an array in %s on line %d
+NULL
+
+Warning: array_pop(): The argument should be an array in %s on line %d
+NULL
+
+Warning: Wrong parameter count for array_pop() in %s on line %d
+NULL
+NULL
+
+Done
--- /dev/null
+--TEST--
+Test array_pop() function (variation)
+--FILE--
+<?php
+
+/* Various combinations of arrays to be used for the test */
+$mixed_array = array(
+ array(),
+ array( 1,2,3,4,5,6,7,8,9 ),
+ array( "One", "_Two", "Three", "Four", "Five" ),
+ array( 6, "six", 7, "seven", 8, "eight", 9, "nine" ),
+ array( "a" => "aaa", "A" => "AAA", "c" => "ccc", "d" => "ddd", "e" => "eee" ),
+ array( "1" => "one", "2" => "two", "3" => "three", "4" => "four", "5" => "five" ),
+ array( 1 => "one", 2 => "two", 3 => 7, 4 => "four", 5 => "five" ),
+ array( "f" => "fff", "1" => "one", 4 => 6, "" => "blank", 2.4 => "float", "F" => "FFF",
+ "blank" => "", 3.7 => 3.7, 5.4 => 7, 6 => 8.6, '5' => "Five", "4name" => "jonny", "a" => NULL, NULL => 3 ),
+ array( 12, "name", 'age', '45' ),
+ array( array("oNe", "tWo", 4), array(10, 20, 30, 40, 50), array() ),
+ array( "one" => 1, "one" => 2, "three" => 3, 3, 4, 3 => 33, 4 => 44, 5, 6,
+ 5.4 => 54, 5.7 => 57, "5.4" => 554, "5.7" => 557 )
+);
+
+echo"\n*** Checking for internal array pointer being reset when pop is called ***\n";
+
+echo "\nCurrent Element is : ";
+var_dump( current($mixed_array[1]) );
+
+echo "\nNext Element is : ";
+var_dump( next($mixed_array[1]) );
+
+echo "\nNext Element is : ";
+var_dump( next($mixed_array[1]) );
+
+echo "\nPOPed Element is : ";
+var_dump( array_pop($mixed_array[1]) );
+
+echo "\nCurrent Element after POP operation is: ";
+var_dump( current($mixed_array[1]) );
+
+echo"\nDone";
+?>
+--EXPECTF--
+*** Checking for internal array pointer being reset when pop is called ***
+
+Current Element is : int(1)
+
+Next Element is : int(2)
+
+Next Element is : int(3)
+
+POPed Element is : int(9)
+
+Current Element after POP operation is: int(1)
+
+Done
Test range() function
--INI--
precision=14
---SKIPIF--
-<?php
-if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
-?>
--FILE--
<?php
-/* Prototype: array range ( mixed $low, mixed $high [, number $step] );
- Description: Create an array containing a range of elements
-*/
echo "*** Testing range() function on basic operations ***\n";
echo "\n-- Testing basic string with step --\n";
var_dump( range("abcd", "mnop", 2) );
-echo "\n*** Testing range() with various low and high values ***";
-$low_arr = array( "ABCD", -10.5555, TRUE, NULL, FALSE, "", array(1,2));
-$high_arr = array( "ABCD", -10.5555, TRUE, NULL, FALSE, "", array(1,2));
-
-for( $i = 0; $i < count($low_arr); $i++) {
- for( $j = 0; $j < count($high_arr); $j++) {
- echo "\n-- creating an array with low = '$low_arr[$i]' and high = '$high_arr[$j]' --\n";
- var_dump( range( $low_arr[$i], $high_arr[$j] ) );
- }
-}
-
-
-echo "\n*** Possible variatins with steps ***\n";
-var_dump( range( 1, 5, TRUE ) );
-var_dump( range( 1, 5, array(1, 2) ) );
-
-echo "\n*** Testing max/outof range values ***\n";
-/*var_dump( range("a", "z", 255) );
-var_dump( range("z", "a", 255) ); */
-var_dump( range(2147483645, 2147483646) );
-var_dump( range(2147483646, 2147483648) );
-var_dump( range(-2147483647, -2147483646) );
-var_dump( range(-2147483648, -2147483647) );
-var_dump( range(-2147483649, -2147483647) );
-
-echo "\n*** Testing error conditions ***\n";
-
-echo "\n-- Testing ( (low < high) && (step = 0) ) --";
-var_dump( range(1, 2, 0) );
-var_dump( range("a", "b", 0) );
-
-echo "\n\n-- Testing ( (low > high) && (step = 0) ) --";
-var_dump( range(2, 1, 0) );
-var_dump( range("b", "a", 0) );
-
-echo "\n\n-- Testing ( (low < high) && (high-low < step) ) --";
-var_dump( range(1.0, 7.0, 6.5) );
-
-echo "\n\n-- Testing ( (low > high) && (low-high < step) ) --";
-var_dump( range(7.0, 1.0, 6.5) );
-
-echo "\n-- Testing Invalid number of arguments --";
-var_dump( range() ); // No.of args = 0
-var_dump( range(1) ); // No.of args < expected
-var_dump( range(1,2,3,4) ); // No.of args > expected
-var_dump( range(-1, -2, 2) );
-var_dump( range("a", "j", "z") );
-
-echo "\n-- Testing Invalid steps --";
-$step_arr = array( "string", NULL, FALSE, "", "\0" );
-
-foreach( $step_arr as $step ) {
- var_dump( range( 1, 5, $step ) );
-}
-
-echo "\nDone";
+echo "Done\n";
?>
--EXPECTF--
*** Testing range() function on basic operations ***
[6]=>
string(1) "m"
}
-
-*** Testing range() with various low and high values ***
--- creating an array with low = 'ABCD' and high = 'ABCD' --
-array(1) {
- [0]=>
- string(1) "A"
-}
-
--- creating an array with low = 'ABCD' and high = '-10.5555' --
-array(11) {
- [0]=>
- float(0)
- [1]=>
- float(-1)
- [2]=>
- float(-2)
- [3]=>
- float(-3)
- [4]=>
- float(-4)
- [5]=>
- float(-5)
- [6]=>
- float(-6)
- [7]=>
- float(-7)
- [8]=>
- float(-8)
- [9]=>
- float(-9)
- [10]=>
- float(-10)
-}
-
--- creating an array with low = 'ABCD' and high = '1' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = 'ABCD' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = 'ABCD' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = 'ABCD' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = 'ABCD' and high = 'Array' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '-10.5555' and high = 'ABCD' --
-array(11) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
-}
-
--- creating an array with low = '-10.5555' and high = '-10.5555' --
-array(1) {
- [0]=>
- float(-10.5555)
-}
-
--- creating an array with low = '-10.5555' and high = '1' --
-array(12) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
- [11]=>
- float(0.4445)
-}
-
--- creating an array with low = '-10.5555' and high = '' --
-array(11) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
-}
-
--- creating an array with low = '-10.5555' and high = '' --
-array(11) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
-}
-
--- creating an array with low = '-10.5555' and high = '' --
-array(11) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
-}
-
--- creating an array with low = '-10.5555' and high = 'Array' --
-array(12) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
- [11]=>
- float(0.4445)
-}
-
--- creating an array with low = '1' and high = 'ABCD' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = '1' and high = '-10.5555' --
-array(12) {
- [0]=>
- float(1)
- [1]=>
- float(0)
- [2]=>
- float(-1)
- [3]=>
- float(-2)
- [4]=>
- float(-3)
- [5]=>
- float(-4)
- [6]=>
- float(-5)
- [7]=>
- float(-6)
- [8]=>
- float(-7)
- [9]=>
- float(-8)
- [10]=>
- float(-9)
- [11]=>
- float(-10)
-}
-
--- creating an array with low = '1' and high = '1' --
-array(1) {
- [0]=>
- int(1)
-}
-
--- creating an array with low = '1' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = '1' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = '1' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = '1' and high = 'Array' --
-array(1) {
- [0]=>
- int(1)
-}
-
--- creating an array with low = '' and high = 'ABCD' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '-10.5555' --
-array(11) {
- [0]=>
- float(0)
- [1]=>
- float(-1)
- [2]=>
- float(-2)
- [3]=>
- float(-3)
- [4]=>
- float(-4)
- [5]=>
- float(-5)
- [6]=>
- float(-6)
- [7]=>
- float(-7)
- [8]=>
- float(-8)
- [9]=>
- float(-9)
- [10]=>
- float(-10)
-}
-
--- creating an array with low = '' and high = '1' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = 'Array' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = 'ABCD' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '-10.5555' --
-array(11) {
- [0]=>
- float(0)
- [1]=>
- float(-1)
- [2]=>
- float(-2)
- [3]=>
- float(-3)
- [4]=>
- float(-4)
- [5]=>
- float(-5)
- [6]=>
- float(-6)
- [7]=>
- float(-7)
- [8]=>
- float(-8)
- [9]=>
- float(-9)
- [10]=>
- float(-10)
-}
-
--- creating an array with low = '' and high = '1' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = 'Array' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = 'ABCD' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '-10.5555' --
-array(11) {
- [0]=>
- float(0)
- [1]=>
- float(-1)
- [2]=>
- float(-2)
- [3]=>
- float(-3)
- [4]=>
- float(-4)
- [5]=>
- float(-5)
- [6]=>
- float(-6)
- [7]=>
- float(-7)
- [8]=>
- float(-8)
- [9]=>
- float(-9)
- [10]=>
- float(-10)
-}
-
--- creating an array with low = '' and high = '1' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = 'Array' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = 'Array' and high = 'ABCD' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = 'Array' and high = '-10.5555' --
-array(12) {
- [0]=>
- float(1)
- [1]=>
- float(0)
- [2]=>
- float(-1)
- [3]=>
- float(-2)
- [4]=>
- float(-3)
- [5]=>
- float(-4)
- [6]=>
- float(-5)
- [7]=>
- float(-6)
- [8]=>
- float(-7)
- [9]=>
- float(-8)
- [10]=>
- float(-9)
- [11]=>
- float(-10)
-}
-
--- creating an array with low = 'Array' and high = '1' --
-array(1) {
- [0]=>
- int(1)
-}
-
--- creating an array with low = 'Array' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = 'Array' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = 'Array' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = 'Array' and high = 'Array' --
-array(1) {
- [0]=>
- int(1)
-}
-
-*** Possible variatins with steps ***
-array(5) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
-}
-array(5) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
-}
-
-*** Testing max/outof range values ***
-array(2) {
- [0]=>
- int(2147483645)
- [1]=>
- int(2147483646)
-}
-array(3) {
- [0]=>
- float(2147483646)
- [1]=>
- float(2147483647)
- [2]=>
- float(2147483648)
-}
-array(2) {
- [0]=>
- int(-2147483647)
- [1]=>
- int(-2147483646)
-}
-array(2) {
- [0]=>
- float(-2147483648)
- [1]=>
- float(-2147483647)
-}
-array(3) {
- [0]=>
- float(-2147483649)
- [1]=>
- float(-2147483648)
- [2]=>
- float(-2147483647)
-}
-
-*** Testing error conditions ***
-
--- Testing ( (low < high) && (step = 0) ) --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-
--- Testing ( (low > high) && (step = 0) ) --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-
--- Testing ( (low < high) && (high-low < step) ) --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-
--- Testing ( (low > high) && (low-high < step) ) --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
--- Testing Invalid number of arguments --
-Warning: range() expects at least 2 parameters, 0 given in %s on line %d
-bool(false)
-
-Warning: range() expects at least 2 parameters, 1 given in %s on line %d
-bool(false)
-
-Warning: range() expects at most 3 parameters, 4 given in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
--- Testing Invalid steps --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
Done
+++ /dev/null
---TEST--
-Test range() function
---INI--
-precision=14
---SKIPIF--
-<?php
-if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
-?>
---FILE--
-<?php
-/* Prototype: array range ( mixed $low, mixed $high [, number $step] );
- Description: Create an array containing a range of elements
-*/
-
-echo "*** Testing range() function on basic operations ***\n";
-
-echo "\n-- Integers as Low and High --\n";
-echo "-- An array of elements from low to high --\n";
-var_dump( range(1, 10) );
-echo "\n-- An array of elements from high to low --\n";
-var_dump( range(10, 1) );
-
-echo "\n-- Numeric Strings as Low and High --\n";
-echo "-- An array of elements from low to high --\n";
-var_dump( range("1", "10") );
-echo "\n-- An array of elements from high to low --\n";
-var_dump( range("10", "1") );
-
-echo "\n-- Chars as Low and High --\n";
-echo "-- An array of elements from low to high --\n";
-var_dump( range("a", "z") );
-echo "\n-- An array of elements from high to low --\n";
-var_dump( range("z", "a") );
-
-echo "\n-- Low and High are equal --\n";
-var_dump( range(5, 5) );
-var_dump( range("q", "q") );
-
-echo "\n-- floats as Low and High --\n";
-var_dump( range(5.1, 10.1) );
-var_dump( range(10.1, 5.1) );
-
-var_dump( range("5.1", "10.1") );
-var_dump( range("10.1", "5.1") );
-
-echo "\n-- Passing step with Low and High --\n";
-var_dump( range(1, 2, 0.1) );
-var_dump( range(2, 1, 0.1) );
-
-var_dump( range(1, 2, "0.1") );
-var_dump( range("1", "2", 0.1) );
-
-echo "\n-- Testing basic string with step --\n";
-var_dump( range("abcd", "mnop", 2) );
-
-echo "\n*** Testing range() with various low and high values ***";
-$low_arr = array( "ABCD", -10.5555, TRUE, NULL, FALSE, "", array(1,2));
-$high_arr = array( "ABCD", -10.5555, TRUE, NULL, FALSE, "", array(1,2));
-
-for( $i = 0; $i < count($low_arr); $i++) {
- for( $j = 0; $j < count($high_arr); $j++) {
- echo "\n-- creating an array with low = '$low_arr[$i]' and high = '$high_arr[$j]' --\n";
- var_dump( range( $low_arr[$i], $high_arr[$j] ) );
- }
-}
-
-
-echo "\n*** Possible variatins with steps ***\n";
-var_dump( range( 1, 5, TRUE ) );
-var_dump( range( 1, 5, array(1, 2) ) );
-
-echo "\n*** Testing max/outof range values ***\n";
-/*var_dump( range("a", "z", 255) );
-var_dump( range("z", "a", 255) ); */
-var_dump( range(2147483645, 2147483646) );
-var_dump( range(2147483646, 2147483648) );
-var_dump( range(-2147483647, -2147483646) );
-var_dump( range(-2147483648, -2147483647) );
-var_dump( range(-2147483649, -2147483647) );
-
-echo "\n*** Testing error conditions ***\n";
-
-echo "\n-- Testing ( (low < high) && (step = 0) ) --";
-var_dump( range(1, 2, 0) );
-var_dump( range("a", "b", 0) );
-
-echo "\n\n-- Testing ( (low > high) && (step = 0) ) --";
-var_dump( range(2, 1, 0) );
-var_dump( range("b", "a", 0) );
-
-echo "\n\n-- Testing ( (low < high) && (high-low < step) ) --";
-var_dump( range(1.0, 7.0, 6.5) );
-
-echo "\n\n-- Testing ( (low > high) && (low-high < step) ) --";
-var_dump( range(7.0, 1.0, 6.5) );
-
-echo "\n-- Testing Invalid number of arguments --";
-var_dump( range() ); // No.of args = 0
-var_dump( range(1) ); // No.of args < expected
-var_dump( range(1,2,3,4) ); // No.of args > expected
-var_dump( range(-1, -2, 2) );
-var_dump( range("a", "j", "z") );
-
-echo "\n-- Testing Invalid steps --";
-$step_arr = array( "string", NULL, FALSE, "", "\0" );
-
-foreach( $step_arr as $step ) {
- var_dump( range( 1, 5, $step ) );
-}
-
-echo "\nDone";
-?>
---EXPECTF--
-*** Testing range() function on basic operations ***
-
--- Integers as Low and High --
--- An array of elements from low to high --
-array(10) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
- [5]=>
- int(6)
- [6]=>
- int(7)
- [7]=>
- int(8)
- [8]=>
- int(9)
- [9]=>
- int(10)
-}
-
--- An array of elements from high to low --
-array(10) {
- [0]=>
- int(10)
- [1]=>
- int(9)
- [2]=>
- int(8)
- [3]=>
- int(7)
- [4]=>
- int(6)
- [5]=>
- int(5)
- [6]=>
- int(4)
- [7]=>
- int(3)
- [8]=>
- int(2)
- [9]=>
- int(1)
-}
-
--- Numeric Strings as Low and High --
--- An array of elements from low to high --
-array(10) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
- [5]=>
- int(6)
- [6]=>
- int(7)
- [7]=>
- int(8)
- [8]=>
- int(9)
- [9]=>
- int(10)
-}
-
--- An array of elements from high to low --
-array(10) {
- [0]=>
- int(10)
- [1]=>
- int(9)
- [2]=>
- int(8)
- [3]=>
- int(7)
- [4]=>
- int(6)
- [5]=>
- int(5)
- [6]=>
- int(4)
- [7]=>
- int(3)
- [8]=>
- int(2)
- [9]=>
- int(1)
-}
-
--- Chars as Low and High --
--- An array of elements from low to high --
-array(26) {
- [0]=>
- string(1) "a"
- [1]=>
- string(1) "b"
- [2]=>
- string(1) "c"
- [3]=>
- string(1) "d"
- [4]=>
- string(1) "e"
- [5]=>
- string(1) "f"
- [6]=>
- string(1) "g"
- [7]=>
- string(1) "h"
- [8]=>
- string(1) "i"
- [9]=>
- string(1) "j"
- [10]=>
- string(1) "k"
- [11]=>
- string(1) "l"
- [12]=>
- string(1) "m"
- [13]=>
- string(1) "n"
- [14]=>
- string(1) "o"
- [15]=>
- string(1) "p"
- [16]=>
- string(1) "q"
- [17]=>
- string(1) "r"
- [18]=>
- string(1) "s"
- [19]=>
- string(1) "t"
- [20]=>
- string(1) "u"
- [21]=>
- string(1) "v"
- [22]=>
- string(1) "w"
- [23]=>
- string(1) "x"
- [24]=>
- string(1) "y"
- [25]=>
- string(1) "z"
-}
-
--- An array of elements from high to low --
-array(26) {
- [0]=>
- string(1) "z"
- [1]=>
- string(1) "y"
- [2]=>
- string(1) "x"
- [3]=>
- string(1) "w"
- [4]=>
- string(1) "v"
- [5]=>
- string(1) "u"
- [6]=>
- string(1) "t"
- [7]=>
- string(1) "s"
- [8]=>
- string(1) "r"
- [9]=>
- string(1) "q"
- [10]=>
- string(1) "p"
- [11]=>
- string(1) "o"
- [12]=>
- string(1) "n"
- [13]=>
- string(1) "m"
- [14]=>
- string(1) "l"
- [15]=>
- string(1) "k"
- [16]=>
- string(1) "j"
- [17]=>
- string(1) "i"
- [18]=>
- string(1) "h"
- [19]=>
- string(1) "g"
- [20]=>
- string(1) "f"
- [21]=>
- string(1) "e"
- [22]=>
- string(1) "d"
- [23]=>
- string(1) "c"
- [24]=>
- string(1) "b"
- [25]=>
- string(1) "a"
-}
-
--- Low and High are equal --
-array(1) {
- [0]=>
- int(5)
-}
-array(1) {
- [0]=>
- string(1) "q"
-}
-
--- floats as Low and High --
-array(6) {
- [0]=>
- float(5.1)
- [1]=>
- float(6.1)
- [2]=>
- float(7.1)
- [3]=>
- float(8.1)
- [4]=>
- float(9.1)
- [5]=>
- float(10.1)
-}
-array(6) {
- [0]=>
- float(10.1)
- [1]=>
- float(9.1)
- [2]=>
- float(8.1)
- [3]=>
- float(7.1)
- [4]=>
- float(6.1)
- [5]=>
- float(5.1)
-}
-array(6) {
- [0]=>
- float(5.1)
- [1]=>
- float(6.1)
- [2]=>
- float(7.1)
- [3]=>
- float(8.1)
- [4]=>
- float(9.1)
- [5]=>
- float(10.1)
-}
-array(6) {
- [0]=>
- float(10.1)
- [1]=>
- float(9.1)
- [2]=>
- float(8.1)
- [3]=>
- float(7.1)
- [4]=>
- float(6.1)
- [5]=>
- float(5.1)
-}
-
--- Passing step with Low and High --
-array(11) {
- [0]=>
- float(1)
- [1]=>
- float(1.1)
- [2]=>
- float(1.2)
- [3]=>
- float(1.3)
- [4]=>
- float(1.4)
- [5]=>
- float(1.5)
- [6]=>
- float(1.6)
- [7]=>
- float(1.7)
- [8]=>
- float(1.8)
- [9]=>
- float(1.9)
- [10]=>
- float(2)
-}
-array(11) {
- [0]=>
- float(2)
- [1]=>
- float(1.9)
- [2]=>
- float(1.8)
- [3]=>
- float(1.7)
- [4]=>
- float(1.6)
- [5]=>
- float(1.5)
- [6]=>
- float(1.4)
- [7]=>
- float(1.3)
- [8]=>
- float(1.2)
- [9]=>
- float(1.1)
- [10]=>
- float(1)
-}
-array(11) {
- [0]=>
- float(1)
- [1]=>
- float(1.1)
- [2]=>
- float(1.2)
- [3]=>
- float(1.3)
- [4]=>
- float(1.4)
- [5]=>
- float(1.5)
- [6]=>
- float(1.6)
- [7]=>
- float(1.7)
- [8]=>
- float(1.8)
- [9]=>
- float(1.9)
- [10]=>
- float(2)
-}
-array(11) {
- [0]=>
- float(1)
- [1]=>
- float(1.1)
- [2]=>
- float(1.2)
- [3]=>
- float(1.3)
- [4]=>
- float(1.4)
- [5]=>
- float(1.5)
- [6]=>
- float(1.6)
- [7]=>
- float(1.7)
- [8]=>
- float(1.8)
- [9]=>
- float(1.9)
- [10]=>
- float(2)
-}
-
--- Testing basic string with step --
-array(7) {
- [0]=>
- string(1) "a"
- [1]=>
- string(1) "c"
- [2]=>
- string(1) "e"
- [3]=>
- string(1) "g"
- [4]=>
- string(1) "i"
- [5]=>
- string(1) "k"
- [6]=>
- string(1) "m"
-}
-
-*** Testing range() with various low and high values ***
--- creating an array with low = 'ABCD' and high = 'ABCD' --
-array(1) {
- [0]=>
- string(1) "A"
-}
-
--- creating an array with low = 'ABCD' and high = '-10.5555' --
-array(11) {
- [0]=>
- float(0)
- [1]=>
- float(-1)
- [2]=>
- float(-2)
- [3]=>
- float(-3)
- [4]=>
- float(-4)
- [5]=>
- float(-5)
- [6]=>
- float(-6)
- [7]=>
- float(-7)
- [8]=>
- float(-8)
- [9]=>
- float(-9)
- [10]=>
- float(-10)
-}
-
--- creating an array with low = 'ABCD' and high = '1' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = 'ABCD' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = 'ABCD' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = 'ABCD' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = 'ABCD' and high = 'Array' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '-10.5555' and high = 'ABCD' --
-array(11) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
-}
-
--- creating an array with low = '-10.5555' and high = '-10.5555' --
-array(1) {
- [0]=>
- float(-10.5555)
-}
-
--- creating an array with low = '-10.5555' and high = '1' --
-array(12) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
- [11]=>
- float(0.4445)
-}
-
--- creating an array with low = '-10.5555' and high = '' --
-array(11) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
-}
-
--- creating an array with low = '-10.5555' and high = '' --
-array(11) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
-}
-
--- creating an array with low = '-10.5555' and high = '' --
-array(11) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
-}
-
--- creating an array with low = '-10.5555' and high = 'Array' --
-array(12) {
- [0]=>
- float(-10.5555)
- [1]=>
- float(-9.5555)
- [2]=>
- float(-8.5555)
- [3]=>
- float(-7.5555)
- [4]=>
- float(-6.5555)
- [5]=>
- float(-5.5555)
- [6]=>
- float(-4.5555)
- [7]=>
- float(-3.5555)
- [8]=>
- float(-2.5555)
- [9]=>
- float(-1.5555)
- [10]=>
- float(-0.5555)
- [11]=>
- float(0.4445)
-}
-
--- creating an array with low = '1' and high = 'ABCD' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = '1' and high = '-10.5555' --
-array(12) {
- [0]=>
- float(1)
- [1]=>
- float(0)
- [2]=>
- float(-1)
- [3]=>
- float(-2)
- [4]=>
- float(-3)
- [5]=>
- float(-4)
- [6]=>
- float(-5)
- [7]=>
- float(-6)
- [8]=>
- float(-7)
- [9]=>
- float(-8)
- [10]=>
- float(-9)
- [11]=>
- float(-10)
-}
-
--- creating an array with low = '1' and high = '1' --
-array(1) {
- [0]=>
- int(1)
-}
-
--- creating an array with low = '1' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = '1' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = '1' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = '1' and high = 'Array' --
-array(1) {
- [0]=>
- int(1)
-}
-
--- creating an array with low = '' and high = 'ABCD' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '-10.5555' --
-array(11) {
- [0]=>
- float(0)
- [1]=>
- float(-1)
- [2]=>
- float(-2)
- [3]=>
- float(-3)
- [4]=>
- float(-4)
- [5]=>
- float(-5)
- [6]=>
- float(-6)
- [7]=>
- float(-7)
- [8]=>
- float(-8)
- [9]=>
- float(-9)
- [10]=>
- float(-10)
-}
-
--- creating an array with low = '' and high = '1' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = 'Array' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = 'ABCD' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '-10.5555' --
-array(11) {
- [0]=>
- float(0)
- [1]=>
- float(-1)
- [2]=>
- float(-2)
- [3]=>
- float(-3)
- [4]=>
- float(-4)
- [5]=>
- float(-5)
- [6]=>
- float(-6)
- [7]=>
- float(-7)
- [8]=>
- float(-8)
- [9]=>
- float(-9)
- [10]=>
- float(-10)
-}
-
--- creating an array with low = '' and high = '1' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = 'Array' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = 'ABCD' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '-10.5555' --
-array(11) {
- [0]=>
- float(0)
- [1]=>
- float(-1)
- [2]=>
- float(-2)
- [3]=>
- float(-3)
- [4]=>
- float(-4)
- [5]=>
- float(-5)
- [6]=>
- float(-6)
- [7]=>
- float(-7)
- [8]=>
- float(-8)
- [9]=>
- float(-9)
- [10]=>
- float(-10)
-}
-
--- creating an array with low = '' and high = '1' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = '' --
-array(1) {
- [0]=>
- int(0)
-}
-
--- creating an array with low = '' and high = 'Array' --
-array(2) {
- [0]=>
- int(0)
- [1]=>
- int(1)
-}
-
--- creating an array with low = 'Array' and high = 'ABCD' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = 'Array' and high = '-10.5555' --
-array(12) {
- [0]=>
- float(1)
- [1]=>
- float(0)
- [2]=>
- float(-1)
- [3]=>
- float(-2)
- [4]=>
- float(-3)
- [5]=>
- float(-4)
- [6]=>
- float(-5)
- [7]=>
- float(-6)
- [8]=>
- float(-7)
- [9]=>
- float(-8)
- [10]=>
- float(-9)
- [11]=>
- float(-10)
-}
-
--- creating an array with low = 'Array' and high = '1' --
-array(1) {
- [0]=>
- int(1)
-}
-
--- creating an array with low = 'Array' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = 'Array' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = 'Array' and high = '' --
-array(2) {
- [0]=>
- int(1)
- [1]=>
- int(0)
-}
-
--- creating an array with low = 'Array' and high = 'Array' --
-array(1) {
- [0]=>
- int(1)
-}
-
-*** Possible variatins with steps ***
-array(5) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
-}
-array(5) {
- [0]=>
- int(1)
- [1]=>
- int(2)
- [2]=>
- int(3)
- [3]=>
- int(4)
- [4]=>
- int(5)
-}
-
-*** Testing max/outof range values ***
-array(2) {
- [0]=>
- int(2147483645)
- [1]=>
- int(2147483646)
-}
-array(3) {
- [0]=>
- int(2147483646)
- [1]=>
- int(2147483647)
- [2]=>
- int(2147483648)
-}
-array(2) {
- [0]=>
- int(-2147483647)
- [1]=>
- int(-2147483646)
-}
-array(2) {
- [0]=>
- int(-2147483648)
- [1]=>
- int(-2147483647)
-}
-array(3) {
- [0]=>
- int(-2147483649)
- [1]=>
- int(-2147483648)
- [2]=>
- int(-2147483647)
-}
-
-*** Testing error conditions ***
-
--- Testing ( (low < high) && (step = 0) ) --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-
--- Testing ( (low > high) && (step = 0) ) --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-
--- Testing ( (low < high) && (high-low < step) ) --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-
--- Testing ( (low > high) && (low-high < step) ) --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
--- Testing Invalid number of arguments --
-Warning: range() expects at least 2 parameters, 0 given in %s on line %d
-bool(false)
-
-Warning: range() expects at least 2 parameters, 1 given in %s on line %d
-bool(false)
-
-Warning: range() expects at most 3 parameters, 4 given in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
--- Testing Invalid steps --
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Warning: range(): step exceeds the specified range in %s on line %d
-bool(false)
-
-Done
--- /dev/null
+--TEST--
+Test range() function (errors)
+--INI--
+precision=14
+--FILE--
+<?php
+
+echo "\n*** Testing error conditions ***\n";
+
+echo "\n-- Testing ( (low < high) && (step = 0) ) --";
+var_dump( range(1, 2, 0) );
+var_dump( range("a", "b", 0) );
+
+echo "\n\n-- Testing ( (low > high) && (step = 0) ) --";
+var_dump( range(2, 1, 0) );
+var_dump( range("b", "a", 0) );
+
+echo "\n\n-- Testing ( (low < high) && (high-low < step) ) --";
+var_dump( range(1.0, 7.0, 6.5) );
+
+echo "\n\n-- Testing ( (low > high) && (low-high < step) ) --";
+var_dump( range(7.0, 1.0, 6.5) );
+
+echo "\n-- Testing Invalid number of arguments --";
+var_dump( range() ); // No.of args = 0
+var_dump( range(1) ); // No.of args < expected
+var_dump( range(1,2,3,4) ); // No.of args > expected
+var_dump( range(-1, -2, 2) );
+var_dump( range("a", "j", "z") );
+
+echo "\n-- Testing Invalid steps --";
+$step_arr = array( "string", NULL, FALSE, "", "\0" );
+
+foreach( $step_arr as $step ) {
+ var_dump( range( 1, 5, $step ) );
+}
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing error conditions ***
+
+-- Testing ( (low < high) && (step = 0) ) --
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+
+-- Testing ( (low > high) && (step = 0) ) --
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+
+-- Testing ( (low < high) && (high-low < step) ) --
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+
+-- Testing ( (low > high) && (low-high < step) ) --
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+-- Testing Invalid number of arguments --
+Warning: range() expects at least 2 parameters, 0 given in %s on line %d
+bool(false)
+
+Warning: range() expects at least 2 parameters, 1 given in %s on line %d
+bool(false)
+
+Warning: range() expects at most 3 parameters, 4 given in %s on line %d
+bool(false)
+
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+-- Testing Invalid steps --
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+
+Warning: range(): step exceeds the specified range in %s on line %d
+bool(false)
+Done
--- /dev/null
+--TEST--
+Test range() function (variation-1)
+--INI--
+precision=14
+--FILE--
+<?php
+
+echo "\n*** Testing range() with various low and high values ***";
+$low_arr = array( "ABCD", -10.5555, TRUE, NULL, FALSE, "", array(1,2));
+$high_arr = array( "ABCD", -10.5555, TRUE, NULL, FALSE, "", array(1,2));
+
+for( $i = 0; $i < count($low_arr); $i++) {
+ for( $j = 0; $j < count($high_arr); $j++) {
+ echo "\n-- creating an array with low = '$low_arr[$i]' and high = '$high_arr[$j]' --\n";
+ var_dump( range( $low_arr[$i], $high_arr[$j] ) );
+ }
+}
+
+echo "\n*** Possible variatins with steps ***\n";
+var_dump( range( 1, 5, TRUE ) );
+var_dump( range( 1, 5, array(1, 2) ) );
+
+echo "Done\n";
+?>
+--EXPECTF--
+*** Testing range() with various low and high values ***
+-- creating an array with low = 'ABCD' and high = 'ABCD' --
+array(1) {
+ [0]=>
+ string(1) "A"
+}
+
+-- creating an array with low = 'ABCD' and high = '-10.5555' --
+array(11) {
+ [0]=>
+ float(0)
+ [1]=>
+ float(-1)
+ [2]=>
+ float(-2)
+ [3]=>
+ float(-3)
+ [4]=>
+ float(-4)
+ [5]=>
+ float(-5)
+ [6]=>
+ float(-6)
+ [7]=>
+ float(-7)
+ [8]=>
+ float(-8)
+ [9]=>
+ float(-9)
+ [10]=>
+ float(-10)
+}
+
+-- creating an array with low = 'ABCD' and high = '1' --
+array(2) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+}
+
+-- creating an array with low = 'ABCD' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = 'ABCD' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = 'ABCD' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = 'ABCD' and high = 'Array' --
+array(2) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+}
+
+-- creating an array with low = '-10.5555' and high = 'ABCD' --
+array(11) {
+ [0]=>
+ float(-10.5555)
+ [1]=>
+ float(-9.5555)
+ [2]=>
+ float(-8.5555)
+ [3]=>
+ float(-7.5555)
+ [4]=>
+ float(-6.5555)
+ [5]=>
+ float(-5.5555)
+ [6]=>
+ float(-4.5555)
+ [7]=>
+ float(-3.5555)
+ [8]=>
+ float(-2.5555)
+ [9]=>
+ float(-1.5555)
+ [10]=>
+ float(-0.5555)
+}
+
+-- creating an array with low = '-10.5555' and high = '-10.5555' --
+array(1) {
+ [0]=>
+ float(-10.5555)
+}
+
+-- creating an array with low = '-10.5555' and high = '1' --
+array(12) {
+ [0]=>
+ float(-10.5555)
+ [1]=>
+ float(-9.5555)
+ [2]=>
+ float(-8.5555)
+ [3]=>
+ float(-7.5555)
+ [4]=>
+ float(-6.5555)
+ [5]=>
+ float(-5.5555)
+ [6]=>
+ float(-4.5555)
+ [7]=>
+ float(-3.5555)
+ [8]=>
+ float(-2.5555)
+ [9]=>
+ float(-1.5555)
+ [10]=>
+ float(-0.5555)
+ [11]=>
+ float(0.4445)
+}
+
+-- creating an array with low = '-10.5555' and high = '' --
+array(11) {
+ [0]=>
+ float(-10.5555)
+ [1]=>
+ float(-9.5555)
+ [2]=>
+ float(-8.5555)
+ [3]=>
+ float(-7.5555)
+ [4]=>
+ float(-6.5555)
+ [5]=>
+ float(-5.5555)
+ [6]=>
+ float(-4.5555)
+ [7]=>
+ float(-3.5555)
+ [8]=>
+ float(-2.5555)
+ [9]=>
+ float(-1.5555)
+ [10]=>
+ float(-0.5555)
+}
+
+-- creating an array with low = '-10.5555' and high = '' --
+array(11) {
+ [0]=>
+ float(-10.5555)
+ [1]=>
+ float(-9.5555)
+ [2]=>
+ float(-8.5555)
+ [3]=>
+ float(-7.5555)
+ [4]=>
+ float(-6.5555)
+ [5]=>
+ float(-5.5555)
+ [6]=>
+ float(-4.5555)
+ [7]=>
+ float(-3.5555)
+ [8]=>
+ float(-2.5555)
+ [9]=>
+ float(-1.5555)
+ [10]=>
+ float(-0.5555)
+}
+
+-- creating an array with low = '-10.5555' and high = '' --
+array(11) {
+ [0]=>
+ float(-10.5555)
+ [1]=>
+ float(-9.5555)
+ [2]=>
+ float(-8.5555)
+ [3]=>
+ float(-7.5555)
+ [4]=>
+ float(-6.5555)
+ [5]=>
+ float(-5.5555)
+ [6]=>
+ float(-4.5555)
+ [7]=>
+ float(-3.5555)
+ [8]=>
+ float(-2.5555)
+ [9]=>
+ float(-1.5555)
+ [10]=>
+ float(-0.5555)
+}
+
+-- creating an array with low = '-10.5555' and high = 'Array' --
+array(12) {
+ [0]=>
+ float(-10.5555)
+ [1]=>
+ float(-9.5555)
+ [2]=>
+ float(-8.5555)
+ [3]=>
+ float(-7.5555)
+ [4]=>
+ float(-6.5555)
+ [5]=>
+ float(-5.5555)
+ [6]=>
+ float(-4.5555)
+ [7]=>
+ float(-3.5555)
+ [8]=>
+ float(-2.5555)
+ [9]=>
+ float(-1.5555)
+ [10]=>
+ float(-0.5555)
+ [11]=>
+ float(0.4445)
+}
+
+-- creating an array with low = '1' and high = 'ABCD' --
+array(2) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(0)
+}
+
+-- creating an array with low = '1' and high = '-10.5555' --
+array(12) {
+ [0]=>
+ float(1)
+ [1]=>
+ float(0)
+ [2]=>
+ float(-1)
+ [3]=>
+ float(-2)
+ [4]=>
+ float(-3)
+ [5]=>
+ float(-4)
+ [6]=>
+ float(-5)
+ [7]=>
+ float(-6)
+ [8]=>
+ float(-7)
+ [9]=>
+ float(-8)
+ [10]=>
+ float(-9)
+ [11]=>
+ float(-10)
+}
+
+-- creating an array with low = '1' and high = '1' --
+array(1) {
+ [0]=>
+ int(1)
+}
+
+-- creating an array with low = '1' and high = '' --
+array(2) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(0)
+}
+
+-- creating an array with low = '1' and high = '' --
+array(2) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(0)
+}
+
+-- creating an array with low = '1' and high = '' --
+array(2) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(0)
+}
+
+-- creating an array with low = '1' and high = 'Array' --
+array(1) {
+ [0]=>
+ int(1)
+}
+
+-- creating an array with low = '' and high = 'ABCD' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = '-10.5555' --
+array(11) {
+ [0]=>
+ float(0)
+ [1]=>
+ float(-1)
+ [2]=>
+ float(-2)
+ [3]=>
+ float(-3)
+ [4]=>
+ float(-4)
+ [5]=>
+ float(-5)
+ [6]=>
+ float(-6)
+ [7]=>
+ float(-7)
+ [8]=>
+ float(-8)
+ [9]=>
+ float(-9)
+ [10]=>
+ float(-10)
+}
+
+-- creating an array with low = '' and high = '1' --
+array(2) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+}
+
+-- creating an array with low = '' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = 'Array' --
+array(2) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+}
+
+-- creating an array with low = '' and high = 'ABCD' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = '-10.5555' --
+array(11) {
+ [0]=>
+ float(0)
+ [1]=>
+ float(-1)
+ [2]=>
+ float(-2)
+ [3]=>
+ float(-3)
+ [4]=>
+ float(-4)
+ [5]=>
+ float(-5)
+ [6]=>
+ float(-6)
+ [7]=>
+ float(-7)
+ [8]=>
+ float(-8)
+ [9]=>
+ float(-9)
+ [10]=>
+ float(-10)
+}
+
+-- creating an array with low = '' and high = '1' --
+array(2) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+}
+
+-- creating an array with low = '' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = 'Array' --
+array(2) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+}
+
+-- creating an array with low = '' and high = 'ABCD' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = '-10.5555' --
+array(11) {
+ [0]=>
+ float(0)
+ [1]=>
+ float(-1)
+ [2]=>
+ float(-2)
+ [3]=>
+ float(-3)
+ [4]=>
+ float(-4)
+ [5]=>
+ float(-5)
+ [6]=>
+ float(-6)
+ [7]=>
+ float(-7)
+ [8]=>
+ float(-8)
+ [9]=>
+ float(-9)
+ [10]=>
+ float(-10)
+}
+
+-- creating an array with low = '' and high = '1' --
+array(2) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+}
+
+-- creating an array with low = '' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = '' --
+array(1) {
+ [0]=>
+ int(0)
+}
+
+-- creating an array with low = '' and high = 'Array' --
+array(2) {
+ [0]=>
+ int(0)
+ [1]=>
+ int(1)
+}
+
+-- creating an array with low = 'Array' and high = 'ABCD' --
+array(2) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(0)
+}
+
+-- creating an array with low = 'Array' and high = '-10.5555' --
+array(12) {
+ [0]=>
+ float(1)
+ [1]=>
+ float(0)
+ [2]=>
+ float(-1)
+ [3]=>
+ float(-2)
+ [4]=>
+ float(-3)
+ [5]=>
+ float(-4)
+ [6]=>
+ float(-5)
+ [7]=>
+ float(-6)
+ [8]=>
+ float(-7)
+ [9]=>
+ float(-8)
+ [10]=>
+ float(-9)
+ [11]=>
+ float(-10)
+}
+
+-- creating an array with low = 'Array' and high = '1' --
+array(1) {
+ [0]=>
+ int(1)
+}
+
+-- creating an array with low = 'Array' and high = '' --
+array(2) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(0)
+}
+
+-- creating an array with low = 'Array' and high = '' --
+array(2) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(0)
+}
+
+-- creating an array with low = 'Array' and high = '' --
+array(2) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(0)
+}
+
+-- creating an array with low = 'Array' and high = 'Array' --
+array(1) {
+ [0]=>
+ int(1)
+}
+
+*** Possible variatins with steps ***
+array(5) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+ [3]=>
+ int(4)
+ [4]=>
+ int(5)
+}
+array(5) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+ [3]=>
+ int(4)
+ [4]=>
+ int(5)
+}
+Done
--- /dev/null
+--TEST--
+Test range() function (variation-2)
+--INI--
+precision=14
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only");
+?>
+--FILE--
+<?php
+
+echo "\n*** Testing max/outof range values ***\n";
+/*var_dump( range("a", "z", 255) );
+var_dump( range("z", "a", 255) ); */
+var_dump( range(2147483645, 2147483646) );
+var_dump( range(2147483646, 2147483648) );
+var_dump( range(-2147483647, -2147483646) );
+var_dump( range(-2147483648, -2147483647) );
+var_dump( range(-2147483649, -2147483647) );
+
+echo "\nDone";
+?>
+--EXPECTF--
+*** Testing max/outof range values ***
+array(2) {
+ [0]=>
+ int(2147483645)
+ [1]=>
+ int(2147483646)
+}
+array(3) {
+ [0]=>
+ float(2147483646)
+ [1]=>
+ float(2147483647)
+ [2]=>
+ float(2147483648)
+}
+array(2) {
+ [0]=>
+ int(-2147483647)
+ [1]=>
+ int(-2147483646)
+}
+array(2) {
+ [0]=>
+ float(-2147483648)
+ [1]=>
+ float(-2147483647)
+}
+array(3) {
+ [0]=>
+ float(-2147483649)
+ [1]=>
+ float(-2147483648)
+ [2]=>
+ float(-2147483647)
+}
+
+Done
--- /dev/null
+--TEST--
+Test range() function (variation-2)
+--INI--
+precision=14
+--SKIPIF--
+<?php
+if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
+?>
+--FILE--
+<?php
+
+echo "\n*** Testing max/outof range values ***\n";
+/*var_dump( range("a", "z", 255) );
+var_dump( range("z", "a", 255) ); */
+var_dump( range(2147483645, 2147483646) );
+var_dump( range(2147483646, 2147483648) );
+var_dump( range(-2147483647, -2147483646) );
+var_dump( range(-2147483648, -2147483647) );
+var_dump( range(-2147483649, -2147483647) );
+
+echo "\nDone";
+?>
+--EXPECTF--
+*** Testing max/outof range values ***
+array(2) {
+ [0]=>
+ int(2147483645)
+ [1]=>
+ int(2147483646)
+}
+array(3) {
+ [0]=>
+ int(2147483646)
+ [1]=>
+ int(2147483647)
+ [2]=>
+ int(2147483648)
+}
+array(2) {
+ [0]=>
+ int(-2147483647)
+ [1]=>
+ int(-2147483646)
+}
+array(2) {
+ [0]=>
+ int(-2147483648)
+ [1]=>
+ int(-2147483647)
+}
+array(3) {
+ [0]=>
+ int(-2147483649)
+ [1]=>
+ int(-2147483648)
+ [2]=>
+ int(-2147483647)
+}
+
+Done