Skip to content

Commit

Permalink
Tidy up tests
Browse files Browse the repository at this point in the history
  • Loading branch information
domdfcoding committed Jul 22, 2021
1 parent bd0b7f8 commit 91a8643
Showing 1 changed file with 46 additions and 81 deletions.
127 changes: 46 additions & 81 deletions tests/test_url.py
Expand Up @@ -90,9 +90,7 @@ def test_str(self, value):
def test_repr(self, value, expects):
assert repr(URLPath(value)) == expects

@pytest.mark.parametrize("method", [
URLPath().as_uri,
])
@pytest.mark.parametrize("method", [URLPath().as_uri])
def test_notimplemented(self, method):
with pytest.raises(NotImplementedError):
method()
Expand Down Expand Up @@ -713,100 +711,67 @@ def test_relative_to(self):

def test_ordering(self):
# f comes before t
assert self._class("https://bbc.co.uk:443/news/sport/football"
) < self._class("https://bbc.co.uk:443/news/sport/tennis")
assert self._class("https://bbc.co.uk:443/news/sport/football"
) <= self._class("https://bbc.co.uk:443/news/sport/tennis")
assert self._class("https://bbc.co.uk:443/news/sport/tennis"
) > self._class("https://bbc.co.uk:443/news/sport/football")
assert self._class("https://bbc.co.uk:443/news/sport/tennis"
) >= self._class("https://bbc.co.uk:443/news/sport/football")
assert sorted([
self._class("https://bbc.co.uk:443/news/sport/tennis"),
self._class("https://bbc.co.uk:443/news/sport/football")
]) == [
self._class("https://bbc.co.uk:443/news/sport/football"),
self._class("https://bbc.co.uk:443/news/sport/tennis")
]
football = self._class("https://bbc.co.uk:443/news/sport/football")
tennis = self._class("https://bbc.co.uk:443/news/sport/tennis")
assert football < tennis
assert football <= tennis
assert tennis > football
assert tennis >= football
assert sorted([tennis, football]) == [football, tennis]

# port number is sorted before path
assert self._class("https://bbc.co.uk:80/news/sport/tennis"
) < self._class("https://bbc.co.uk:443/news/sport/football")
assert self._class("https://bbc.co.uk:80/news/sport/tennis"
) <= self._class("https://bbc.co.uk:443/news/sport/football")
assert self._class("https://bbc.co.uk:443/news/sport/football"
) > self._class("https://bbc.co.uk:80/news/sport/tennis")
assert self._class("https://bbc.co.uk:443/news/sport/football"
) >= self._class("https://bbc.co.uk:80/news/sport/tennis")
tennis = self._class("https://bbc.co.uk:80/news/sport/tennis")
assert tennis < self._class("https://bbc.co.uk:443/news/sport/football")
assert tennis <= self._class("https://bbc.co.uk:443/news/sport/football")
assert football > tennis
assert football >= tennis

# scheme is sorted before path
assert self._class("http://bbc.co.uk/news/sport/tennis"
) < self._class("https://bbc.co.uk/news/sport/football")
assert self._class("http://bbc.co.uk/news/sport/tennis"
) <= self._class("https://bbc.co.uk/news/sport/football")
assert self._class("https://bbc.co.uk/news/sport/football"
) > self._class("http://bbc.co.uk/news/sport/tennis")
assert self._class("https://bbc.co.uk/news/sport/football"
) >= self._class("http://bbc.co.uk/news/sport/tennis")
tennis = self._class("http://bbc.co.uk/news/sport/tennis")
assert tennis < self._class("https://bbc.co.uk/news/sport/football")
assert tennis <= self._class("https://bbc.co.uk/news/sport/football")
assert self._class("https://bbc.co.uk/news/sport/football") > tennis
assert self._class("https://bbc.co.uk/news/sport/football") >= tennis

# Empty subdomain comes first
assert self._class("https://bbc.co.uk/news/sport/tennis"
) < self._class("https://news.bbc.co.uk/sport/tennis")
assert self._class("https://bbc.co.uk/news/sport/tennis"
) <= self._class("https://news.bbc.co.uk/sport/tennis")
assert self._class("https://news.bbc.co.uk/sport/tennis"
) > self._class("https://bbc.co.uk/news/sport/tennis")
assert self._class("https://news.bbc.co.uk/sport/tennis"
) >= self._class("https://bbc.co.uk/news/sport/tennis")
tennis = self._class("https://bbc.co.uk/news/sport/tennis")
assert tennis < self._class("https://news.bbc.co.uk/sport/tennis")
assert tennis <= self._class("https://news.bbc.co.uk/sport/tennis")
assert self._class("https://news.bbc.co.uk/sport/tennis") > tennis
assert self._class("https://news.bbc.co.uk/sport/tennis") >= tennis

