ajax crawling wasn't expanding for unicode urls

This commit is contained in:
Daniel Graña 2012-02-07 14:44:06 -02:00
parent 454a21db90
commit 0de3fb414f
2 changed files with 5 additions and 2 deletions

View File

@ -54,8 +54,7 @@ class Request(object_ref):
if self.encoding is None:
raise TypeError('Cannot convert unicode url - %s has no encoding' %
type(self).__name__)
unicode_url = url if isinstance(url, unicode) else url.decode(self.encoding)
self._url = safe_url_string(unicode_url, self.encoding)
self._set_url(url.encode(self.encoding))
else:
raise TypeError('Request url must be str or unicode, got %s:' % type(url).__name__)
if ':' not in self._url:

View File

@ -108,8 +108,12 @@ class RequestTest(unittest.TestCase):
self.assertEqual(r4.body, "Price: \xa3100")
def test_ajax_url(self):
# ascii url
r = self.request_class(url="http://www.example.com/ajax.html#!key=value")
self.assertEqual(r.url, "http://www.example.com/ajax.html?_escaped_fragment_=key=value")
# unicode url
r = self.request_class(url=u"http://www.example.com/ajax.html#!key=value")
self.assertEqual(r.url, "http://www.example.com/ajax.html?_escaped_fragment_=key=value")
def test_copy(self):
"""Test Request copy"""