|
@@ -68,6 +68,9 @@ from youtube_dl.utils import (
|
|
|
cli_valueless_option,
|
|
|
cli_bool_option,
|
|
|
)
|
|
|
+from youtube_dl.compat import (
|
|
|
+ compat_etree_fromstring,
|
|
|
+)
|
|
|
|
|
|
|
|
|
class TestUtil(unittest.TestCase):
|
|
@@ -242,7 +245,7 @@ class TestUtil(unittest.TestCase):
|
|
|
<node x="b" y="d" />
|
|
|
<node x="" />
|
|
|
</root>'''
|
|
|
- doc = xml.etree.ElementTree.fromstring(testxml)
|
|
|
+ doc = compat_etree_fromstring(testxml)
|
|
|
|
|
|
self.assertEqual(find_xpath_attr(doc, './/fourohfour', 'n'), None)
|
|
|
self.assertEqual(find_xpath_attr(doc, './/fourohfour', 'n', 'v'), None)
|
|
@@ -263,7 +266,7 @@ class TestUtil(unittest.TestCase):
|
|
|
<url>http://server.com/download.mp3</url>
|
|
|
</media:song>
|
|
|
</root>'''
|
|
|
- doc = xml.etree.ElementTree.fromstring(testxml)
|
|
|
+ doc = compat_etree_fromstring(testxml)
|
|
|
find = lambda p: doc.find(xpath_with_ns(p, {'media': 'http://example.com/'}))
|
|
|
self.assertTrue(find('media:song') is not None)
|
|
|
self.assertEqual(find('media:song/media:author').text, 'The Author')
|
|
@@ -292,7 +295,7 @@ class TestUtil(unittest.TestCase):
|
|
|
<p>Foo</p>
|
|
|
</div>
|
|
|
</root>'''
|
|
|
- doc = xml.etree.ElementTree.fromstring(testxml)
|
|
|
+ doc = compat_etree_fromstring(testxml)
|
|
|
self.assertEqual(xpath_text(doc, 'div/p'), 'Foo')
|
|
|
self.assertEqual(xpath_text(doc, 'div/bar', default='default'), 'default')
|
|
|
self.assertTrue(xpath_text(doc, 'div/bar') is None)
|
|
@@ -304,7 +307,7 @@ class TestUtil(unittest.TestCase):
|
|
|
<p x="a">Foo</p>
|
|
|
</div>
|
|
|
</root>'''
|
|
|
- doc = xml.etree.ElementTree.fromstring(testxml)
|
|
|
+ doc = compat_etree_fromstring(testxml)
|
|
|
self.assertEqual(xpath_attr(doc, 'div/p', 'x'), 'a')
|
|
|
self.assertEqual(xpath_attr(doc, 'div/bar', 'x'), None)
|
|
|
self.assertEqual(xpath_attr(doc, 'div/p', 'y'), None)
|