summaryrefslogtreecommitdiff
path: root/tests/unit/Xml/TXmlDocumentTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/Xml/TXmlDocumentTest.php')
-rw-r--r--tests/unit/Xml/TXmlDocumentTest.php58
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);
}
}
?>