From fdb122f2da9e36dd41243a69e8ea9eec20ad3a1d Mon Sep 17 00:00:00 2001 From: tof <> Date: Wed, 27 Jun 2007 11:51:32 +0000 Subject: Add unit test for TXmlDocument and TXmlElementList --- tests/unit/Xml/TXmlDocumentTest.php | 58 +++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 6 deletions(-) (limited to 'tests/unit/Xml/TXmlDocumentTest.php') 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=''; + $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="\n\n "; + 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); } } ?> -- cgit v1.2.3