summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/array')
-rw-r--r--ext/standard/tests/array/array_diff_key.phpt14
-rw-r--r--ext/standard/tests/array/array_flip.phpt21
-rw-r--r--ext/standard/tests/array/array_intersect_key.phpt10
-rw-r--r--ext/standard/tests/array/array_key_exists.phpt40
-rw-r--r--ext/standard/tests/array/array_pad.phpt101
-rw-r--r--ext/standard/tests/array/array_rand.phpt51
-rw-r--r--ext/standard/tests/array/array_sum.phpt3
-rw-r--r--ext/standard/tests/array/array_unshift.phpt40
-rw-r--r--ext/standard/tests/array/array_user_key_compare.phpt19
-rw-r--r--ext/standard/tests/array/array_values.phpt47
-rw-r--r--ext/standard/tests/array/bug30074.phpt15
-rw-r--r--ext/standard/tests/array/bug33382.phpt2
-rw-r--r--ext/standard/tests/array/bug36975.phpt62
-rw-r--r--ext/standard/tests/array/bug39576.phpt52
-rw-r--r--ext/standard/tests/array/bug40191.phpt25
-rw-r--r--ext/standard/tests/array/bug40709.phpt28
-rw-r--r--ext/standard/tests/array/bug41121.phpt128
-rw-r--r--ext/standard/tests/array/compact.phpt60
-rw-r--r--ext/standard/tests/array/locale_sort.phpt4
19 files changed, 706 insertions, 16 deletions
diff --git a/ext/standard/tests/array/array_diff_key.phpt b/ext/standard/tests/array/array_diff_key.phpt
index 91664a871..765431f12 100644
--- a/ext/standard/tests/array/array_diff_key.phpt
+++ b/ext/standard/tests/array/array_diff_key.phpt
@@ -66,13 +66,13 @@ function comp_func($a, $b) {
------ Test 1 --------
array(4) {
[1]=>
- &int(2)
+ int(2)
[6]=>
- &int(12)
+ int(12)
[15]=>
- &int(30)
+ int(30)
[1200]=>
- &int(2400)
+ int(2400)
}
array(4) {
[1]=>
@@ -188,11 +188,11 @@ array(3) {
------ Test 7 --------
array(3) {
[7]=>
- &int(14)
+ int(14)
[11]=>
- &int(22)
+ int(22)
[1100]=>
- &int(2200)
+ int(2200)
}
array(3) {
[7]=>
diff --git a/ext/standard/tests/array/array_flip.phpt b/ext/standard/tests/array/array_flip.phpt
index 27b14fdd9..af26fd80c 100644
--- a/ext/standard/tests/array/array_flip.phpt
+++ b/ext/standard/tests/array/array_flip.phpt
@@ -14,6 +14,13 @@ $trans = array("a" => 1,
2 => "i");
$trans = array_flip($trans);
var_dump($trans);
+
+var_dump(array_flip());
+var_dump(array_flip(array()));
+var_dump(array_flip(array(1)));
+var_dump(array_flip(array(array())));
+
+echo "Done\n";
?>
--EXPECTF--
Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
@@ -35,3 +42,17 @@ array(6) {
["i"]=>
int(2)
}
+
+Warning: Wrong parameter count for array_flip() in %s on line %d
+NULL
+array(0) {
+}
+array(1) {
+ [1]=>
+ int(0)
+}
+
+Warning: array_flip(): Can only flip STRING and INTEGER values! in %s on line %d
+array(0) {
+}
+Done
diff --git a/ext/standard/tests/array/array_intersect_key.phpt b/ext/standard/tests/array/array_intersect_key.phpt
index 6a5965ba7..6d2783940 100644
--- a/ext/standard/tests/array/array_intersect_key.phpt
+++ b/ext/standard/tests/array/array_intersect_key.phpt
@@ -62,9 +62,9 @@ function comp_func($a, $b) {
--EXPECTF--
array(3) {
[2]=>
- &int(4)
+ int(4)
[-20]=>
- &int(-40)
+ int(-40)
[-2500]=>
&int(-5000)
}
@@ -138,11 +138,11 @@ array(1) {
}
array(4) {
[0]=>
- &int(0)
+ int(0)
[2]=>
- &int(4)
+ int(4)
[-20]=>
- &int(-40)
+ int(-40)
[-2500]=>
&int(-5000)
}
diff --git a/ext/standard/tests/array/array_key_exists.phpt b/ext/standard/tests/array/array_key_exists.phpt
new file mode 100644
index 000000000..e7b6c0677
--- /dev/null
+++ b/ext/standard/tests/array/array_key_exists.phpt
@@ -0,0 +1,40 @@
+--TEST--
+array_key_exists() tests
+--FILE--
+<?php
+
+var_dump(array_key_exists());
+var_dump(array_key_exists(array(), array()));
+var_dump(array_key_exists("", ""));
+var_dump(array_key_exists("", array()));
+var_dump(array_key_exists(1, array()));
+
+var_dump(array_key_exists(1, array(1,2,3)));
+var_dump(array_key_exists("a", array(3,2,1,"a"=>1)));
+var_dump(array_key_exists("a", array(3,2,1)));
+var_dump(array_key_exists(NULL, array(5,6,7,""=>"value", 3,2,1)));
+var_dump(array_key_exists(NULL, array(5,6,7,3,2,1)));
+var_dump(array_key_exists(false, array(5,6,7,""=>"value", 3,2,1)));
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: Wrong parameter count for array_key_exists() in %s on line %d
+NULL
+
+Warning: array_key_exists(): The first argument should be either a string or an integer in %s on line %d
+bool(false)
+
+Warning: array_key_exists(): The second argument should be either an array or an object in %s on line %d
+bool(false)
+bool(false)
+bool(false)
+bool(true)
+bool(true)
+bool(false)
+bool(true)
+bool(false)
+
+Warning: array_key_exists(): The first argument should be either a string or an integer in %s on line %d
+bool(false)
+Done
diff --git a/ext/standard/tests/array/array_pad.phpt b/ext/standard/tests/array/array_pad.phpt
new file mode 100644
index 000000000..e6c4590c1
--- /dev/null
+++ b/ext/standard/tests/array/array_pad.phpt
@@ -0,0 +1,101 @@
+--TEST--
+array_pad() tests
+--FILE--
+<?php
+
+var_dump(array_pad());
+var_dump(array_pad(array()));
+var_dump(array_pad(array(), 1));
+var_dump(array_pad(array(), 1, 0));
+
+var_dump(array_pad(array(), 0, 0));
+var_dump(array_pad(array(), -1, 0));
+var_dump(array_pad(array("", -1, 2.0), 5, 0));
+var_dump(array_pad(array("", -1, 2.0), 5, array()));
+var_dump(array_pad(array("", -1, 2.0), 2, array()));
+var_dump(array_pad(array("", -1, 2.0), -3, array()));
+var_dump(array_pad(array("", -1, 2.0), -4, array()));
+var_dump(array_pad(array("", -1, 2.0), 2000000, 0));
+var_dump(array_pad("", 2000000, 0));
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: Wrong parameter count for array_pad() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for array_pad() in %s on line %d
+NULL
+
+Warning: Wrong parameter count for array_pad() in %s on line %d
+NULL
+array(1) {
+ [0]=>
+ int(0)
+}
+array(0) {
+}
+array(1) {
+ [0]=>
+ int(0)
+}
+array(5) {
+ [0]=>
+ string(0) ""
+ [1]=>
+ int(-1)
+ [2]=>
+ float(2)
+ [3]=>
+ int(0)
+ [4]=>
+ int(0)
+}
+array(5) {
+ [0]=>
+ string(0) ""
+ [1]=>
+ int(-1)
+ [2]=>
+ float(2)
+ [3]=>
+ array(0) {
+ }
+ [4]=>
+ array(0) {
+ }
+}
+array(3) {
+ [0]=>
+ string(0) ""
+ [1]=>
+ int(-1)
+ [2]=>
+ float(2)
+}
+array(3) {
+ [0]=>
+ string(0) ""
+ [1]=>
+ int(-1)
+ [2]=>
+ float(2)
+}
+array(4) {
+ [0]=>
+ array(0) {
+ }
+ [1]=>
+ string(0) ""
+ [2]=>
+ int(-1)
+ [3]=>
+ float(2)
+}
+
+Warning: array_pad(): You may only pad up to 1048576 elements at a time in %s on line %d
+bool(false)
+
+Warning: array_pad(): The argument should be an array in %s on line %d
+NULL
+Done
diff --git a/ext/standard/tests/array/array_rand.phpt b/ext/standard/tests/array/array_rand.phpt
new file mode 100644
index 000000000..22424465a
--- /dev/null
+++ b/ext/standard/tests/array/array_rand.phpt
@@ -0,0 +1,51 @@
+--TEST--
+array_rand() tests
+--FILE--
+<?php
+
+var_dump(array_rand());
+var_dump(array_rand(array()));
+var_dump(array_rand(array(), 0));
+var_dump(array_rand(0, 0));
+var_dump(array_rand(array(1,2,3), 0));
+var_dump(array_rand(array(1,2,3), -1));
+var_dump(array_rand(array(1,2,3), 10));
+var_dump(array_rand(array(1,2,3), 3));
+var_dump(array_rand(array(1,2,3), 2));
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: Wrong parameter count for array_rand() in %s on line %d
+NULL
+NULL
+
+Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
+NULL
+
+Warning: array_rand(): First argument has to be an array in %s on line %d
+NULL
+
+Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
+NULL
+
+Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
+NULL
+
+Warning: array_rand(): Second argument has to be between 1 and the number of elements in the array in %s on line %d
+NULL
+array(3) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+ [2]=>
+ int(%d)
+}
+array(2) {
+ [0]=>
+ int(%d)
+ [1]=>
+ int(%d)
+}
+Done
diff --git a/ext/standard/tests/array/array_sum.phpt b/ext/standard/tests/array/array_sum.phpt
index f1868cb2e..08aec2155 100644
--- a/ext/standard/tests/array/array_sum.phpt
+++ b/ext/standard/tests/array/array_sum.phpt
@@ -1,7 +1,8 @@
--TEST--
Test array_sum()
--INI--
-memory_limit=64M
+precision=14
+memory_limit=128M
--FILE--
<?php
$i = 0;
diff --git a/ext/standard/tests/array/array_unshift.phpt b/ext/standard/tests/array/array_unshift.phpt
new file mode 100644
index 000000000..0e8dae919
--- /dev/null
+++ b/ext/standard/tests/array/array_unshift.phpt
@@ -0,0 +1,40 @@
+--TEST--
+array_unshift() tests
+--FILE--
+<?php
+
+$a = array();
+$s = "";
+var_dump(array_unshift($a, $s));
+var_dump($a);
+var_dump(array_unshift($s, $a));
+var_dump($a);
+var_dump(array_unshift($a, $a));
+var_dump($a);
+
+echo "Done\n";
+?>
+--EXPECTF--
+int(1)
+array(1) {
+ [0]=>
+ string(0) ""
+}
+
+Warning: array_unshift(): The first argument should be an array in %s on line %d
+bool(false)
+array(1) {
+ [0]=>
+ string(0) ""
+}
+int(2)
+array(2) {
+ [0]=>
+ array(1) {
+ [0]=>
+ string(0) ""
+ }
+ [1]=>
+ string(0) ""
+}
+Done
diff --git a/ext/standard/tests/array/array_user_key_compare.phpt b/ext/standard/tests/array/array_user_key_compare.phpt
new file mode 100644
index 000000000..7f82f71ca
--- /dev/null
+++ b/ext/standard/tests/array/array_user_key_compare.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Fix UMR in array_user_key_compare (MOPB24)
+--FILE--
+<?php
+$arr = array("A" => 1, "B" => 1);
+
+function array_compare(&$key1, &$key2)
+ {
+ $GLOBALS['a'] = &$key2;
+ unset($key2);
+ return 1;
+ }
+
+uksort($arr, "array_compare");
+var_dump($a);
+
+?>
+--EXPECTF--
+string(1) "A"
diff --git a/ext/standard/tests/array/array_values.phpt b/ext/standard/tests/array/array_values.phpt
new file mode 100644
index 000000000..42e252ac8
--- /dev/null
+++ b/ext/standard/tests/array/array_values.phpt
@@ -0,0 +1,47 @@
+--TEST--
+array_values() tests
+--FILE--
+<?php
+
+var_dump(array_values());
+var_dump(array_values(array()));
+var_dump(array_values(""));
+var_dump(array_values(new stdclass));
+
+$a = array(1, 2, 2.0, "asdasd", array(1,2,3));
+
+var_dump(array_values($a));
+
+echo "Done\n";
+?>
+--EXPECTF--
+Warning: Wrong parameter count for array_values() in %s on line %d
+NULL
+array(0) {
+}
+
+Warning: array_values(): The argument should be an array in %s on line %d
+NULL
+
+Warning: array_values(): The argument should be an array in %s on line %d
+NULL
+array(5) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ float(2)
+ [3]=>
+ string(6) "asdasd"
+ [4]=>
+ array(3) {
+ [0]=>
+ int(1)
+ [1]=>
+ int(2)
+ [2]=>
+ int(3)
+ }
+}
+Done
diff --git a/ext/standard/tests/array/bug30074.phpt b/ext/standard/tests/array/bug30074.phpt
new file mode 100644
index 000000000..7720fe000
--- /dev/null
+++ b/ext/standard/tests/array/bug30074.phpt
@@ -0,0 +1,15 @@
+--TEST--
+Bug #30074 (EG(uninitialized_zval_ptr) gets set to reference using EXTR_REFS, affecting later values)
+--FILE--
+<?php
+error_reporting(E_ALL & ~E_NOTICE); // We don't want the notice for $undefined
+$result = extract(array('a'=>$undefined), EXTR_REFS);
+var_dump(array($a));
+echo "Done\n";
+?>
+--EXPECT--
+array(1) {
+ [0]=>
+ NULL
+}
+Done
diff --git a/ext/standard/tests/array/bug33382.phpt b/ext/standard/tests/array/bug33382.phpt
index 407b5846f..376227f1f 100644
--- a/ext/standard/tests/array/bug33382.phpt
+++ b/ext/standard/tests/array/bug33382.phpt
@@ -1,5 +1,5 @@
--TEST--
-bug #33382 ( array_reverse() fails after *sort() )
+Bug #33382 ( array_reverse() fails after *sort() )
--FILE--
<?php
diff --git a/ext/standard/tests/array/bug36975.phpt b/ext/standard/tests/array/bug36975.phpt
new file mode 100644
index 000000000..f37c933e3
--- /dev/null
+++ b/ext/standard/tests/array/bug36975.phpt
@@ -0,0 +1,62 @@
+--TEST--
+Bug #36975 (natcasesort() causes array_pop() to misbehave)
+--FILE--
+<?php
+$a = array('aa', 'aa', 'bb', 'bb', 'cc', 'cc');
+$test = natcasesort($a);
+if ($test) {
+ echo "natcasesort success!\n";
+}
+$val = array_pop($a);
+$a[] = $val;
+var_dump($a);
+
+$b = array(1 => 'foo', 0 => 'baz');
+array_pop($b);
+$b[] = 'bar';
+array_push($b, 'bar');
+print_r($b);
+
+$c = array(0, 0, 0, 0, 0);
+asort($c);
+array_pop($c);
+$c[] = 'foo';
+$c[] = 'bar';
+var_dump($c);
+?>
+--EXPECT--
+natcasesort success!
+array(6) {
+ [0]=>
+ string(2) "aa"
+ [1]=>
+ string(2) "aa"
+ [3]=>
+ string(2) "bb"
+ [2]=>
+ string(2) "bb"
+ [5]=>
+ string(2) "cc"
+ [6]=>
+ string(2) "cc"
+}
+Array
+(
+ [1] => foo
+ [2] => bar
+ [3] => bar
+)
+array(6) {
+ [4]=>
+ int(0)
+ [3]=>
+ int(0)
+ [2]=>
+ int(0)
+ [1]=>
+ int(0)
+ [5]=>
+ string(3) "foo"
+ [6]=>
+ string(3) "bar"
+}
diff --git a/ext/standard/tests/array/bug39576.phpt b/ext/standard/tests/array/bug39576.phpt
new file mode 100644
index 000000000..7c8aeef17
--- /dev/null
+++ b/ext/standard/tests/array/bug39576.phpt
@@ -0,0 +1,52 @@
+--TEST--
+Bug #39576 (array_walk() doesn't separate userdata zval)
+--FILE--
+<?php
+
+class Test {
+
+ public $_table = '';
+ public $_columns = array ();
+ public $_primary = array ();
+
+}
+
+$test = new Test ();
+$test->name = 'test';
+$test->_columns['name'] = new stdClass;
+
+function test ($value, $column, &$columns) {}
+
+array_walk (
+ get_object_vars ($test),
+ 'test',
+ $test->_columns
+);
+
+var_dump($test);
+
+array_intersect_key (
+ get_object_vars ($test),
+ $test->_primary
+);
+
+echo "Done\n";
+?>
+--EXPECTF--
+Strict Standards: Only variables should be passed by reference in %s on line %d
+object(Test)#%d (4) {
+ ["_table"]=>
+ string(0) ""
+ ["_columns"]=>
+ array(1) {
+ ["name"]=>
+ object(stdClass)#%d (0) {
+ }
+ }
+ ["_primary"]=>
+ array(0) {
+ }
+ ["name"]=>
+ string(4) "test"
+}
+Done
diff --git a/ext/standard/tests/array/bug40191.phpt b/ext/standard/tests/array/bug40191.phpt
new file mode 100644
index 000000000..038104b57
--- /dev/null
+++ b/ext/standard/tests/array/bug40191.phpt
@@ -0,0 +1,25 @@
+--TEST--
+Bug #40191 (use of array_unique() with objects triggers segfault)
+--SKIPIF--
+<?php if (!extension_loaded('spl')) die("skip SPL is not available"); ?>
+--FILE--
+<?php
+
+$arrObj = new ArrayObject();
+$arrObj->append('foo');
+$arrObj->append('bar');
+$arrObj->append('foo');
+
+$arr = array_unique($arrObj);
+var_dump($arr);
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(2) {
+ [0]=>
+ string(3) "foo"
+ [1]=>
+ string(3) "bar"
+}
+Done
diff --git a/ext/standard/tests/array/bug40709.phpt b/ext/standard/tests/array/bug40709.phpt
new file mode 100644
index 000000000..6ab6bbd41
--- /dev/null
+++ b/ext/standard/tests/array/bug40709.phpt
@@ -0,0 +1,28 @@
+--TEST--
+Bug #40709 (array_reduce() behaves strange with one item stored arrays)
+--SKIPIF--
+--FILE--
+<?php
+function CommaSeperatedList($a, $b) {
+ if($a == null)
+ return $b;
+ else
+ return $a.','.$b;
+}
+
+$arr1 = array(1,2,3);
+$arr2 = array(1);
+
+echo "result for arr1: ".array_reduce($arr1,'CommaSeperatedList')."\n";
+echo "result for arr2: ".array_reduce($arr2,'CommaSeperatedList')."\n";
+echo "result for arr1: ".array_reduce($arr1,'CommaSeperatedList')."\n";
+echo "result for arr2: ".array_reduce($arr2,'CommaSeperatedList')."\n";
+
+echo "Done\n";
+?>
+--EXPECT--
+result for arr1: 1,2,3
+result for arr2: 1
+result for arr1: 1,2,3
+result for arr2: 1
+Done
diff --git a/ext/standard/tests/array/bug41121.phpt b/ext/standard/tests/array/bug41121.phpt
new file mode 100644
index 000000000..a03bdaf4c
--- /dev/null
+++ b/ext/standard/tests/array/bug41121.phpt
@@ -0,0 +1,128 @@
+--TEST--
+Bug #41121 (range() overflow handling for large numbers on 32bit machines)
+--INI--
+precision=14
+--SKIPIF--
+<?php if (PHP_INT_SIZE != 4) die("skip this test is for 32bit platform only"); ?>
+--FILE--
+<?php
+
+// posotive steps
+var_dump(range(2147483400, 2147483600, 100));
+var_dump( range(2147483646, 2147483648, 1 ) );
+var_dump( range(2147483646, 2147483657, 1 ) );
+var_dump( range(2147483630, 2147483646, 5 ) );
+
+// negative steps
+var_dump( range(-2147483645, -2147483648, 1 ) );
+var_dump( range(-2147483645, -2147483649, 1 ) );
+var_dump( range(-2147483630, -2147483646, 5 ) );
+
+// low > high
+var_dump(range(2147483647, 2147483645, 1 ));
+var_dump(range(2147483648, 2147483645, 1 ));
+
+?>
+--EXPECT--
+array(3) {
+ [0]=>
+ int(2147483400)
+ [1]=>
+ int(2147483500)
+ [2]=>
+ int(2147483600)
+}
+array(3) {
+ [0]=>
+ float(2147483646)
+ [1]=>
+ float(2147483647)
+ [2]=>
+ float(2147483648)
+}
+array(12) {
+ [0]=>
+ float(2147483646)
+ [1]=>
+ float(2147483647)
+ [2]=>
+ float(2147483648)
+ [3]=>
+ float(2147483649)
+ [4]=>
+ float(2147483650)
+ [5]=>
+ float(2147483651)
+ [6]=>
+ float(2147483652)
+ [7]=>
+ float(2147483653)
+ [8]=>
+ float(2147483654)
+ [9]=>
+ float(2147483655)
+ [10]=>
+ float(2147483656)
+ [11]=>
+ float(2147483657)
+}
+array(4) {
+ [0]=>
+ int(2147483630)
+ [1]=>
+ int(2147483635)
+ [2]=>
+ int(2147483640)
+ [3]=>
+ int(2147483645)
+}
+array(4) {
+ [0]=>
+ float(-2147483645)
+ [1]=>
+ float(-2147483646)
+ [2]=>
+ float(-2147483647)
+ [3]=>
+ float(-2147483648)
+}
+array(5) {
+ [0]=>
+ float(-2147483645)
+ [1]=>
+ float(-2147483646)
+ [2]=>
+ float(-2147483647)
+ [3]=>
+ float(-2147483648)
+ [4]=>
+ float(-2147483649)
+}
+array(4) {
+ [0]=>
+ int(-2147483630)
+ [1]=>
+ int(-2147483635)
+ [2]=>
+ int(-2147483640)
+ [3]=>
+ int(-2147483645)
+}
+array(3) {
+ [0]=>
+ int(2147483647)
+ [1]=>
+ int(2147483646)
+ [2]=>
+ int(2147483645)
+}
+array(4) {
+ [0]=>
+ float(2147483648)
+ [1]=>
+ float(2147483647)
+ [2]=>
+ float(2147483646)
+ [3]=>
+ float(2147483645)
+}
diff --git a/ext/standard/tests/array/compact.phpt b/ext/standard/tests/array/compact.phpt
new file mode 100644
index 000000000..b70e55846
--- /dev/null
+++ b/ext/standard/tests/array/compact.phpt
@@ -0,0 +1,60 @@
+--TEST--
+compact() tests
+--FILE--
+<?php
+
+$var1 = "test";
+$var2 = "one more";
+$var3 = "and the last one";
+$_ = "a";
+
+var_dump(compact("var1", "var2", "var3"));
+var_dump(compact(""));
+var_dump(compact("-1"));
+var_dump(compact("."));
+var_dump(compact("_"));
+var_dump(compact("var3", "var4"));
+var_dump(compact(array("var2", "var3")));
+var_dump(compact(array(array("var1"), array("var1"))));
+
+$a = array(2.0, -5);
+var_dump(compact($a));
+
+echo "Done\n";
+?>
+--EXPECTF--
+array(3) {
+ ["var1"]=>
+ string(4) "test"
+ ["var2"]=>
+ string(8) "one more"
+ ["var3"]=>
+ string(16) "and the last one"
+}
+array(0) {
+}
+array(0) {
+}
+array(0) {
+}
+array(1) {
+ ["_"]=>
+ string(1) "a"
+}
+array(1) {
+ ["var3"]=>
+ string(16) "and the last one"
+}
+array(2) {
+ ["var2"]=>
+ string(8) "one more"
+ ["var3"]=>
+ string(16) "and the last one"
+}
+array(1) {
+ ["var1"]=>
+ string(4) "test"
+}
+array(0) {
+}
+Done
diff --git a/ext/standard/tests/array/locale_sort.phpt b/ext/standard/tests/array/locale_sort.phpt
index b4e15fa52..4b7068fa8 100644
--- a/ext/standard/tests/array/locale_sort.phpt
+++ b/ext/standard/tests/array/locale_sort.phpt
@@ -2,13 +2,13 @@
Sort with SORT_LOCALE_STRING
--SKIPIF--
<?php
-if ("fr_FR" != setlocale(LC_CTYPE, "fr_FR")) {
+if (false == setlocale(LC_CTYPE, "fr_FR", "fr_FR.ISO8859-1")) {
die("skip setlocale() failed\n");
}
?>
--FILE--
<?php
-setlocale(LC_ALL, 'fr_FR');
+setlocale(LC_ALL, 'fr_FR', 'fr_FR.ISO8859-1');
$table = array("AB" => "Alberta",
"BC" => "Colombie-Britannique",
"MB" => "Manitoba",