diff options
Diffstat (limited to 'test')
| -rw-r--r-- | test/test_YoutubeDL.py | 4 | ||||
| -rw-r--r-- | test/test_age_restriction.py | 2 | ||||
| -rw-r--r-- | test/test_all_urls.py | 3 | ||||
| -rw-r--r-- | test/test_playlists.py | 63 | ||||
| -rw-r--r-- | test/test_youtube_lists.py | 4 | ||||
| -rw-r--r-- | test/test_youtube_signature.py | 12 | 
6 files changed, 64 insertions, 24 deletions
| diff --git a/test/test_YoutubeDL.py b/test/test_YoutubeDL.py index 8735013f7..e794cc97f 100644 --- a/test/test_YoutubeDL.py +++ b/test/test_YoutubeDL.py @@ -67,7 +67,7 @@ class TestFormatSelection(unittest.TestCase):          downloaded = ydl.downloaded_info_dicts[0]          self.assertEqual(downloaded['ext'], 'mp4') -        # No prefer_free_formats => prefer mp4 and flv for greater compatibilty +        # No prefer_free_formats => prefer mp4 and flv for greater compatibility          ydl = YDL()          ydl.params['prefer_free_formats'] = False          formats = [ @@ -279,7 +279,7 @@ class TestFormatSelection(unittest.TestCase):          self.assertEqual(ydl._format_note({}), '')          assertRegexpMatches(self, ydl._format_note({              'vbr': 10, -        }), '^x\s*10k$') +        }), '^\s*10k$')  if __name__ == '__main__':      unittest.main() diff --git a/test/test_age_restriction.py b/test/test_age_restriction.py index c9cdb96cb..71e80b037 100644 --- a/test/test_age_restriction.py +++ b/test/test_age_restriction.py @@ -13,7 +13,7 @@ from youtube_dl import YoutubeDL  def _download_restricted(url, filename, age): -    """ Returns true iff the file has been downloaded """ +    """ Returns true if the file has been downloaded """      params = {          'age_limit': age, diff --git a/test/test_all_urls.py b/test/test_all_urls.py index 4b56137ce..2bc81f020 100644 --- a/test/test_all_urls.py +++ b/test/test_all_urls.py @@ -69,9 +69,6 @@ class TestAllURLsMatching(unittest.TestCase):      def test_youtube_show_matching(self):          self.assertMatch('http://www.youtube.com/show/airdisasters', ['youtube:show']) -    def test_youtube_truncated(self): -        self.assertMatch('http://www.youtube.com/watch?', ['youtube:truncated_url']) -      def test_youtube_search_matching(self):          self.assertMatch('http://www.youtube.com/results?search_query=making+mustard', ['youtube:search_url'])          self.assertMatch('https://www.youtube.com/results?baz=bar&search_query=youtube-dl+test+video&filters=video&lclk=video', ['youtube:search_url']) diff --git a/test/test_playlists.py b/test/test_playlists.py index cc871698a..3a88cf270 100644 --- a/test/test_playlists.py +++ b/test/test_playlists.py @@ -28,7 +28,9 @@ from youtube_dl.extractor import (      SoundcloudSetIE,      SoundcloudUserIE,      SoundcloudPlaylistIE, +    TeacherTubeUserIE,      LivestreamIE, +    LivestreamOriginalIE,      NHLVideocenterIE,      BambuserChannelIE,      BandcampAlbumIE, @@ -39,6 +41,7 @@ from youtube_dl.extractor import (      KhanAcademyIE,      EveryonesMixtapeIE,      RutubeChannelIE, +    RutubePersonIE,      GoogleSearchIE,      GenericIE,      TEDIE, @@ -113,10 +116,10 @@ class TestPlaylists(unittest.TestCase):      def test_ustream_channel(self):          dl = FakeYDL()          ie = UstreamChannelIE(dl) -        result = ie.extract('http://www.ustream.tv/channel/young-americans-for-liberty') +        result = ie.extract('http://www.ustream.tv/channel/channeljapan')          self.assertIsPlaylist(result) -        self.assertEqual(result['id'], '5124905') -        self.assertTrue(len(result['entries']) >= 6) +        self.assertEqual(result['id'], '10874166') +        self.assertTrue(len(result['entries']) >= 54)      def test_soundcloud_set(self):          dl = FakeYDL() @@ -134,6 +137,14 @@ class TestPlaylists(unittest.TestCase):          self.assertEqual(result['id'], '9615865')          self.assertTrue(len(result['entries']) >= 12) +    def test_soundcloud_likes(self): +        dl = FakeYDL() +        ie = SoundcloudUserIE(dl) +        result = ie.extract('https://soundcloud.com/the-concept-band/likes') +        self.assertIsPlaylist(result) +        self.assertEqual(result['id'], '9615865') +        self.assertTrue(len(result['entries']) >= 1) +      def test_soundcloud_playlist(self):          dl = FakeYDL()          ie = SoundcloudPlaylistIE(dl) @@ -153,6 +164,14 @@ class TestPlaylists(unittest.TestCase):          self.assertEqual(result['title'], 'TEDCity2.0 (English)')          self.assertTrue(len(result['entries']) >= 4) +    def test_livestreamoriginal_folder(self): +        dl = FakeYDL() +        ie = LivestreamOriginalIE(dl) +        result = ie.extract('https://www.livestream.com/newplay/folder?dirId=a07bf706-d0e4-4e75-a747-b021d84f2fd3') +        self.assertIsPlaylist(result) +        self.assertEqual(result['id'], 'a07bf706-d0e4-4e75-a747-b021d84f2fd3') +        self.assertTrue(len(result['entries']) >= 28) +      def test_nhl_videocenter(self):          dl = FakeYDL()          ie = NHLVideocenterIE(dl) @@ -209,20 +228,20 @@ class TestPlaylists(unittest.TestCase):      def test_ivi_compilation(self):          dl = FakeYDL()          ie = IviCompilationIE(dl) -        result = ie.extract('http://www.ivi.ru/watch/dezhurnyi_angel') +        result = ie.extract('http://www.ivi.ru/watch/dvoe_iz_lartsa')          self.assertIsPlaylist(result) -        self.assertEqual(result['id'], 'dezhurnyi_angel') -        self.assertEqual(result['title'], 'Дежурный ангел (2010 - 2012)') -        self.assertTrue(len(result['entries']) >= 23) +        self.assertEqual(result['id'], 'dvoe_iz_lartsa') +        self.assertEqual(result['title'], 'Двое из ларца (2006 - 2008)') +        self.assertTrue(len(result['entries']) >= 24)      def test_ivi_compilation_season(self):          dl = FakeYDL()          ie = IviCompilationIE(dl) -        result = ie.extract('http://www.ivi.ru/watch/dezhurnyi_angel/season2') +        result = ie.extract('http://www.ivi.ru/watch/dvoe_iz_lartsa/season1')          self.assertIsPlaylist(result) -        self.assertEqual(result['id'], 'dezhurnyi_angel/season2') -        self.assertEqual(result['title'], 'Дежурный ангел (2010 - 2012) 2 сезон') -        self.assertTrue(len(result['entries']) >= 7) +        self.assertEqual(result['id'], 'dvoe_iz_lartsa/season1') +        self.assertEqual(result['title'], 'Двое из ларца (2006 - 2008) 1 сезон') +        self.assertTrue(len(result['entries']) >= 12)      def test_imdb_list(self):          dl = FakeYDL() @@ -255,10 +274,18 @@ class TestPlaylists(unittest.TestCase):      def test_rutube_channel(self):          dl = FakeYDL()          ie = RutubeChannelIE(dl) -        result = ie.extract('http://rutube.ru/tags/video/1409') +        result = ie.extract('http://rutube.ru/tags/video/1800/') +        self.assertIsPlaylist(result) +        self.assertEqual(result['id'], '1800') +        self.assertTrue(len(result['entries']) >= 68) + +    def test_rutube_person(self): +        dl = FakeYDL() +        ie = RutubePersonIE(dl) +        result = ie.extract('http://rutube.ru/video/person/313878/')          self.assertIsPlaylist(result) -        self.assertEqual(result['id'], '1409') -        self.assertTrue(len(result['entries']) >= 34) +        self.assertEqual(result['id'], '313878') +        self.assertTrue(len(result['entries']) >= 37)      def test_multiple_brightcove_videos(self):          # https://github.com/rg3/youtube-dl/issues/2283 @@ -360,5 +387,13 @@ class TestPlaylists(unittest.TestCase):              result['title'], 'Brace Yourself - Today\'s Weirdest News')          self.assertTrue(len(result['entries']) >= 10) +    def test_TeacherTubeUser(self): +        dl = FakeYDL() +        ie = TeacherTubeUserIE(dl) +        result = ie.extract('http://www.teachertube.com/user/profile/rbhagwati2') +        self.assertIsPlaylist(result) +        self.assertEqual(result['id'], 'rbhagwati2') +        self.assertTrue(len(result['entries']) >= 179) +  if __name__ == '__main__':      unittest.main() diff --git a/test/test_youtube_lists.py b/test/test_youtube_lists.py index 7d3b9c705..3aadedd64 100644 --- a/test/test_youtube_lists.py +++ b/test/test_youtube_lists.py @@ -112,11 +112,11 @@ class TestYoutubeLists(unittest.TestCase):      def test_youtube_mix(self):          dl = FakeYDL()          ie = YoutubePlaylistIE(dl) -        result = ie.extract('http://www.youtube.com/watch?v=lLJf9qJHR3E&list=RDrjFaenf1T-Y') +        result = ie.extract('https://www.youtube.com/watch?v=W01L70IGBgE&index=2&list=RDOQpdSVF_k_w')          entries = result['entries']          self.assertTrue(len(entries) >= 20)          original_video = entries[0] -        self.assertEqual(original_video['id'], 'rjFaenf1T-Y') +        self.assertEqual(original_video['id'], 'OQpdSVF_k_w')      def test_youtube_toptracks(self):          print('Skipping: The playlist page gives error 500') diff --git a/test/test_youtube_signature.py b/test/test_youtube_signature.py index 8417c55a6..8d46fe108 100644 --- a/test/test_youtube_signature.py +++ b/test/test_youtube_signature.py @@ -33,6 +33,12 @@ _TESTS = [          90,          u']\\[@?>=<;:/.-,+*)(\'&%$#"hZYXWVUTSRQPONMLKJIHGFEDCBAzyxwvutsrqponmlkjiagfedcb39876',      ), +    ( +        u'https://s.ytimg.com/yts/jsbin/html5player-en_US-vflXGBaUN.js', +        u'js', +        u'2ACFC7A61CA478CD21425E5A57EBD73DDC78E22A.2094302436B2D377D14A3BBA23022D023B8BC25AA', +        u'A52CB8B320D22032ABB3A41D773D2B6342034902.A22E87CDD37DBE75A5E52412DC874AC16A7CFCA2', +    ),  ] @@ -44,7 +50,7 @@ class TestSignature(unittest.TestCase):              os.mkdir(self.TESTDATA_DIR) -def make_tfunc(url, stype, sig_length, expected_sig): +def make_tfunc(url, stype, sig_input, expected_sig):      basename = url.rpartition('/')[2]      m = re.match(r'.*-([a-zA-Z0-9_-]+)\.[a-z]+$', basename)      assert m, '%r should follow URL format' % basename @@ -66,7 +72,9 @@ def make_tfunc(url, stype, sig_length, expected_sig):              with open(fn, 'rb') as testf:                  swfcode = testf.read()              func = ie._parse_sig_swf(swfcode) -        src_sig = compat_str(string.printable[:sig_length]) +        src_sig = ( +            compat_str(string.printable[:sig_input]) +            if isinstance(sig_input, int) else sig_input)          got_sig = func(src_sig)          self.assertEqual(got_sig, expected_sig) | 
