summaryrefslogtreecommitdiffstats
path: root/tests/test_parse.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_parse.py')
-rw-r--r--tests/test_parse.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/tests/test_parse.py b/tests/test_parse.py
new file mode 100644
index 0000000..aa4ae44
--- /dev/null
+++ b/tests/test_parse.py
@@ -0,0 +1,26 @@
+import pytest
+
+from mdurl import parse
+from tests.fixtures.url import PARSED as FIXTURES
+
+
+def is_url_and_dict_equal(url, url_dict):
+ return (
+ url.protocol == url_dict.get("protocol")
+ and url.slashes == url_dict.get("slashes", False)
+ and url.auth == url_dict.get("auth")
+ and url.port == url_dict.get("port")
+ and url.hostname == url_dict.get("hostname")
+ and url.hash == url_dict.get("hash")
+ and url.search == url_dict.get("search")
+ and url.pathname == url_dict.get("pathname")
+ )
+
+
+@pytest.mark.parametrize(
+ "url,expected_dict",
+ FIXTURES.items(),
+)
+def test_parse(url, expected_dict):
+ parsed = parse(url)
+ assert is_url_and_dict_equal(parsed, expected_dict)