def eval(self, name): # read the test case try: testcase = open(testfiles % name) data = testcase.read() description, expect = self.desc_re.search(data).groups() testcase.close() except: raise RuntimeError, "can't parse %s" % name # parse and reconstitute to a string work = StringIO.StringIO() results = feedparser.parse(data) scrub(testfiles % name, results) reconstitute(results, results.entries[0]).writexml(work) # verify the results results = feedparser.parse(work.getvalue().encode('utf-8')) if 'illegal' not in name: self.assertFalse(results.bozo, 'xml is well formed') if not self.simple_re.match(expect): self.assertTrue(eval(expect, results.entries[0]), expect) else: lhs, rhs = self.simple_re.match(expect).groups() self.assertEqual(eval(rhs), eval(lhs, results.entries[0]))
def eval(self, name): # read the test case try: testcase = open(testfiles % name) data = testcase.read() description, expect = self.desc_re.search(data).groups() testcase.close() except: raise RuntimeError, "can't parse %s" % name # parse and reconstitute to a string work = StringIO.StringIO() results = feedparser.parse(data) scrub(testfiles%name, results) reconstitute(results, results.entries[0]).writexml(work) # verify the results results = feedparser.parse(work.getvalue().encode('utf-8')) if 'illegal' not in name: self.assertFalse(results.bozo, 'xml is well formed') if not self.simple_re.match(expect): self.assertTrue(eval(expect, results.entries[0]), expect) else: lhs, rhs = self.simple_re.match(expect).groups() self.assertEqual(eval(rhs), eval(lhs, results.entries[0]))
def generate(self, feed, entry): from planet.reconstitute import reconstitute xdoc = reconstitute(feed, entry) xml = xdoc.documentElement.toxml() return StringParser().parse(xml.encode('utf-8'))