From: Marcus Boerger Date: Sun, 21 Jan 2007 12:30:19 +0000 (+0000) Subject: - Add tests X-Git-Tag: RELEASE_1_2_3~27 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d2c8a3bb6358a02b18bc94707d19e366f577aa6a;p=php - Add tests --- diff --git a/ext/spl/tests/observer_003.phpt b/ext/spl/tests/observer_003.phpt new file mode 100755 index 0000000000..79df8cf963 --- /dev/null +++ b/ext/spl/tests/observer_003.phpt @@ -0,0 +1,60 @@ +--TEST-- +SPL: SplObjectStorage serialization +--SKIPIF-- + +--FILE-- +test = $test; + } +} + +$storage = new SplObjectStorage(); + +foreach(array(1,"2","foo",true) as $value) +{ + $storage->attach(new TestClass($value)); +} + +var_dump(count($storage)); + +foreach($storage as $object) +{ + var_dump($object->test); +} + +var_dump(serialize($storage)); +echo "===UNSERIALIZE===\n"; + +$storage2 = unserialize(serialize($storage)); + +var_dump(count($storage2)); + +foreach($storage2 as $object) +{ + var_dump($object->test); +} + +?> +===DONE=== + +--EXPECTF-- +int(4) +int(1) +string(1) "2" +string(3) "foo" +bool(true) +string(%d) "%s" +===UNSERIALIZE=== +int(4) +int(1) +string(1) "2" +string(3) "foo" +bool(true) +===DONE=== diff --git a/ext/spl/tests/observer_004.phpt b/ext/spl/tests/observer_004.phpt new file mode 100755 index 0000000000..78b480ab1c --- /dev/null +++ b/ext/spl/tests/observer_004.phpt @@ -0,0 +1,78 @@ +--TEST-- +SPL: SplObjectStorage serialization & overloading +--SKIPIF-- + +--FILE-- +test = $test; + } +} + +class MyStorage extends SplObjectStorage +{ + public $bla = 25; + + public function __construct($bla = 26) + { + $this->bla = $bla; + } +} + +$storage = new MyStorage(); + +foreach(array(1,2) as $value) +{ + $storage->attach(new TestClass($value)); +} + +var_dump(count($storage)); + +foreach($storage as $object) +{ + var_dump($object->test); +} + +var_dump($storage); + +var_dump(serialize($storage)); +echo "===UNSERIALIZE===\n"; + +$storage2 = unserialize(serialize($storage)); + +var_dump(count($storage2)); + +foreach($storage2 as $object) +{ + var_dump($object->test); +} + +var_dump($storage2); + +?> +===DONE=== + +--EXPECTF-- +int(2) +int(1) +int(2) +object(MyStorage)#%d (1) { + ["bla"]=> + int(26) +} +string(%d) "%s" +===UNSERIALIZE=== +int(2) +int(1) +int(2) +object(MyStorage)#%d (1) { + ["bla"]=> + int(26) +} +===DONE=== diff --git a/ext/spl/tests/observer_005.phpt b/ext/spl/tests/observer_005.phpt new file mode 100755 index 0000000000..46971cc2dd --- /dev/null +++ b/ext/spl/tests/observer_005.phpt @@ -0,0 +1,144 @@ +--TEST-- +SPL: SplObjectStorage serialization & visibility +--SKIPIF-- + +--FILE-- +pub = $pub; + $this->pro = $pro; + $this->pri = $pri; + } +} + +class ExtTestClass +{ +} + +class MyStorage extends SplObjectStorage +{ + public $def = 24; + public $pub = 25; + protected $pro = 26; + private $pri = 27; + + public function __construct($pub = 52, $pro = 53, $pri = 54) + { + $this->pub = $pub; + $this->pro = $pro; + $this->pri = $pri; + } +} + +class ExtStorage extends MyStorage +{ +} + +$storage = new MyStorage(1,2,3); + +foreach(array(array(4,5,6),array(7,8,9)) as $value) +{ + $storage->attach(new TestClass($value[0], $value[1], $value[2])); +} + +var_dump(count($storage)); + +foreach($storage as $object) +{ + var_dump($object); +} + +var_dump($storage); + +var_dump(serialize($storage)); +echo "===UNSERIALIZE===\n"; + +$storage2 = unserialize(serialize($storage)); + +var_dump(count($storage2)); + +foreach($storage2 as $object) +{ + var_dump($object); +} + +var_dump($storage2); + +?> +===DONE=== + +--EXPECTF-- +int(2) +object(TestClass)#%d (4) { + ["def"]=> + int(24) + ["pub"]=> + int(4) + ["pro:protected"]=> + int(5) + ["pri:private"]=> + int(6) +} +object(TestClass)#%d (4) { + ["def"]=> + int(24) + ["pub"]=> + int(7) + ["pro:protected"]=> + int(8) + ["pri:private"]=> + int(9) +} +object(MyStorage)#%d (4) { + ["def"]=> + int(24) + ["pub"]=> + int(1) + ["pro:protected"]=> + int(2) + ["pri:private"]=> + int(3) +} +string(%d) "%s" +===UNSERIALIZE=== +int(2) +object(TestClass)#%d (4) { + ["def"]=> + int(24) + ["pub"]=> + int(4) + ["pro:protected"]=> + int(5) + ["pri:private"]=> + int(6) +} +object(TestClass)#%d (4) { + ["def"]=> + int(24) + ["pub"]=> + int(7) + ["pro:protected"]=> + int(8) + ["pri:private"]=> + int(9) +} +object(MyStorage)#%d (4) { + ["def"]=> + int(24) + ["pub"]=> + int(1) + ["pro:protected"]=> + int(2) + ["pri:private"]=> + int(3) +} +===DONE===