Skip to content

Commit da873aa

Browse files
committed
add some behavioral tests
1 parent 7586d0d commit da873aa

1 file changed

Lines changed: 57 additions & 0 deletions

File tree

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
--TEST--
2+
Sorting single-element arrays does not invoke the comparison function
3+
--FILE--
4+
<?php
5+
6+
$calls = 0;
7+
$compare = static function ($a, $b) use (&$calls) {
8+
$calls++;
9+
return $a <=> $b;
10+
};
11+
12+
$array = [42];
13+
// Keep the array packed and without holes, but leave the next free index at 11.
14+
$array[10] = 99;
15+
unset($array[10]);
16+
next($array);
17+
var_dump(usort($array, $compare));
18+
var_dump($array, key($array));
19+
$array[] = 43;
20+
var_dump($array);
21+
22+
$array = ['answer' => 42];
23+
next($array);
24+
var_dump(usort($array, $compare));
25+
var_dump($array, key($array));
26+
$array[] = 43;
27+
var_dump($array);
28+
29+
var_dump($calls);
30+
31+
?>
32+
--EXPECT--
33+
bool(true)
34+
array(1) {
35+
[0]=>
36+
int(42)
37+
}
38+
int(0)
39+
array(2) {
40+
[0]=>
41+
int(42)
42+
[1]=>
43+
int(43)
44+
}
45+
bool(true)
46+
array(1) {
47+
[0]=>
48+
int(42)
49+
}
50+
int(0)
51+
array(2) {
52+
[0]=>
53+
int(42)
54+
[1]=>
55+
int(43)
56+
}
57+
int(0)

0 commit comments

Comments
 (0)