diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_utils.py | 32 | 
1 files changed, 32 insertions, 0 deletions
| diff --git a/test/test_utils.py b/test/test_utils.py index 80c765bc4..1c29d0889 100644 --- a/test/test_utils.py +++ b/test/test_utils.py @@ -53,6 +53,7 @@ from youtube_dl.utils import (      version_tuple,      xpath_with_ns,      render_table, +    match_str,  ) @@ -459,6 +460,37 @@ ffmpeg version 2.4.4 Copyright (c) 2000-2014 the FFmpeg ...'''), '2.4.4')              '123  4\n'              '9999 51') +    def test_match_str(self): +        self.assertRaises(ValueError, match_str, 'xy>foobar', {}) +        self.assertFalse(match_str('xy', {'x': 1200})) +        self.assertTrue(match_str('!xy', {'x': 1200})) +        self.assertTrue(match_str('x', {'x': 1200})) +        self.assertFalse(match_str('!x', {'x': 1200})) +        self.assertTrue(match_str('x', {'x': 0})) +        self.assertFalse(match_str('x>0', {'x': 0})) +        self.assertFalse(match_str('x>0', {})) +        self.assertTrue(match_str('x>?0', {})) +        self.assertTrue(match_str('x>1K', {'x': 1200})) +        self.assertFalse(match_str('x>2K', {'x': 1200})) +        self.assertTrue(match_str('x>=1200 & x < 1300', {'x': 1200})) +        self.assertFalse(match_str('x>=1100 & x < 1200', {'x': 1200})) +        self.assertFalse(match_str('y=a212', {'y': 'foobar42'})) +        self.assertTrue(match_str('y=foobar42', {'y': 'foobar42'})) +        self.assertFalse(match_str('y!=foobar42', {'y': 'foobar42'})) +        self.assertTrue(match_str('y!=foobar2', {'y': 'foobar42'})) +        self.assertFalse(match_str( +            'like_count > 100 & dislike_count <? 50 & description', +            {'like_count': 90, 'description': 'foo'})) +        self.assertTrue(match_str( +            'like_count > 100 & dislike_count <? 50 & description', +            {'like_count': 190, 'description': 'foo'})) +        self.assertFalse(match_str( +            'like_count > 100 & dislike_count <? 50 & description', +            {'like_count': 190, 'dislike_count': 60, 'description': 'foo'})) +        self.assertFalse(match_str( +            'like_count > 100 & dislike_count <? 50 & description', +            {'like_count': 190, 'dislike_count': 10})) +  if __name__ == '__main__':      unittest.main() | 
