mirror of
https://github.com/Hopiu/linkchecker.git
synced 2026-04-17 04:41:01 +00:00
fix tests
git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@3011 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
parent
e92aee054c
commit
48cdfd32ee
4 changed files with 19 additions and 27 deletions
|
|
@ -88,11 +88,6 @@ class TestHttp (linkcheck.checker.tests.httptest.HttpServerTest):
|
|||
u"real url %s" % rurl,
|
||||
u"info Redirected to %s." % rurl,
|
||||
u"valid",
|
||||
u"url newurl.html",
|
||||
u"cache key %s" % rurl,
|
||||
u"real url %s" % rurl,
|
||||
u"name Recursive Redirect",
|
||||
u"valid",
|
||||
u"url newurl.html (cached)",
|
||||
u"cache key %s" % nurl.replace("redirect", "newurl"),
|
||||
u"real url %s" % rurl.replace("redirect", "newurl"),
|
||||
|
|
|
|||
|
|
@ -101,16 +101,6 @@ class TestMail (linkcheck.checker.tests.LinkCheckTest):
|
|||
u"valid",
|
||||
]
|
||||
self.direct(url, resultlines)
|
||||
url = self.norm(u"mailto:foo@foo-bar.de?subject=test")
|
||||
resultlines = [
|
||||
u"url %s" % url,
|
||||
u"cache key mailto:foo@foo-bar.de",
|
||||
u"real url %s" % url,
|
||||
u"info Unverified address: Cannot VRFY user; "
|
||||
u"try RCPT to attempt delivery. But mail will be sent anyway.",
|
||||
u"valid",
|
||||
]
|
||||
self.direct(url, resultlines)
|
||||
|
||||
def test_warn_mail (self):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -46,6 +46,11 @@ class TestUrl (tests.StandardTest):
|
|||
Test url norming and quoting.
|
||||
"""
|
||||
|
||||
def urlnormtest (self, url, nurl):
|
||||
self.assertEquals(url_norm(url), nurl)
|
||||
cs = "iso8859-1"
|
||||
self.assertEquals(url_norm(url.decode(cs)), nurl.decode(cs))
|
||||
|
||||
def test_pathattack (self):
|
||||
"""
|
||||
Windows winamp path attack prevention.
|
||||
|
|
@ -64,38 +69,40 @@ class TestUrl (tests.StandardTest):
|
|||
"prev=/groups%3Fq%3Dlogitech%2Bwingman%2Bextreme%2Bdigital"\
|
||||
"%2B3d%26hl%3Den%26lr%3D%26ie%3DUTF-8%26selm%3D3845B54D.E5"\
|
||||
"46F9BD%2540monmouth.com%26rnum%3D2"
|
||||
nurl = url
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, url)
|
||||
url = "http://redirect.alexa.com/redirect?"\
|
||||
"http://www.offeroptimizer.com"
|
||||
nurl = url
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, nurl)
|
||||
url = "http://www.lesgensducinema.com/photo/Philippe%20Nahon.jpg"
|
||||
nurl = url
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, nurl)
|
||||
# Only perform percent-encoding where it is essential.
|
||||
url = "http://example.com/%7Ejane"
|
||||
nurl = "http://example.com/~jane"
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, nurl)
|
||||
url = "http://example.com/%7ejane"
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, nurl)
|
||||
# Always use uppercase A-through-F characters when percent-encoding.
|
||||
url = "http://example.com/?q=1%2a2"
|
||||
nurl = "http://example.com/?q=1%2A2"
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, nurl)
|
||||
# the no-quote chars
|
||||
url = "http://example.com/a*+-();b"
|
||||
nurl = url
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, nurl)
|
||||
url = "http://www.company.com/path/doc.html?url=/path2/doc2.html?foo=bar"
|
||||
nurl = url
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, nurl)
|
||||
url = "http://example.com/#a b"
|
||||
nurl = "http://example.com/#a%20b"
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, nurl)
|
||||
url = "http://example.com/?u=http://example2.com?b=c "
|
||||
nurl ="http://example.com/?u=http://example2.com?b=c%20"
|
||||
self.assertEqual(url_norm(url), nurl)
|
||||
self.urlnormtest(url, nurl)
|
||||
url = "http://localhost:8001/?quoted=ü"
|
||||
nurl = "http://localhost:8001/?quoted=%FC"
|
||||
self.urlnormtest(url, nurl)
|
||||
|
||||
def test_norm_case_sensitivity (self):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -246,7 +246,7 @@ def url_parse_query (query):
|
|||
Parse and re-join the given CGI query.
|
||||
"""
|
||||
if isinstance(query, unicode):
|
||||
query = query.encode('ascii', 'ignore')
|
||||
query = query.encode('iso8859-1', 'ignore')
|
||||
# if ? is in the query, split it off, seen at msdn.microsoft.com
|
||||
if '?' in query:
|
||||
query, append = query.split('?', 1)
|
||||
|
|
|
|||
Loading…
Reference in a new issue