]> granicus.if.org Git - php/commitdiff
new test, missing in ea466a3
authorRemi Collet <remi@php.net>
Wed, 18 Jun 2014 13:59:45 +0000 (15:59 +0200)
committerRemi Collet <remi@php.net>
Wed, 18 Jun 2014 13:59:45 +0000 (15:59 +0200)
ext/spl/tests/unserialize.phpt [new file with mode: 0644]

diff --git a/ext/spl/tests/unserialize.phpt b/ext/spl/tests/unserialize.phpt
new file mode 100644 (file)
index 0000000..3232b79
--- /dev/null
@@ -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===