diff options
author | Marcus Boerger <helly@php.net> | 2004-09-26 18:28:07 +0000 |
---|---|---|
committer | Marcus Boerger <helly@php.net> | 2004-09-26 18:28:07 +0000 |
commit | 3cdd2bcb010a01ffc7034341f90d0de4170b9e52 (patch) | |
tree | 4ec6488a4d7ee3e3bb4fd4c5acd979478067bf65 /ext | |
parent | 617de199125d605f41ea9c7e182740ba40557c63 (diff) | |
download | php-git-3cdd2bcb010a01ffc7034341f90d0de4170b9e52.tar.gz |
- Add more tests
Diffstat (limited to 'ext')
-rw-r--r-- | ext/standard/tests/serialize/002.phpt | 44 | ||||
-rwxr-xr-x | ext/standard/tests/serialize/autoload_implements.p5c | 10 | ||||
-rwxr-xr-x | ext/standard/tests/serialize/autoload_interface.p5c | 7 | ||||
-rwxr-xr-x | ext/standard/tests/serialize/bug30234.phpt | 40 |
4 files changed, 101 insertions, 0 deletions
diff --git a/ext/standard/tests/serialize/002.phpt b/ext/standard/tests/serialize/002.phpt new file mode 100644 index 0000000000..3085d1cf4f --- /dev/null +++ b/ext/standard/tests/serialize/002.phpt @@ -0,0 +1,44 @@ +--TEST-- +Bug #25378 (unserialize() crashes with invalid data) +--FILE-- +<?php +var_dump(unserialize('b:0;')); +var_dump(unserialize('b:1;')); +var_dump(unserialize('i:823;')); +var_dump(unserialize('s:0:"";')); +var_dump(unserialize('s:3:"foo";')); +var_dump(unserialize('a:1:{i:0;s:2:"12";}')); +var_dump(unserialize('a:2:{i:0;a:0:{}i:1;a:0:{}}')); +var_dump(unserialize('a:3:{i:0;s:3:"foo";i:1;s:3:"bar";i:2;s:3:"baz";}')); +var_dump(unserialize('O:8:"stdClass":0:{}')); +?> +===DONE=== +--EXPECTF-- +bool(false) +bool(true) +int(823) +string(0) "" +string(3) "foo" +array(1) { + [0]=> + string(2) "12" +} +array(2) { + [0]=> + array(0) { + } + [1]=> + array(0) { + } +} +array(3) { + [0]=> + string(3) "foo" + [1]=> + string(3) "bar" + [2]=> + string(3) "baz" +} +object(stdClass)#%d (0) { +} +===DONE=== diff --git a/ext/standard/tests/serialize/autoload_implements.p5c b/ext/standard/tests/serialize/autoload_implements.p5c new file mode 100755 index 0000000000..2c3479c860 --- /dev/null +++ b/ext/standard/tests/serialize/autoload_implements.p5c @@ -0,0 +1,10 @@ +<?php + +class autoload_implements implements autoload_interface { + function testFunction() + { + return true; + } +} + +?>
\ No newline at end of file diff --git a/ext/standard/tests/serialize/autoload_interface.p5c b/ext/standard/tests/serialize/autoload_interface.p5c new file mode 100755 index 0000000000..6908155e61 --- /dev/null +++ b/ext/standard/tests/serialize/autoload_interface.p5c @@ -0,0 +1,7 @@ +<?php + +interface autoload_interface { + function testFunction(); +} + +?>
\ No newline at end of file diff --git a/ext/standard/tests/serialize/bug30234.phpt b/ext/standard/tests/serialize/bug30234.phpt new file mode 100755 index 0000000000..37fc8cde3c --- /dev/null +++ b/ext/standard/tests/serialize/bug30234.phpt @@ -0,0 +1,40 @@ +--TEST-- +#30234 (__autoload() not invoked for interfaces) +--SKIPIF-- +<?php + if (class_exists('autoload_root', false)) die('skip Autoload test classes exist already'); +?> +--FILE-- +<?php + +function __autoload($class_name) +{ + require_once(dirname(__FILE__) . '/' . strtolower($class_name) . '.p5c'); + echo __FUNCTION__ . '(' . $class_name . ")\n"; +} + +var_dump(interface_exists('autoload_interface', false)); +var_dump(class_exists('autoload_implements', false)); + +$o = unserialize('O:19:"Autoload_Implements":0:{}'); + +var_dump($o); +var_dump($o instanceof autoload_interface); +unset($o); + +var_dump(interface_exists('autoload_interface', false)); +var_dump(class_exists('autoload_implements', false)); + +?> +===DONE=== +--EXPECTF-- +bool(false) +bool(false) +__autoload(autoload_interface) +__autoload(Autoload_Implements) +object(autoload_implements)#%d (0) { +} +bool(true) +bool(true) +bool(true) +===DONE=== |