aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/check_url.py40
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/check_url.py b/tests/check_url.py
new file mode 100644
index 0000000..ae29c53
--- /dev/null
+++ b/tests/check_url.py
@@ -0,0 +1,40 @@
+from unittest import TestCase
+
+from components.extractor.check_url import is_youtube, is_channel, is_playlist, is_video
+
+class Test_URL_Checker(TestCase):
+ def test_youtube_detection(self) -> None:
+ self.assertTrue(is_youtube("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
+ self.assertFalse(is_youtube("https://archive.org/"))
+ self.assertTrue(is_youtube("https://www.youtube.com/c/3blue1brown"))
+ self.assertFalse(is_youtube("https://www.nasa.gov/"))
+ self.assertTrue(is_youtube("https://youtu.be/jNQXAC9IVRw"))
+ self.assertFalse(is_youtube("https://www.wikipedia.org/"))
+ self.assertFalse(is_youtube("https://www.youtube.com/")) # Nothing after the domain.
+ self.assertFalse(is_youtube("https://xkcd.com/"))
+ self.assertTrue(is_youtube("https://www.youtube.com/@kurzgesagt"))
+ self.assertFalse(is_youtube("https://www.gutenberg.org/"))
+
+ def test_channel_detection(self) -> None:
+ self.assertTrue(is_channel("https://www.youtube.com/@LexFridman"))
+ self.assertTrue(is_channel("https://www.youtube.com/@PrimitiveTechnology"))
+ self.assertTrue(is_channel("https://www.youtube.com/user/schafer5"))
+ self.assertTrue(is_channel("https://www.youtube.com/channel/UCBa659QWEk1AI4Tg--mrJ2A"))
+ self.assertTrue(is_channel("https://www.youtube.com/c/mkbhd"))
+ self.assertTrue(is_channel("https://www.youtube.com/@MentalOutlaw/videos"))
+ self.assertFalse(is_channel("https://youtu.be/jNQXAC9IVRw"))
+ self.assertFalse(is_channel("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
+ self.assertFalse(is_channel("https://www.youtube.com/playlist?list=PL3cu45aM3C2CADmCYeVhS4KTVut9MoMc9"))
+
+ def test_playlist_detection(self) -> None:
+ self.assertTrue(is_playlist("https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr"))
+ self.assertTrue(is_playlist("https://www.youtube.com/watch?v=YykjpeuMNEk&list=PLirAqAtl_h2r5g8xGajEwdXd3x1sZh8hC&index=1&t=245s"))
+ self.assertFalse(is_playlist("https://www.youtube.com/@LexFridman"))
+ self.assertFalse(is_playlist("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
+
+ def test_video_detection(self) -> None:
+ self.assertTrue(is_video("https://youtu.be/G8iEMVr7GFg?t=112"))
+ self.assertTrue(is_video("https://www.youtube.com/watch?v=dQw4w9WgXcQ"))
+ self.assertTrue(is_video("https://youtu.be/jNQXAC9IVRw"))
+ self.assertFalse(is_video("https://www.youtube.com/channel/UCBa659QWEk1AI4Tg--mrJ2A"))
+ self.assertFalse(is_video("https://www.youtube.com/playlist?list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr"))