From 8c33e318dd0e38475ae3eb43a12e2c5f0a924e8a Mon Sep 17 00:00:00 2001 From: Benjamin Yan Date: Thu, 3 Dec 2015 20:33:16 +0800 Subject: [PATCH] unittest for url --- simplekit/url/url.py | 8 ++++++-- tests/url_test.py | 16 +++++++++++----- 2 files changed, 17 insertions(+), 7 deletions(-) diff --git a/simplekit/url/url.py b/simplekit/url/url.py index 3ae6ea9..9d17b03 100644 --- a/simplekit/url/url.py +++ b/simplekit/url/url.py @@ -1,11 +1,10 @@ import six from six.moves import urllib +import util from .path import Path from .query import Query -import util - __author__ = 'benjamin.c.yan' SAFE_SEGMENT_CHARS = ":@-._~!$&'()*+,;=" @@ -17,6 +16,7 @@ 'https': 443, } + class URL(object): def __init__(self, url): self._host = self._port = None @@ -50,6 +50,10 @@ def scheme(self, scheme): def netloc(self): return self._netloc + @netloc.setter + def netloc(self, value): + self._netloc = value + @property def url(self): return str(self) diff --git a/tests/url_test.py b/tests/url_test.py index ace4d65..2594a57 100644 --- a/tests/url_test.py +++ b/tests/url_test.py @@ -6,10 +6,10 @@ class UrlTestCase(unittest.TestCase): def test_join_path_segments(self): tests = [(['a'], ['b'], ['a', 'b']), - (['a', ''], ['b'], ['a', 'b']), - (['a'], ['', 'b'], ['a', 'b']), - (['a', ''], ['', 'b'], ['a', '', 'b']), - (['a', 'b'], ['c', 'd'], ['a', 'b', 'c', 'd'])] + (['a', ''], ['b'], ['a', 'b']), + (['a'], ['', 'b'], ['a', 'b']), + (['a', ''], ['', 'b'], ['a', '', 'b']), + (['a', 'b'], ['c', 'd'], ['a', 'b', 'c', 'd'])] for base, segments, expected in tests: actual = url.join_path_segments(base, segments) self.assertListEqual(expected, actual) @@ -24,4 +24,10 @@ def test_remove_path_segments(self): def test_url(self): raw = 'http://www.google.com.hk/search?title=benjamin&age=27#/target' u = url.URL(raw) - self.assertEqual(raw, u.url) \ No newline at end of file + self.assertEqual(raw, u.url) + u.netloc = 'www.google.com' + self.assertEqual(raw.replace('.hk', ''), u.url) + u.query.add(dict(name='wendy', high=175)) + + raw = 'http://www.google.com/search?title=benjamin&age=27&high=175&name=wendy#/target' + self.assertEqual(raw, u.url)