mirror of
https://github.com/php/php-src.git
synced 2025-08-19 17:04:47 +02:00
commit
e3b74cb168
1 changed files with 43 additions and 0 deletions
43
ext/spl/tests/unserialize.phpt
Normal file
43
ext/spl/tests/unserialize.phpt
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
--TEST--
|
||||||
|
SPL: unserialize with no data (for PHPUnit)
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
|
||||||
|
$types = array('SplDoublyLinkedList', 'SplObjectStorage', 'ArrayObject');
|
||||||
|
|
||||||
|
foreach ($types as $type) {
|
||||||
|
// serialize an empty new object
|
||||||
|
$exp = serialize(new $type());
|
||||||
|
// hack to instanciate an object without constructor
|
||||||
|
$str = sprintf('C:%d:"%s":0:{}', strlen($type), $type);
|
||||||
|
$obj = unserialize($str);
|
||||||
|
var_dump($obj);
|
||||||
|
// serialize result
|
||||||
|
$out = serialize($obj);
|
||||||
|
// both should match
|
||||||
|
var_dump($exp === $out);
|
||||||
|
}
|
||||||
|
?>
|
||||||
|
===DONE===
|
||||||
|
--EXPECTF--
|
||||||
|
object(SplDoublyLinkedList)#%d (2) {
|
||||||
|
["flags":"SplDoublyLinkedList":private]=>
|
||||||
|
int(0)
|
||||||
|
["dllist":"SplDoublyLinkedList":private]=>
|
||||||
|
array(0) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bool(true)
|
||||||
|
object(SplObjectStorage)#%d (1) {
|
||||||
|
["storage":"SplObjectStorage":private]=>
|
||||||
|
array(0) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bool(true)
|
||||||
|
object(ArrayObject)#%d (1) {
|
||||||
|
["storage":"ArrayObject":private]=>
|
||||||
|
array(0) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
bool(true)
|
||||||
|
===DONE===
|
Loading…
Add table
Add a link
Reference in a new issue