|
1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- # -*- coding: utf-8 -*-
-
- import unittest
-
- from validate.links import find_links_in_text
-
-
- class TestValidateLinks(unittest.TestCase):
-
- def test_find_link_in_text(self):
- text = """
- # this is valid
-
- http://example.com?param1=1¶m2=2#anchor
- https://www.example.com?param1=1¶m2=2#anchor
- https://www.example.com.br
- https://www.example.com.gov.br
- [Example](https://www.example.com?param1=1¶m2=2#anchor)
- lorem ipsum https://www.example.com?param1=1¶m2=2#anchor
- https://www.example.com?param1=1¶m2=2#anchor lorem ipsum
-
- # this not is valid
-
- example.com
- https:example.com
- https:/example.com
- https//example.com
- https//.com
- """
-
- links = find_links_in_text(text)
-
- self.assertIsInstance(links, list)
- self.assertEqual(len(links), 7)
-
- for link in links:
- with self.subTest():
- self.assertIsInstance(link, str)
-
- def test_find_link_in_text_with_invalid_argument(self):
- with self.assertRaises(TypeError):
- find_links_in_text()
- find_links_in_text(1)
- find_links_in_text(True)
|