diff options
author | Marcus Boerger <helly@php.net> | 2005-03-07 22:24:18 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2005-03-07 22:24:18 +0000 |
commit | 1a67f846d620f33aba120754b681aff186138e0a (patch) | |
tree | 93d2547203b245f7485a3d6fa5749f63acc6f9a4 /tests/classes | |
parent | 757da1eed5ffbc1c5a0ae07e82ae91f7e431f1a2 (diff) | |
download | php-git-1a67f846d620f33aba120754b681aff186138e0a.tar.gz |
- Add test
Diffstat (limited to 'tests/classes')
-rwxr-xr-x | tests/classes/serialize_001.phpt | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/tests/classes/serialize_001.phpt b/tests/classes/serialize_001.phpt new file mode 100755 index 0000000000..4ff2762da6 --- /dev/null +++ b/tests/classes/serialize_001.phpt @@ -0,0 +1,79 @@ +--TEST-- +ZE2 Serializeable +--FILE-- +<?php + +class Test implements Serializeable +{ + public $data; + + function __construct($data) + { + echo __METHOD__ . "($data)\n"; + $this->data = $data; + } + + function serialize() + { + echo __METHOD__ . "({$this->data})\n"; + return $this->data; + } + + function unserialize($serialized) + { + echo __METHOD__ . "($serialized)\n"; + $this->data = $serialized; + var_dump($this); + } +} + +$tests = array('String', NULL, 42, false); + +foreach($tests as $data) +{ + try + { + echo "==========\n"; + var_dump($data); + $ser = serialize(new Test($data)); + var_dump(unserialize($ser)); + } + catch(Exception $e) + { + echo 'Exception: ' . $e->getMessage() . "\n"; + } +} + +?> +===DONE=== +<?php exit(0); ?> +--EXPECT-- +========== +string(6) "String" +Test::__construct(String) +Test::serialize(String) +Test::unserialize(String) +object(Test)#1 (1) { + ["data"]=> + string(6) "String" +} +object(Test)#1 (1) { + ["data"]=> + string(6) "String" +} +========== +NULL +Test::__construct() +Test::serialize() +Exception: Test::serialize() must return a string or NULL +========== +int(42) +Test::__construct(42) +Test::serialize(42) +Exception: Test::serialize() must return a string or NULL +========== +bool(false) +Test::__construct() +Test::serialize() +Exception: Test::serialize() must return a string or NULL +===DONE=== |