diff --git a/scrapy/trunk/scrapy/tests/test_utils_response.py b/scrapy/trunk/scrapy/tests/test_utils_response.py new file mode 100644 index 000000000..feec740ad --- /dev/null +++ b/scrapy/trunk/scrapy/tests/test_utils_response.py @@ -0,0 +1,28 @@ +import unittest +from scrapy.http.response import Response +from scrapy.utils.response import body_or_str + +class ResponseUtilsTest(unittest.TestCase): + dummy_response = Response(domain='example.org', url='http://example.org/', body='dummy_response') + + def test_input(self): + self.assertTrue(isinstance(body_or_str(self.dummy_response), basestring)) + self.assertTrue(isinstance(body_or_str('text'), basestring)) + self.assertRaises(Exception, body_or_str, 2) + + def test_extraction(self): + self.assertEqual(body_or_str(self.dummy_response), 'dummy_response') + self.assertEqual(body_or_str('text'), 'text') + + def test_encoding(self): + self.assertTrue(isinstance(body_or_str(self.dummy_response, unicode=False), str)) + self.assertTrue(isinstance(body_or_str(self.dummy_response, unicode=True), unicode)) + + self.assertTrue(isinstance(body_or_str('text', unicode=False), str)) + self.assertTrue(isinstance(body_or_str('text', unicode=True), unicode)) + + self.assertTrue(isinstance(body_or_str(u'text', unicode=False), str)) + self.assertTrue(isinstance(body_or_str(u'text', unicode=True), unicode)) + +if __name__ == "__main__": + unittest.main()