Skip to content

Commit 6341dd6

Browse files
committed
ext/standard: Validate scandir() sorting_order parameter
1 parent da0c65e commit 6341dd6

1 file changed

Lines changed: 42 additions & 0 deletions

File tree

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
--TEST--
2+
scandir() flag validation and behavior
3+
--FILE--
4+
<?php
5+
6+
echo "== Valid flags ==\n";
7+
8+
$valid_flags = [
9+
SCANDIR_SORT_ASCENDING,
10+
SCANDIR_SORT_DESCENDING,
11+
SCANDIR_SORT_NONE,
12+
];
13+
14+
foreach ($valid_flags as $flag) {
15+
$result = scandir(__DIR__, $flag);
16+
echo is_array($result) ? "OK\n" : "FAIL\n";
17+
}
18+
19+
echo "== Invalid flags ==\n";
20+
21+
$invalid_flags = [-1, 3, 999, PHP_INT_MAX];
22+
23+
foreach ($invalid_flags as $flag) {
24+
try {
25+
scandir(__DIR__, $flag);
26+
echo "FAIL\n";
27+
} catch (ValueError $e) {
28+
echo "OK\n";
29+
}
30+
}
31+
32+
?>
33+
--EXPECT--
34+
== Valid flags ==
35+
OK
36+
OK
37+
OK
38+
== Invalid flags ==
39+
OK
40+
OK
41+
OK
42+
OK

0 commit comments

Comments
 (0)