cvs: php-src /tests/classes clone_004.phpt clone_005.phpt

From: Date: Thu, 03 Jul 2003 19:53:01 +0000
Subject: cvs: php-src /tests/classes clone_004.phpt clone_005.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-22357@lists.php.net to get a copy of this message
helly Thu Jul 3 15:53:01 2003 EDT Added files: /php-src/tests/classes clone_005.phpt clone_004.phpt Log: More __clone testing Index: php-src/tests/classes/clone_005.phpt +++ php-src/tests/classes/clone_005.phpt --TEST-- ZE2 object cloning, 5 --FILE-- <?php abstract class base { public $a = 'base'; // disallow cloning once forever final private function __clone() {} } class test extends base { // reenabling should fail public function __clone() {} } ?> --EXPECTF-- Fatal error: Cannot override final method base::__clone() in %sclone_005.php on line %d Index: php-src/tests/classes/clone_004.phpt +++ php-src/tests/classes/clone_004.phpt --TEST-- ZE2 object cloning, 4 --FILE-- <?php abstract class base { public $a = 'base'; // disallow cloning private function __clone() {} } class test extends base { public $b = 'test'; // reenable cloning public function __clone() {} public function show() { var_dump($this); } } echo "Original\n"; $o1 = new test; $o1->a = array(1,2); $o1->b = array(3,4); $o1->show(); echo "Clone\n"; $o2 = $o1->__clone(); $o2->show(); echo "Modify\n"; $o2->a = 5; $o2->b = 6; $o2->show(); echo "Done\n"; ?> --EXPECT-- Original object(test)#1 (2) { ["b"]=> array(2) { [0]=> int(3) [1]=> int(4) } ["a"]=> array(2) { [0]=> int(1) [1]=> int(2) } } Clone object(test)#2 (2) { ["b"]=> string(4) "test" ["a"]=> string(4) "base" } Modify object(test)#2 (2) { ["b"]=> int(6) ["a"]=> int(5) } Done

« previous php.cvs (#22357) next »