Viewing file: Unserializer_Objects_TestCase.php (3.43 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php /** * Unit Tests for serializing arrays * * @package XML_Serializer * @subpackage tests * @author Stephan Schmidt <schst@php-tools.net> * @author Chuck Burgess <ashnazg@php.net> */
/** * PHPUnit main() hack * * "Call class::main() if this source file is executed directly." */ if (!defined('PHPUnit_MAIN_METHOD')) { define('PHPUnit_MAIN_METHOD', 'XML_Unserializer_Objects_TestCase::main'); } require_once 'PHPUnit/Framework/TestCase.php'; require_once 'PHPUnit/Framework/TestSuite.php'; require_once 'PHPUnit/TextUI/TestRunner.php';
require_once 'XML/Unserializer.php';
/** * Unit Tests for serializing arrays * * @package XML_Serializer * @subpackage tests * @author Stephan Schmidt <schst@php-tools.net> * @author Chuck Burgess <ashnazg@php.net> */ class XML_Unserializer_Objects_TestCase extends PHPUnit_Framework_TestCase {
public static function main() { $suite = new PHPUnit_Framework_TestSuite('XML_Unserializer_Objects_TestCase'); $result = PHPUnit_TextUI_TestRunner::run($suite); }
protected function setUp() {}
protected function tearDown() {}
/** * Test unserializing to a stdClass object */ public function testStdClass() { $u = new XML_Unserializer(); $u->setOption(XML_UNSERIALIZER_OPTION_COMPLEXTYPE, 'object'); $xml = '<xml><foo>bar</foo></xml>'; $u->unserialize($xml); $result = new stdClass(); $result->foo = 'bar'; $this->assertEquals($result, $u->getUnserializedData()); }
/** * Test unserializing to a custom class */ public function testDefaultClass() { $u = new XML_Unserializer(); $u->setOption(XML_UNSERIALIZER_OPTION_COMPLEXTYPE, 'object'); $u->setOption(XML_UNSERIALIZER_OPTION_DEFAULT_CLASS, 'Foo'); $xml = '<xml><foo>bar</foo></xml>'; $u->unserialize($xml); $result = new Foo(); $result->foo = 'bar'; $this->assertEquals($result, $u->getUnserializedData()); }
/** * Test unserializing to a class based on the tag name */ public function testTagnameAsClass() { $u = new XML_Unserializer(); $u->setOption(XML_UNSERIALIZER_OPTION_COMPLEXTYPE, 'object'); $u->setOption(XML_UNSERIALIZER_OPTION_DEFAULT_CLASS, 'Foo'); $xml = '<foo><bar><boo>tomato</boo></bar></foo>'; $u->unserialize($xml); $result = new Foo(); $result->bar = new Bar(); $result->bar->boo = 'tomato'; $this->assertEquals($result, $u->getUnserializedData()); }
/** * Test unserializing with a setter method */ public function testSetterMethod() { $u = new XML_Unserializer(); $u->setOption(XML_UNSERIALIZER_OPTION_COMPLEXTYPE, 'object'); $u->setOption(XML_UNSERIALIZER_OPTION_DEFAULT_CLASS, 'Foo'); $xml = '<SetterExample><foo>tomato</foo></SetterExample>'; $u->unserialize($xml); $result = new SetterExample(); $result->setFoo('tomato'); $this->assertEquals($result, $u->getUnserializedData()); }
}
class Foo {}
class Bar {}
class SetterExample { private $_hidden = null;
public function setFoo($foo) { $this->_hidden = $foo; } }
/** * PHPUnit main() hack * "Call class::main() if this source file is executed directly." */ if (PHPUnit_MAIN_METHOD == 'XML_Unserializer_Objects_TestCase::main') { XML_Unserializer_Objects_TestCase::main(); } ?>
|