diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_utils.py | 29 | 
1 files changed, 29 insertions, 0 deletions
diff --git a/test/test_utils.py b/test/test_utils.py index edc712f07..3cdb21d40 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -34,6 +34,9 @@ from youtube_dl.utils import (      find_xpath_attr,      fix_xml_ampersands,      get_element_by_class, +    get_element_by_attribute, +    get_elements_by_class, +    get_elements_by_attribute,      InAdvancePagedList,      intlist_to_bytes,      is_html, @@ -1124,6 +1127,32 @@ The first line          self.assertEqual(get_element_by_class('foo', html), 'nice')          self.assertEqual(get_element_by_class('no-such-class', html), None) +    def test_get_element_by_attribute(self): +        html = ''' +            <span class="foo bar">nice</span> +        ''' + +        self.assertEqual(get_element_by_attribute('class', 'foo bar', html), 'nice') +        self.assertEqual(get_element_by_attribute('class', 'foo', html), None) +        self.assertEqual(get_element_by_attribute('class', 'no-such-foo', html), None) + +    def test_get_elements_by_class(self): +        html = ''' +            <span class="foo bar">nice</span><span class="foo bar">also nice</span> +        ''' + +        self.assertEqual(get_elements_by_class('foo', html), ['nice', 'also nice']) +        self.assertEqual(get_elements_by_class('no-such-class', html), []) + +    def test_get_elements_by_attribute(self): +        html = ''' +            <span class="foo bar">nice</span><span class="foo bar">also nice</span> +        ''' + +        self.assertEqual(get_elements_by_attribute('class', 'foo bar', html), ['nice', 'also nice']) +        self.assertEqual(get_elements_by_attribute('class', 'foo', html), []) +        self.assertEqual(get_elements_by_attribute('class', 'no-such-foo', html), []) +  if __name__ == '__main__':      unittest.main()  | 
