]> granicus.if.org Git - python/commitdiff
Removed _SimpleElementPath and its flaky test. The test monkey-patches the module...
authorEli Bendersky <eliben@gmail.com>
Fri, 15 Jun 2012 06:03:19 +0000 (09:03 +0300)
committerEli Bendersky <eliben@gmail.com>
Fri, 15 Jun 2012 06:03:19 +0000 (09:03 +0300)
Lib/test/test_xml_etree.py
Lib/xml/etree/ElementTree.py

index 22a1773e89eaa2bd1a5841ba114795a548fd6cd1..87398b486205febe53eef3019f5fb1346f101ead 100644 (file)
@@ -2234,28 +2234,6 @@ class NoAcceleratorTest(unittest.TestCase):
         self.assertEqual(pyET.Element.__module__, 'xml.etree.ElementTree')
         self.assertEqual(pyET.SubElement.__module__, 'xml.etree.ElementTree')
 
-
-class ElementPathFallbackTest(unittest.TestCase):
-    def test_fallback(self):
-        current_ElementPath = ET.ElementPath
-        ET.ElementPath = ET._SimpleElementPath()
-        elem = ET.XML(SAMPLE_XML)
-        self.assertEqual(elem.find('tag').tag, 'tag')
-        self.assertEqual(ET.ElementTree(elem).find('tag').tag, 'tag')
-        self.assertEqual(elem.findtext('tag'), 'text')
-        self.assertIsNone(elem.findtext('tog'))
-        self.assertEqual(elem.findtext('tog', 'default'), 'default')
-        self.assertEqual(ET.ElementTree(elem).findtext('tag'), 'text')
-        self.assertEqual(summarize_list(elem.findall('tag')), ['tag', 'tag'])
-        self.assertEqual(summarize_list(elem.findall('.//tag')),
-            ['tag', 'tag', 'tag'])
-
-        #self.assertIsNone(elem.find('section/tag'))
-        #self.assertIsNone(elem.findtext('section/tag'))
-        self.assertEqual(summarize_list(elem.findall('section/tag')), [])
-
-        ET.ElementPath = current_ElementPath
-
 # --------------------------------------------------------------------
 
 
@@ -2328,7 +2306,6 @@ def test_main(module=None):
     if pyET:
         test_classes.extend([
             NoAcceleratorTest,
-            ElementPathFallbackTest,
             ])
 
     support.run_unittest(*test_classes)
index 47766253e545366ea42ad208a246f4fe602d2c6c..d30a83c92aff93917c62354edbff48c7854359e9 100644 (file)
@@ -101,32 +101,8 @@ import sys
 import re
 import warnings
 
-class _SimpleElementPath:
-    # emulate pre-1.2 find/findtext/findall behaviour
-    def find(self, element, tag, namespaces=None):
-        for elem in element:
-            if elem.tag == tag:
-                return elem
-        return None
-    def findtext(self, element, tag, default=None, namespaces=None):
-        elem = self.find(element, tag)
-        if elem is None:
-            return default
-        return elem.text or ""
-    def iterfind(self, element, tag, namespaces=None):
-        if tag[:3] == ".//":
-            for elem in element.iter(tag[3:]):
-                yield elem
-        for elem in element:
-            if elem.tag == tag:
-                yield elem
-    def findall(self, element, tag, namespaces=None):
-        return list(self.iterfind(element, tag, namespaces))
+from . import ElementPath
 
-try:
-    from . import ElementPath
-except ImportError:
-    ElementPath = _SimpleElementPath()
 
 ##
 # Parser error.  This is a subclass of <b>SyntaxError</b>.