@pytest.mark.parametrize("other_class", [URL, SlumberURL, RequestsURL, TrailingRequestsURL])
def test_ordering_other_classes(self, other_class):
# f comes before t
assert self._class("https://bbc.co.uk:443/news/sport/football"
) < other_class("https://bbc.co.uk:443/news/sport/tennis")
assert self._class("https://bbc.co.uk:443/news/sport/football"
) <= other_class("https://bbc.co.uk:443/news/sport/tennis")
assert self._class("https://bbc.co.uk:443/news/sport/tennis"
) > other_class("https://bbc.co.uk:443/news/sport/football")
assert self._class("https://bbc.co.uk:443/news/sport/tennis"
) >= other_class("https://bbc.co.uk:443/news/sport/football")
assert sorted([
self._class("https://bbc.co.uk:443/news/sport/tennis"),
other_class("https://bbc.co.uk:443/news/sport/football")
]) == [
self._class("https://bbc.co.uk:443/news/sport/football"),
self._class("https://bbc.co.uk:443/news/sport/tennis")
]
football = "https://bbc.co.uk:443/news/sport/football"
tennis = "https://bbc.co.uk:443/news/sport/tennis"
assert self._class(football) < other_class(tennis)
assert self._class(football) <= other_class(tennis)
assert self._class(tennis) > other_class(football)
assert self._class(tennis) >= other_class(football)
assert sorted([self._class(tennis), other_class(football)]) == [self._class(football), self._class(tennis)]

# port number is sorted before path
assert self._class("https://bbc.co.uk:80/news/sport/tennis"
) < other_class("https://bbc.co.uk:443/news/sport/football")
assert self._class("https://bbc.co.uk:80/news/sport/tennis"
) <= other_class("https://bbc.co.uk:443/news/sport/football")
assert self._class("https://bbc.co.uk:443/news/sport/football"
) > other_class("https://bbc.co.uk:80/news/sport/tennis")
assert self._class("https://bbc.co.uk:443/news/sport/football"
) >= other_class("https://bbc.co.uk:80/news/sport/tennis")
tennis = "https://bbc.co.uk:80/news/sport/tennis"
assert self._class(tennis) < other_class(football)
assert self._class(tennis) <= other_class(football)
assert self._class(football) > other_class(tennis)
assert self._class(football) >= other_class(tennis)

# scheme is sorted before path
assert self._class("http://bbc.co.uk/news/sport/tennis"
) < other_class("https://bbc.co.uk/news/sport/football")
assert self._class("http://bbc.co.uk/news/sport/tennis"
) <= other_class("https://bbc.co.uk/news/sport/football")
assert self._class("https://bbc.co.uk/news/sport/football"
) > other_class("http://bbc.co.uk/news/sport/tennis")
assert self._class("https://bbc.co.uk/news/sport/football"
) >= other_class("http://bbc.co.uk/news/sport/tennis")
tennis = "http://bbc.co.uk/news/sport/tennis"
assert self._class(tennis) < other_class("https://bbc.co.uk/news/sport/football")
assert self._class(tennis) <= other_class("https://bbc.co.uk/news/sport/football")
assert self._class("https://bbc.co.uk/news/sport/football") > other_class(tennis)
assert self._class("https://bbc.co.uk/news/sport/football") >= other_class(tennis)

# Empty subdomain comes first
assert self._class("https://bbc.co.uk/news/sport/tennis"
) < other_class("https://news.bbc.co.uk/sport/tennis")
assert self._class("https://bbc.co.uk/news/sport/tennis"
) <= other_class("https://news.bbc.co.uk/sport/tennis")
assert self._class("https://news.bbc.co.uk/sport/tennis"
) > other_class("https://bbc.co.uk/news/sport/tennis")
assert self._class("https://news.bbc.co.uk/sport/tennis"
) >= other_class("https://bbc.co.uk/news/sport/tennis")
tennis = "https://bbc.co.uk/news/sport/tennis"

assert self._class(tennis) < other_class("https://news.bbc.co.uk/sport/tennis")
assert self._class(tennis) <= other_class("https://news.bbc.co.uk/sport/tennis")
assert self._class("https://news.bbc.co.uk/sport/tennis") > other_class(tennis)
assert self._class("https://news.bbc.co.uk/sport/tennis") >= other_class(tennis)


class TestURL(_TestURL):
Expand Down

0 comments on commit 91a8643

Please sign in to comment.