123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330 |
- import unittest
- try:
- from inary.sxml import xmlext_iks as xmliks
- import ciksemel
- except BaseException:
- raise("Ciksemel not found")
- from inary.sxml import xmlext_minidom as xmlmdom
- import xml.dom.minidom
- import shutil
- class XmlextTestCase(unittest.TestCase):
- def setUp(self):
- self.xmlscript = '<a><b atrib="something">something in b tag.<c>something in c tag.</c></b><d>something in d tag.</d></a>'
- self.parsedmdom = xmlmdom.parseString(self.xmlscript)
- self.parsediks = xmliks.parseString(self.xmlscript)
- def testParse(self):
- with open("tests/deneme.xml", "w") as a:
- a.write(self.xmlscript)
- a.flush()
- a.close()
- self.assertEqual(
- xmlmdom.toString(
- xmlmdom.parse("tests/deneme.xml")),
- xmliks.toString(
- xmliks.parse("tests/deneme.xml")))
- def testAddNode(self):
- xmliks.addNode(self.parsediks, "newtag")
- xmliks.addNode(xmliks.getNode(self.parsediks, "b"), "newtag")
- xmlmdom.addNode(self.parsedmdom, "newtag")
- xmlmdom.addNode(xmlmdom.getNode(self.parsedmdom, "b"), "newtag")
- self.assertEqual(
- xmliks.toString(
- self.parsediks), xmlmdom.toString(
- self.parsedmdom))
- def testAddText(self):
- xmliks.addText(
- self.parsediks,
- "newtag",
- "Something else in newtag under a")
- xmliks.addText(
- xmliks.getNode(
- self.parsediks,
- "b"),
- "newtag",
- "Something else in newtag under b")
- xmlmdom.addText(
- self.parsedmdom,
- "newtag",
- "Something else in newtag under a")
- xmlmdom.addText(
- xmlmdom.getNode(
- self.parsedmdom,
- "b"),
- "newtag",
- "Something else in newtag under b")
- self.assertEqual(
- xmliks.toString(
- self.parsediks), xmlmdom.toString(
- self.parsedmdom))
- def testGetNode(self):
- self.assertEqual(
- xmliks.getNode(
- xmliks.getNode(
- self.parsediks,
- "b"),
- "c").toString(),
- '<c>something in c tag.</c>')
- self.assertEqual(
- xmlmdom.getNode(
- xmlmdom.getNode(
- self.parsedmdom,
- "b"),
- "c").toxml(),
- '<c>something in c tag.</c>')
- self.assertEqual(xmliks.getNode(xmliks.getNode(self.parsediks, "b"), "c").toString(),
- xmlmdom.getNode(xmlmdom.getNode(self.parsedmdom, "b"), "c").toxml())
- def testGetChildElts(self):
- self.assertEqual([xmliks.getNodeText(x) for x in xmliks.getChildElts(self.parsediks)],
- [xmlmdom.getNodeText(x) for x in xmlmdom.getChildElts(self.parsedmdom)])
- def testGetTagByName(self):
- self.assertEqual(xmliks.getNodeText(xmliks.getTagByName(self.parsediks, "b")[0]),
- xmlmdom.getNodeText(xmlmdom.getTagByName(self.parsedmdom, "b")[0]))
- self.assertEqual(xmliks.getNodeText(xmliks.getTagByName(self.parsediks, "d")[0]),
- xmlmdom.getNodeText(xmlmdom.getTagByName(self.parsedmdom, "d")[0]))
- def testGetChildText(self):
- self.assertEqual(xmliks.getChildText(self.parsediks, "b"),
- xmlmdom.getChildText(self.parsedmdom, "b"))
- self.assertEqual(xmliks.getChildText(self.parsediks, "d"),
- xmlmdom.getChildText(self.parsedmdom, "d"))
- self.assertEqual(xmliks.getChildText(xmliks.getNode(self.parsediks, "b"), "c"),
- xmlmdom.getChildText(xmlmdom.getNode(self.parsedmdom, "b"), "c"))
- def testGetAllNodes(self):
- self.assertEqual(
- type(
- xmlmdom.getAllNodes(
- self.parsedmdom,
- "b")[0]),
- xml.dom.minidom.Element)
- self.assertEqual(
- type(
- xmliks.getAllNodes(
- self.parsediks,
- "b")[0]),
- ciksemel.Node)
- self.assertEqual(
- type(
- xmlmdom.getAllNodes(
- self.parsedmdom,
- "d")[0]),
- xml.dom.minidom.Element)
- self.assertEqual(
- type(
- xmliks.getAllNodes(
- self.parsediks,
- "d")[0]),
- ciksemel.Node)
- def testGetNodeText(self):
- self.assertEqual(
- xmliks.getNodeText(
- self.parsediks,
- "b"),
- "something in b tag.")
- self.assertEqual(
- xmlmdom.getNodeText(
- self.parsedmdom,
- "b"),
- "something in b tag.")
- self.assertEqual(
- xmliks.getNodeText(
- self.parsediks, "b"), xmlmdom.getNodeText(
- self.parsedmdom, "b"))
- self.assertEqual(
- xmliks.getNodeText(
- self.parsediks,
- "d"),
- "something in d tag.")
- self.assertEqual(
- xmlmdom.getNodeText(
- self.parsedmdom,
- "d"),
- "something in d tag.")
- self.assertEqual(
- xmliks.getNodeText(
- self.parsediks, "d"), xmlmdom.getNodeText(
- self.parsedmdom, "d"))
- def testGetNodeAttribute(self):
- self.assertEqual(
- xmliks.getNodeAttribute(
- xmliks.getNode(
- self.parsediks,
- "b"),
- "atrib"),
- "something")
- self.assertEqual(
- xmlmdom.getNodeAttribute(
- xmlmdom.getNode(
- self.parsedmdom,
- "b"),
- "atrib"),
- "something")
- self.assertEqual(xmliks.getNodeAttribute(xmliks.getNode(self.parsediks, "b"), "atrib"),
- xmlmdom.getNodeAttribute(xmlmdom.getNode(self.parsedmdom, "b"), "atrib"))
- self.assertEqual(
- xmliks.getNodeAttribute(
- xmliks.getNode(
- self.parsediks,
- "b"),
- "actrib"),
- None)
- self.assertEqual(
- xmlmdom.getNodeAttribute(
- xmlmdom.getNode(
- self.parsedmdom,
- "b"),
- "actrib"),
- None)
- self.assertEqual(xmliks.getNodeAttribute(xmliks.getNode(self.parsediks, "b"), "actrib"),
- xmlmdom.getNodeAttribute(xmlmdom.getNode(self.parsedmdom, "b"), "actrib"))
- self.assertEqual(
- xmliks.getNodeAttribute(
- xmliks.getNode(
- self.parsediks,
- "d"),
- "atrib"),
- None)
- self.assertEqual(
- xmlmdom.getNodeAttribute(
- xmlmdom.getNode(
- self.parsedmdom,
- "d"),
- "atrib"),
- None)
- self.assertEqual(xmliks.getNodeAttribute(xmliks.getNode(self.parsediks, "d"), "atrib"),
- xmlmdom.getNodeAttribute(xmlmdom.getNode(self.parsedmdom, "d"), "atrib"))
- def testSetNodeAttribute(self):
- xmliks.setNodeAttribute(
- xmliks.getNode(
- self.parsediks,
- "b"),
- "atrib",
- "everything")
- xmlmdom.setNodeAttribute(
- xmlmdom.getNode(
- self.parsedmdom,
- "b"),
- "atrib",
- "everything")
- self.assertEqual(
- xmliks.getNodeAttribute(
- xmliks.getNode(
- self.parsediks,
- "b"),
- "atrib"),
- "everything")
- self.assertEqual(
- xmlmdom.getNodeAttribute(
- xmlmdom.getNode(
- self.parsedmdom,
- "b"),
- "atrib"),
- "everything")
- self.assertEqual(xmliks.getNodeAttribute(xmliks.getNode(self.parsediks, "b"), "atrib"),
- xmlmdom.getNodeAttribute(xmlmdom.getNode(self.parsedmdom, "b"), "atrib"))
- xmliks.setNodeAttribute(
- xmliks.getNode(
- self.parsediks,
- "d"),
- "atrib",
- "anything")
- xmlmdom.setNodeAttribute(
- xmlmdom.getNode(
- self.parsedmdom,
- "d"),
- "atrib",
- "anything")
- self.assertEqual(
- xmliks.getNodeAttribute(
- xmliks.getNode(
- self.parsediks,
- "d"),
- "atrib"),
- "anything")
- self.assertEqual(
- xmlmdom.getNodeAttribute(
- xmlmdom.getNode(
- self.parsedmdom,
- "d"),
- "atrib"),
- "anything")
- self.assertEqual(xmliks.getNodeAttribute(xmliks.getNode(self.parsediks, "d"), "atrib"),
- xmlmdom.getNodeAttribute(xmlmdom.getNode(self.parsedmdom, "d"), "atrib"))
- def testRemoveChild(self):
- xmliks.removeChild(xmliks.getNode(self.parsediks, "d"), self.parsediks)
- xmlmdom.removeChild(
- xmlmdom.getNode(
- self.parsedmdom,
- "d"),
- self.parsedmdom)
- self.assertEqual(
- xmliks.toString(
- self.parsediks), xmlmdom.toString(
- self.parsedmdom))
- def testRemoveChildText(self):
- xmliks.removeChildText(xmliks.getNode(self.parsediks, "d"))
- xmlmdom.removeChildText(xmlmdom.getNode(self.parsedmdom, "d"))
- self.assertEqual(
- xmliks.toString(
- self.parsediks),
- '<a><b atrib="something">something in b tag.<c>something in c tag.</c></b><d/></a>')
- self.assertEqual(
- xmlmdom.toString(
- self.parsedmdom),
- '<a><b atrib="something">something in b tag.<c>something in c tag.</c></b><d></d></a>')
- def testNewNode(self):
- newiks = xmliks.newNode(self.parsediks, "a")
- newdom = xmlmdom.newNode(self.parsedmdom, "a")
- xmliks.addText(newiks, "b", "something under b")
- xmlmdom.addText(newdom, "b", "something under b")
- self.assertEqual(xmliks.toString(newiks), xmlmdom.toString(newdom))
- def testNewDocument(self):
- self.assertEqual(xmlmdom.toString(xmlmdom.newDocument("newdocument")),
- xmliks.toString(xmliks.newDocument("newdocument")))
- def testToString(self):
- self.assertEqual(
- xmliks.toString(
- self.parsediks), xmlmdom.toString(
- self.parsedmdom))
- def testToPretty(self):
- self.assertEqual(xmliks.toPretty(self.parsediks),
- """<a>
- <b atrib="something">something in b tag.<c>something in c tag.</c>
- </b>
- <d>something in d tag.</d>
- </a>""")
- self.assertEqual(xmlmdom.toPretty(self.parsedmdom),
- """<a>
- <b atrib="something">
- something in b tag.
- <c>something in c tag.</c>
- </b>
- <d>something in d tag.</d>
- </a>
- """)
|