From e3a6747d8f19ad0ba8aee7c3214cdb64903beba0 Mon Sep 17 00:00:00 2001 From: Matthieu Muffato Date: Sun, 26 Jun 2016 23:31:55 +0100 Subject: [PATCH] New test-case: extractor names are supposed to be unique @dstftw explained in https://github.com/rg3/youtube-dl/pull/9918#issuecomment-228625878 that extractor names are supposed to be unique. @dstftw has fixed the two offending extractors, and here I add a test to ensure this does not happen in the future. --- test/test_all_urls.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/test/test_all_urls.py b/test/test_all_urls.py index f5af184e6..133d438eb 100644 --- a/test/test_all_urls.py +++ b/test/test_all_urls.py @@ -6,6 +6,7 @@ from __future__ import unicode_literals import os import sys import unittest +import collections sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) @@ -130,6 +131,13 @@ class TestAllURLsMatching(unittest.TestCase): 'https://screen.yahoo.com/smartwatches-latest-wearable-gadgets-163745379-cbs.html', ['Yahoo']) + def test_no_duplicated_ie_names(self): + name_accu = collections.defaultdict(list) + for ie in self.ies: + name_accu[ie.IE_NAME.lower()].append(ie) + for (ie_name,ie_list) in name_accu.items(): + self.assertEqual(len(ie_list), 1, 'Only 1 extractor with IE_NAME "%s" (%s)' % (ie_name, ie_list)) + if __name__ == '__main__': unittest.main()