summaryrefslogtreecommitdiff
path: root/ext/standard/tests/serialize/005.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/serialize/005.phpt')
-rwxr-xr-xext/standard/tests/serialize/005.phpt186
1 files changed, 0 insertions, 186 deletions
diff --git a/ext/standard/tests/serialize/005.phpt b/ext/standard/tests/serialize/005.phpt
deleted file mode 100755
index d67f6fbf70..0000000000
--- a/ext/standard/tests/serialize/005.phpt
+++ /dev/null
@@ -1,186 +0,0 @@
---TEST--
-serialize()/unserialize() objects
---SKIPIF--
-<?php if (!interface_exists('Serializable')) die('skip Interface Serialzable not defined'); ?>
---FILE--
-<?php
-
-// This test verifies that old and new style (un)serializing do not interfere.
-
-function do_autoload($class_name)
-{
- if ($class_name != 'autoload_not_available')
- {
- require_once(dirname(__FILE__) . '/' . strtolower($class_name) . '.p5c');
- }
- echo __FUNCTION__ . "($class_name)\n";
-}
-
-function unserializer($class_name)
-{
- echo __METHOD__ . "($class_name)\n";
- switch($class_name)
- {
- case 'TestNAOld':
- eval("class TestNAOld extends TestOld {}");
- break;
- case 'TestNANew':
- eval("class TestNANew extends TestNew {}");
- break;
- case 'TestNANew2':
- eval("class TestNANew2 extends TestNew {}");
- break;
- default:
- echo "Try __autoload()\n";
- if (!function_exists('__autoload'))
- {
- eval('function __autoload($class_name) { do_autoload($class_name); }');
- }
- __autoload($class_name);
- break;
- }
-}
-
-ini_set('unserialize_callback_func', 'unserializer');
-
-class TestOld
-{
- function serialize()
- {
- echo __METHOD__ . "()\n";
- }
-
- function unserialize($serialized)
- {
- echo __METHOD__ . "()\n";
- }
-
- function __wakeup()
- {
- echo __METHOD__ . "()\n";
- }
-
- function __sleep()
- {
- echo __METHOD__ . "()\n";
- return array();
- }
-}
-
-class TestNew implements Serializable
-{
- protected static $check = 0;
-
- function serialize()
- {
- echo __METHOD__ . "()\n";
- switch(++self::$check)
- {
- case 1:
- return NULL;
- case 2:
- return "2";
- }
- }
-
- function unserialize($serialized)
- {
- echo __METHOD__ . "()\n";
- }
-
- function __wakeup()
- {
- echo __METHOD__ . "()\n";
- }
-
- function __sleep()
- {
- echo __METHOD__ . "()\n";
- }
-}
-
-echo "===O1===\n";
-var_dump($ser = serialize(new TestOld));
-var_dump(unserialize($ser));
-
-echo "===N1===\n";
-var_dump($ser = serialize(new TestNew));
-var_dump(unserialize($ser));
-
-echo "===N2===\n";
-var_dump($ser = serialize(new TestNew));
-var_dump(unserialize($ser));
-
-echo "===NAOld===\n";
-var_dump(unserialize('O:9:"TestNAOld":0:{}'));
-
-echo "===NANew===\n";
-var_dump(unserialize('O:9:"TestNANew":0:{}'));
-
-echo "===NANew2===\n";
-var_dump(unserialize('C:10:"TestNANew2":0:{}'));
-
-echo "===AutoOld===\n";
-var_dump(unserialize('O:19:"autoload_implements":0:{}'));
-
-// Now we have __autoload(), that will be called before the old style header.
-// If the old style handler also fails to register the class then the object
-// becomes an incomplete class instance.
-
-echo "===AutoNA===\n";
-var_dump(unserialize('O:22:"autoload_not_available":0:{}'));
-?>
-===DONE===
-<?php exit(0); ?>
---EXPECTF--
-===O1===
-TestOld::__sleep()
-string(18) "O:7:"TestOld":0:{}"
-TestOld::__wakeup()
-object(TestOld)#%d (0) {
-}
-===N1===
-TestNew::serialize()
-string(2) "N;"
-NULL
-===N2===
-TestNew::serialize()
-string(19) "C:7:"TestNew":1:{2}"
-TestNew::unserialize()
-object(TestNew)#%d (0) {
-}
-===NAOld===
-unserializer(TestNAOld)
-TestOld::__wakeup()
-object(TestNAOld)#%d (0) {
-}
-===NANew===
-unserializer(TestNANew)
-TestNew::__wakeup()
-object(TestNANew)#%d (0) {
-}
-===NANew2===
-unserializer(TestNANew2)
-TestNew::unserialize()
-object(TestNANew2)#%d (0) {
-}
-===AutoOld===
-unserializer(autoload_implements)
-Try __autoload()
-do_autoload(autoload_interface)
-do_autoload(autoload_implements)
-object(autoload_implements)#%d (0) {
-}
-===AutoNA===
-do_autoload(autoload_not_available)
-unserializer(autoload_not_available)
-Try __autoload()
-do_autoload(autoload_not_available)
-do_autoload(autoload_not_available)
-
-Warning: unserialize(): Function unserializer() hasn't defined the class it was called for in %s005.php on line %d
-object(__PHP_Incomplete_Class)#1 (1) {
- ["__PHP_Incomplete_Class_Name"]=>
- string(22) "autoload_not_available"
-}
-===DONE===