Skip to content

Commit 56f3ef4

Browse files
committed
Split array_pad() tests and add more edge case tests
1 parent e3f2351 commit 56f3ef4

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

ext/standard/tests/array/array_pad.phpt

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,6 @@ var_dump(array_pad(array("", -1, 2.0), 2, array()));
1313
var_dump(array_pad(array("", -1, 2.0), -3, array()));
1414
var_dump(array_pad(array("", -1, 2.0), -4, array()));
1515

16-
try {
17-
var_dump(array_pad(array("", -1, 2.0), 2000000, 0));
18-
} catch (\ValueError $e) {
19-
echo $e->getMessage() . "\n";
20-
}
21-
2216
?>
2317
--EXPECT--
2418
array(1) {
@@ -84,4 +78,3 @@ array(4) {
8478
[3]=>
8579
float(2)
8680
}
87-
array_pad(): Argument #2 ($length) is too large because it results in a padding of 1999997 elements, which is larger than the allowed 1048576 elements
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
--TEST--
2+
array_pad() with too large padding should fail
3+
--FILE--
4+
<?php
5+
6+
function test($length) {
7+
try {
8+
var_dump(array_pad(array("", -1, 2.0), $length, 0));
9+
} catch (\ValueError $e) {
10+
echo $e->getMessage() . "\n";
11+
}
12+
}
13+
14+
test(PHP_INT_MIN);
15+
test(PHP_INT_MAX);
16+
17+
?>
18+
--EXPECT--
19+
array_pad(): Argument #2 ($length) must not exceed the maximum allowed array size
20+
array_pad(): Argument #2 ($length) must not exceed the maximum allowed array size

0 commit comments

Comments
 (0)