aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorMarcelo Lira <marcelo.lira@openbossa.org>2010-03-23 13:50:37 -0300
committerMarcelo Lira <marcelo.lira@openbossa.org>2010-03-23 14:36:19 -0300
commitd4c193277a2ba0fa5d47292160ebc1c12ce9dca0 (patch)
treea0e50ccf82dd4e04918106bf3e44aad767579975 /tests
parentd42c260b589fc1b867a07115ed87b62b6643071f (diff)
Adds unit tests for QDomDocument class.
Reviewed by Hugo Parente <hugo.lima@openbossa.org> Reviewed by Lauro Moura <lauro.neto@openbossa.org>
Diffstat (limited to 'tests')
-rw-r--r--tests/qtxml/qdomdocument_test.py67
1 files changed, 67 insertions, 0 deletions
diff --git a/tests/qtxml/qdomdocument_test.py b/tests/qtxml/qdomdocument_test.py
new file mode 100644
index 000000000..86aece7ba
--- /dev/null
+++ b/tests/qtxml/qdomdocument_test.py
@@ -0,0 +1,67 @@
+#!/usr/bin/python
+import unittest
+from PySide.QtCore import QByteArray
+from PySide.QtXml import QDomDocument, QDomElement
+
+class QDomDocumentTest(unittest.TestCase):
+
+ def setUp(self):
+ self.dom = QDomDocument()
+
+ self.goodXmlData = QByteArray('''
+ <typesystem package="PySide.QtXml">
+ <value-type name="QDomDocument"/>
+ <value-type name="QDomElement"/>
+ </typesystem>
+ ''')
+
+ self.badXmlData = QByteArray('''
+ <typesystem package="PySide.QtXml">
+ <value-type name="QDomDocument">
+ </typesystem>
+ ''')
+
+ def tearDown(self):
+ del self.dom
+ del self.goodXmlData
+ del self.badXmlData
+
+ def testQDomDocumentSetContentWithBadXmlData(self):
+ '''Sets invalid xml as the QDomDocument contents.'''
+ ok, errorStr, errorLine, errorColumn = self.dom.setContent(self.badXmlData, True)
+ self.assertFalse(ok)
+ self.assertEqual(errorStr, 'tag mismatch')
+ self.assertEqual(errorLine, 4)
+ self.assertEqual(errorColumn, 21)
+
+ def testQDomDocumentSetContentWithGoodXmlData(self):
+ '''Sets valid xml as the QDomDocument contents.'''
+ ok, errorStr, errorLine, errorColumn = self.dom.setContent(self.goodXmlData, True)
+ self.assert_(ok)
+ self.assertEqual(errorStr, '')
+ self.assertEqual(errorLine, 0)
+ self.assertEqual(errorColumn, 0)
+
+ def testQDomDocumentData(self):
+ '''Checks the QDomDocument elements for the valid xml contents.'''
+
+ def checkAttribute(element, attribute, value):
+ self.assert_(isinstance(root, QDomElement))
+ self.assertFalse(element.isNull())
+ self.assert_(element.hasAttribute(attribute))
+ self.assertEqual(element.attribute(attribute), value)
+
+ ok, errorStr, errorLine, errorColumn = self.dom.setContent(self.goodXmlData, True)
+ root = self.dom.documentElement()
+ self.assertEqual(root.tagName(), 'typesystem')
+ checkAttribute(root, 'package', 'PySide.QtXml')
+
+ child = root.firstChildElement('value-type')
+ checkAttribute(child, 'name', 'QDomDocument')
+
+ child = child.nextSiblingElement('value-type')
+ checkAttribute(child, 'name', 'QDomElement')
+
+if __name__ == '__main__':
+ unittest.main()
+