diff options
author | tof <> | 2007-06-27 11:51:32 +0000 |
---|---|---|
committer | tof <> | 2007-06-27 11:51:32 +0000 |
commit | fdb122f2da9e36dd41243a69e8ea9eec20ad3a1d (patch) | |
tree | ffe0f3ca249df9a97b80240c04cf9e5e4b827bed /tests/unit/Xml/TXmlDocumentTest.php | |
parent | 0621133cf16ece2cbf4be49438ab0eacaada5630 (diff) |
Add unit test for TXmlDocument and TXmlElementList
Diffstat (limited to 'tests/unit/Xml/TXmlDocumentTest.php')
-rw-r--r-- | tests/unit/Xml/TXmlDocumentTest.php | 58 |
1 files changed, 52 insertions, 6 deletions
diff --git a/tests/unit/Xml/TXmlDocumentTest.php b/tests/unit/Xml/TXmlDocumentTest.php index b47f735d..8766b231 100644 --- a/tests/unit/Xml/TXmlDocumentTest.php +++ b/tests/unit/Xml/TXmlDocumentTest.php @@ -9,27 +9,73 @@ Prado::using('System.Xml.TXmlDocument'); class TXmlDocumentTest extends PHPUnit_Framework_TestCase { public function testConstruct() { - throw new PHPUnit_Framework_IncompleteTestError(); + $xmldoc=new TXmlDocument ('1.0', 'utf-8'); + self::assertEquals('1.0', $xmldoc->getVersion()); + self::assertEquals('utf-8', $xmldoc->getEncoding()); } public function testSetVersion() { - throw new PHPUnit_Framework_IncompleteTestError(); + $xmldoc=new TXmlDocument ('1.0', 'utf-8'); + self::assertEquals('1.0', $xmldoc->getVersion()); + $xmldoc->setVersion('2.0'); + self::assertEquals('2.0', $xmldoc->getVersion()); } public function testSetEncoding() { - throw new PHPUnit_Framework_IncompleteTestError(); + $xmldoc=new TXmlDocument ('1.0', 'utf-8'); + self::assertEquals('utf-8', $xmldoc->getEncoding()); + $xmldoc->setEncoding('iso8859-1'); + self::assertEquals('iso8859-1', $xmldoc->getEncoding()); } public function testLoadFromFile() { - throw new PHPUnit_Framework_IncompleteTestError(); + $file=dirname(__FILE__).'/data/test.xml'; + $xmldoc=new TXmlDocument(); + try { + $xmldoc->loadFromFile('unexistentXmlFile.xml'); + self::fail('Expected TIOException not thrown'); + } catch (TIOException $e) {} + + self::assertTrue($xmldoc->loadFromFile($file)); + self::assertEquals('1.0', $xmldoc->getVersion()); + self::assertEquals('UTF-8',$xmldoc->getEncoding()); } public function testLoadFromString() { - throw new PHPUnit_Framework_IncompleteTestError(); + $xmlStr='<?xml version="1.0" encoding="UTF-8"?><rootNode><node id="node1" param="attribute1"/><node id="node2" param="attribute2"/></rootNode>'; + $xmldoc=new TXmlDocument(); + self::assertTrue($xmldoc->loadFromString($xmlStr)); + self::assertEquals('1.0', $xmldoc->getVersion()); + self::assertEquals('UTF-8',$xmldoc->getEncoding()); } public function testSaveToString() { - throw new PHPUnit_Framework_IncompleteTestError(); + $xmldoc=new TXmlDocument('1.0','utf-8'); + $xmldoc->setTagName('root'); + $node=new TXmlElement('node'); + $node->setAttribute('param','attribute1'); + $xmldoc->getElements()->add($node); + $xmlString=$xmldoc->saveToString(); + // test magic method + $magicString=(string)$xmldoc; + self::assertEquals($magicString,$xmlString); + // Result string should be : + $resultString="<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<root>\n <node param=\"attribute1\"\n</root>"; + self::assertEquals($xmlString, $magicString); + + } + + public function testSaveToFile() { + $file=dirname(__FILE__).'/data/tmp.xml'; + if (!is_writable(dirname($file))) self::markTestSkipped(dirname($file).' must be writable for this test'); + $xmldoc=new TXmlDocument('1.0','utf-8'); + $xmldoc->setTagName('root'); + $node=new TXmlElement('node'); + $node->setAttribute('param','attribute1'); + $xmldoc->getElements()->add($node); + $xmldoc->saveToFile($file); + self::assertTrue(is_file($file)); + if (is_file($file)) unlink ($file); } } ?> |