summaryrefslogtreecommitdiff
path: root/Zend/tests/array_unpack/already_occupied.phpt
blob: b2febe0021566e75e94b18dee8c56572122b35d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
--TEST--
Appending to an array via unpack may fail
--SKIPIF--
<?php if (PHP_INT_SIZE != 8) die("skip 64bit only"); ?>
--FILE--
<?php

$arr = [1, 2, 3];
try {
    var_dump([PHP_INT_MAX-1 => 0, ...$arr]);
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}

try {
    var_dump([PHP_INT_MAX-1 => 0, ...[1, 2, 3]]);
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}

const ARR = [1, 2, 3];
function test($x = [PHP_INT_MAX-1 => 0, ...ARR]) {}
try {
    test();
} catch (Error $e) {
    echo $e->getMessage(), "\n";
}

?>
--EXPECT--
Cannot add element to the array as the next element is already occupied
Cannot add element to the array as the next element is already occupied
Cannot add element to the array as the next element is already occupied