diff options
| author | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:37:27 -0400 |
|---|---|---|
| committer | Mark A. Hershberger <mah@debian.(none)> | 2009-03-25 00:37:27 -0400 |
| commit | 2d4e5b09576bb4f0ba716cc82cdf29ea04d9184b (patch) | |
| tree | 41ccc042009cba53e4ce43e727fcba4c1cfbf7f3 /ext/spl/tests/observer_005.phpt | |
| parent | d29a4fd2dd3b5d4cf6e80b602544d7b71d794e76 (diff) | |
| download | php-upstream/5.2.2.tar.gz | |
Imported Upstream version 5.2.2upstream/5.2.2
Diffstat (limited to 'ext/spl/tests/observer_005.phpt')
| -rwxr-xr-x | ext/spl/tests/observer_005.phpt | 144 |
1 files changed, 144 insertions, 0 deletions
diff --git a/ext/spl/tests/observer_005.phpt b/ext/spl/tests/observer_005.phpt new file mode 100755 index 000000000..46971cc2d --- /dev/null +++ b/ext/spl/tests/observer_005.phpt @@ -0,0 +1,144 @@ +--TEST-- +SPL: SplObjectStorage serialization & visibility +--SKIPIF-- +<?php if (!extension_loaded("spl")) print "skip"; ?> +--FILE-- +<?php + +class TestClass +{ + public $def = 24; + public $pub = 25; + protected $pro = 26; + private $pri = 27; + + public function __construct($pub = 42, $pro = 43, $pri = 44) + { + $this->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=== +<?php exit(0); ?> +--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=== |
