mirror of https://github.com/scrapy/scrapy.git
refactored ResponseBody's encoding test
--HG-- extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%40690
This commit is contained in:
parent
1feace1bb0
commit
8240fc48ad
|
|
@ -1,20 +1,24 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from unittest import TestCase, main
|
||||
import libxml2
|
||||
from scrapy.http import ResponseBody
|
||||
from scrapy.http import Response, ResponseBody
|
||||
|
||||
class ResponseTest(TestCase):
|
||||
def test_responsebodyencoding(self):
|
||||
string = 'кириллический текст'
|
||||
unicode_string = unicode(string, 'utf-8')
|
||||
body_cp1251 = unicode_string.encode('cp1251')
|
||||
body = ResponseBody(body_cp1251, 'cp1251')
|
||||
self.assertEqual(body.to_unicode(), unicode_string)
|
||||
self.assertEqual(isinstance(body.to_unicode(), unicode), True)
|
||||
self.assertEqual(body.to_string('utf-8'), string)
|
||||
self.assertEqual(isinstance(body.to_string('utf-8'), str), True)
|
||||
self.assertEqual(body.to_string(), body_cp1251)
|
||||
self.assertEqual(isinstance(body.to_string('utf-8'), str), True)
|
||||
class ResponseBodyTest(TestCase):
|
||||
unicode_string = u'\u043a\u0438\u0440\u0438\u043b\u043b\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0442\u0435\u043a\u0441\u0442'
|
||||
|
||||
def test_encoding(self):
|
||||
original_string = self.unicode_string.encode('cp1251')
|
||||
cp1251_body = ResponseBody(original_string, 'cp1251')
|
||||
|
||||
# check to_unicode
|
||||
self.assertTrue(isinstance(cp1251_body.to_unicode(), unicode))
|
||||
self.assertEqual(cp1251_body.to_unicode(), self.unicode_string)
|
||||
|
||||
# check to_string using default encoding (declared when created)
|
||||
self.assertTrue(isinstance(cp1251_body.to_string(), str))
|
||||
self.assertEqual(cp1251_body.to_string(), original_string)
|
||||
|
||||
# check to_string using arbitrary encoding
|
||||
self.assertTrue(isinstance(cp1251_body.to_string('utf-8'), str))
|
||||
self.assertEqual(cp1251_body.to_string('utf-8'), self.unicode_string.encode('utf-8'))
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
|
|||
Loading…
Reference in New Issue