def testgetCommonData_01(self): testXML = """ <Common> <ExternalLinks> <li href="https://en.wikipedia.org/wiki/Iraq_war">Wikipedia</li> </ExternalLinks> <Images> <li embed="https://upload.wikimedia.org/wikipedia/commons/2/2e/Iraq_War_montage.png" /> </Images> </Common> """ # Remove tabs and newlines from testXML testXML = " ".join(testXML.split()) tree = ET.fromstring(testXML) it = tree.iter() e = it.next() nextElement, treeIter, d = getCommonData(e, it) self.assert_(len(d) == 7) self.assert_(len(d["ExternalLinks"]) == 1) self.assert_( d["ExternalLinks"][0]["href"] == "https://en.wikipedia.org/wiki/Iraq_war" ) self.assert_( d["Images"][0]["embed"] == "https://upload.wikimedia.org/wikipedia/commons/2/2e/Iraq_War_montage.png" ) try: it.next() raise Exception("StopIteration exception should have been raised!") except StopIteration as e: pass
def testGetCommonData_04(self) : testXML = """ <Common> <Citations> <li href="href for Citations" /> <li embed="embed for Citations">text inside embed</li> </Citations> <Videos> <li embed="embed for Videos" /> </Videos> </Common> """ testXML = " ".join(testXML.split()) tree = ET.fromstring(testXML) treeIter = tree.iter() nextElement = treeIter.next() data = {} self.assert_(nextElement.tag == "Common") nextElement, treeIter, data = getCommonData(nextElement, treeIter) self.assert_(data == {'Videos': [{'embed': 'embed for Videos'}], 'Summary': [], 'Maps': [], 'Citations': [{'href': 'href for Citations'}, {'content': 'text inside embed', 'embed': 'embed for Citations'}], 'ExternalLinks': [], 'Images': [], 'Feeds': []}) self.assert_(isinstance(data, dict)) self.assert_(data.has_key('Videos')) self.assert_(data.has_key('Citations')) self.assert_(data.get('Citations') == [{'href': 'href for Citations'}, {'content': 'text inside embed', 'embed': 'embed for Citations'}]) self.assert_(data.get('Citations')[0] == {'href': 'href for Citations'}) self.assert_(data.get('Citations')[1] == {'content': 'text inside embed', 'embed': 'embed for Citations'}) self.assert_(data.get('Videos') == [{'embed': 'embed for Videos'}])
def testgetCommonData_03(self): testXML = """ <Common> <ExternalLinks> <li href="http://www.fema.gov/">Official Website</li> <li embed="http://www.cdc.gov/">Official Website</li> </ExternalLinks> <Images> <li embed="https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" /> </Images> <Videos> <li embed="https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" /> </Videos> <Maps> <li embed="https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" /> </Maps> <Feeds> <li embed="https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" /> </Feeds> <Summary> hello </Summary> </Common> """ # Remove tabs and newlines from testXML testXML = " ".join(testXML.split()) tree = ET.fromstring(testXML) it = tree.iter() e = it.next() nextElement, treeIter, d = getCommonData(e, it) self.assert_(len(d) == 7) self.assert_(len(d["ExternalLinks"]) == 2) self.assert_( d["ExternalLinks"][0]["href"] == "http://www.fema.gov/" ) self.assert_( d["ExternalLinks"][1]["embed"] == "http://www.cdc.gov/" ) self.assert_( d["Images"][0]["embed"] == "https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" ) self.assert_( d["Maps"][0]["embed"] == "https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/FEMA_logo.svg/640px-FEMA_logo.svg.png" ) self.assert_( d["Summary"] == " hello " ) try: it.next() raise Exception("StopIteration exception should have been raised!") except StopIteration as e: pass
def testGetCommonData_05(self) : testXML = """ <Common> <ExternalLinks> <li href="https://en.wikipedia.org/wiki/Osama_Bin_Laden">Wikipedia</li> </ExternalLinks> <Images> <li embed="https://upload.wikimedia.org/wikipedia/commons/c/ca/Osama_bin_Laden_portrait.jpg" /> </Images> </Common> """ testXML = " ".join(testXML.split()) tree = ET.fromstring(testXML) treeIter = tree.iter() nextElement = treeIter.next() data = {} self.assert_(nextElement.tag == "Common") nextElement, treeIter, data = getCommonData(nextElement, treeIter) self.assert_(data == {'Videos': [], 'Summary': [], 'Maps': [], 'Citations': [], 'ExternalLinks': [{'content': 'Wikipedia', 'href': 'https://en.wikipedia.org/wiki/Osama_Bin_Laden'}], 'Images': [{'embed': 'https://upload.wikimedia.org/wikipedia/commons/c/ca/Osama_bin_Laden_portrait.jpg'}], 'Feeds': []}) self.assert_(isinstance(data.get('ExternalLinks'), list)) self.assert_(isinstance(data.get('ExternalLinks')[0], dict)) self.assert_(data.has_key('ExternalLinks')) self.assert_((data.get('ExternalLinks'))[0].get('content') == "Wikipedia")
def testgetCommonData_02(self): testXML = """ <Common> <Citations> <li href="http://iava.org/">Official Website</li> <li embed="http://patrickstjohn.org/images/iava-logo.jpg" /> </Citations> <Images> <li embed="http://patrickstjohn.org/images/iava-logo.jpg" /> </Images> <Summary> It's an organization. </Summary> </Common> """ # Remove tabs and newlines from testXML testXML = " ".join(testXML.split()) tree = ET.fromstring(testXML) it = tree.iter() e = it.next() nextElement, treeIter, d = getCommonData(e, it) self.assert_(len(d) == 7) self.assert_(len(d["Citations"]) == 2) self.assert_( d["Citations"][0]["href"] == "http://iava.org/" ) self.assert_( d["Citations"][1]["embed"] == "http://patrickstjohn.org/images/iava-logo.jpg" ) self.assert_( d["Citations"][0]["content"] == "Official Website" ) self.assert_( d["Images"][0]["embed"] == "http://patrickstjohn.org/images/iava-logo.jpg" ) self.assert_( d["Summary"] == " It's an organization. " ) try: it.next() raise Exception("StopIteration exception should have been raised!") except StopIteration as e: pass