Skip to content

Commit 9ac0a83

Browse files
committed
add new tests for array_keys() function
1 parent d0c23bf commit 9ac0a83

File tree

3 files changed

+239
-0
lines changed

3 files changed

+239
-0
lines changed
Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
--TEST--
2+
array_keys() in non-strict mode
3+
--FILE--
4+
<?php
5+
6+
$arr = array(1, "1", "", NULL, 0, false, true, array());
7+
8+
$s = 1;
9+
var_dump(array_keys($arr, $s));
10+
11+
$s = "1";
12+
var_dump(array_keys($arr, $s));
13+
14+
$s = "";
15+
var_dump(array_keys($arr, $s));
16+
17+
$s = NULL;
18+
var_dump(array_keys($arr, $s));
19+
20+
$s = 0;
21+
var_dump(array_keys($arr, $s));
22+
23+
$s = false;
24+
var_dump(array_keys($arr, $s));
25+
26+
$s = true;
27+
var_dump(array_keys($arr, $s));
28+
29+
$s = array();
30+
var_dump(array_keys($arr, $s));
31+
32+
?>
33+
--EXPECTF--
34+
array(3) {
35+
[0]=>
36+
int(0)
37+
[1]=>
38+
int(1)
39+
[2]=>
40+
int(6)
41+
}
42+
array(3) {
43+
[0]=>
44+
int(0)
45+
[1]=>
46+
int(1)
47+
[2]=>
48+
int(6)
49+
}
50+
array(4) {
51+
[0]=>
52+
int(2)
53+
[1]=>
54+
int(3)
55+
[2]=>
56+
int(4)
57+
[3]=>
58+
int(5)
59+
}
60+
array(5) {
61+
[0]=>
62+
int(2)
63+
[1]=>
64+
int(3)
65+
[2]=>
66+
int(4)
67+
[3]=>
68+
int(5)
69+
[4]=>
70+
int(7)
71+
}
72+
array(4) {
73+
[0]=>
74+
int(2)
75+
[1]=>
76+
int(3)
77+
[2]=>
78+
int(4)
79+
[3]=>
80+
int(5)
81+
}
82+
array(5) {
83+
[0]=>
84+
int(2)
85+
[1]=>
86+
int(3)
87+
[2]=>
88+
int(4)
89+
[3]=>
90+
int(5)
91+
[4]=>
92+
int(7)
93+
}
94+
array(3) {
95+
[0]=>
96+
int(0)
97+
[1]=>
98+
int(1)
99+
[2]=>
100+
int(6)
101+
}
102+
array(3) {
103+
[0]=>
104+
int(3)
105+
[1]=>
106+
int(5)
107+
[2]=>
108+
int(7)
109+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
--TEST--
2+
array_keys() in strict mode
3+
--FILE--
4+
<?php
5+
6+
$arr = array(1, "1", "", NULL, 0, false, true, array());
7+
8+
$s = 1;
9+
var_dump(array_keys($arr, $s, true));
10+
11+
$s = "1";
12+
var_dump(array_keys($arr, $s, true));
13+
14+
$s = "";
15+
var_dump(array_keys($arr, $s, true));
16+
17+
$s = NULL;
18+
var_dump(array_keys($arr, $s, true));
19+
20+
$s = 0;
21+
var_dump(array_keys($arr, $s, true));
22+
23+
$s = false;
24+
var_dump(array_keys($arr, $s, true));
25+
26+
$s = true;
27+
var_dump(array_keys($arr, $s, true));
28+
29+
$s = array();
30+
var_dump(array_keys($arr, $s, true));
31+
32+
?>
33+
--EXPECTF--
34+
array(1) {
35+
[0]=>
36+
int(0)
37+
}
38+
array(1) {
39+
[0]=>
40+
int(1)
41+
}
42+
array(1) {
43+
[0]=>
44+
int(2)
45+
}
46+
array(1) {
47+
[0]=>
48+
int(3)
49+
}
50+
array(1) {
51+
[0]=>
52+
int(4)
53+
}
54+
array(1) {
55+
[0]=>
56+
int(5)
57+
}
58+
array(1) {
59+
[0]=>
60+
int(6)
61+
}
62+
array(1) {
63+
[0]=>
64+
int(7)
65+
}
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
--TEST--
2+
array_keys() in strict mode with references
3+
--FILE--
4+
<?php
5+
6+
$arr = array(1, "1", "", NULL, 0, false, true, array());
7+
8+
$s = &$arr[0];
9+
var_dump(array_keys($arr, $s, true));
10+
11+
$s = &$arr[1];
12+
var_dump(array_keys($arr, $s, true));
13+
14+
$s = &$arr[2];
15+
var_dump(array_keys($arr, $s, true));
16+
17+
$s = &$arr[3];
18+
var_dump(array_keys($arr, $s, true));
19+
20+
$s = &$arr[4];
21+
var_dump(array_keys($arr, $s, true));
22+
23+
$s = &$arr[5];
24+
var_dump(array_keys($arr, $s, true));
25+
26+
$s = &$arr[6];
27+
var_dump(array_keys($arr, $s, true));
28+
29+
$s = &$arr[7];
30+
var_dump(array_keys($arr, $s, true));
31+
32+
?>
33+
--EXPECTF--
34+
array(1) {
35+
[0]=>
36+
int(0)
37+
}
38+
array(1) {
39+
[0]=>
40+
int(1)
41+
}
42+
array(1) {
43+
[0]=>
44+
int(2)
45+
}
46+
array(1) {
47+
[0]=>
48+
int(3)
49+
}
50+
array(1) {
51+
[0]=>
52+
int(4)
53+
}
54+
array(1) {
55+
[0]=>
56+
int(5)
57+
}
58+
array(1) {
59+
[0]=>
60+
int(6)
61+
}
62+
array(1) {
63+
[0]=>
64+
int(7)
65+
}

0 commit comments

Comments
 (0)