summaryrefslogtreecommitdiff
path: root/ext/standard/tests/serialize/unserialize_error_001.phpt
blob: f390c36a78fefe69ffe05b28e5fcbbe4c183292a (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
34
--TEST--
Test unserialize() with non-bool/array allowed_classes
--FILE--
<?php
class foo {
        public $x = "bar";
}
$z = array(new foo(), 2, "3");
$s = serialize($z);

try {
    unserialize($s, ["allowed_classes" => null]);
} catch (TypeError $exception) {
    echo $exception->getMessage() . "\n";
}

try {
    unserialize($s, ["allowed_classes" => 0]);
} catch (TypeError $exception) {
    echo $exception->getMessage() . "\n";
}


try {
    unserialize($s, ["allowed_classes" => 1]);
} catch (TypeError $exception) {
    echo $exception->getMessage() . "\n";
}

?>
--EXPECT--
unserialize(): Option "allowed_classes" must be of type array|bool, null given
unserialize(): Option "allowed_classes" must be of type array|bool, int given
unserialize(): Option "allowed_classes" must be of type array|bool, int given