1
1
import unittest
2
+ import six
2
3
from functools import partial
3
4
4
5
from scrapy .loader import ItemLoader
@@ -141,7 +142,7 @@ def test_replace_value(self):
141
142
142
143
def test_get_value (self ):
143
144
il = NameItemLoader ()
144
- self .assertEqual (u'FOO' , il .get_value ([u'foo' , u'bar' ], TakeFirst (), unicode .upper ))
145
+ self .assertEqual (u'FOO' , il .get_value ([u'foo' , u'bar' ], TakeFirst (), six . text_type .upper ))
145
146
self .assertEqual ([u'foo' , u'bar' ], il .get_value ([u'name:foo' , u'name:bar' ], re = u'name:(.*)$' ))
146
147
self .assertEqual (u'foo' , il .get_value ([u'name:foo' , u'name:bar' ], TakeFirst (), re = u'name:(.*)$' ))
147
148
@@ -242,15 +243,15 @@ class IdentityDefaultedItemLoader(DefaultedItemLoader):
242
243
243
244
def test_extend_custom_input_processors (self ):
244
245
class ChildItemLoader (TestItemLoader ):
245
- name_in = MapCompose (TestItemLoader .name_in , unicode .swapcase )
246
+ name_in = MapCompose (TestItemLoader .name_in , six . text_type .swapcase )
246
247
247
248
il = ChildItemLoader ()
248
249
il .add_value ('name' , u'marta' )
249
250
self .assertEqual (il .get_output_value ('name' ), [u'mARTA' ])
250
251
251
252
def test_extend_default_input_processors (self ):
252
253
class ChildDefaultedItemLoader (DefaultedItemLoader ):
253
- name_in = MapCompose (DefaultedItemLoader .default_input_processor , unicode .swapcase )
254
+ name_in = MapCompose (DefaultedItemLoader .default_input_processor , six . text_type .swapcase )
254
255
255
256
il = ChildDefaultedItemLoader ()
256
257
il .add_value ('name' , u'marta' )
@@ -423,7 +424,7 @@ def test_join(self):
423
424
self .assertRaises (TypeError , proc , [None , '' , 'hello' , 'world' ])
424
425
self .assertEqual (proc (['' , 'hello' , 'world' ]), u' hello world' )
425
426
self .assertEqual (proc (['hello' , 'world' ]), u'hello world' )
426
- self .assert_ (isinstance (proc (['hello' , 'world' ]), unicode ))
427
+ self .assert_ (isinstance (proc (['hello' , 'world' ]), six . text_type ))
427
428
428
429
def test_compose (self ):
429
430
proc = Compose (lambda v : v [0 ], str .upper )
@@ -435,13 +436,13 @@ def test_compose(self):
435
436
436
437
def test_mapcompose (self ):
437
438
filter_world = lambda x : None if x == 'world' else x
438
- proc = MapCompose (filter_world , unicode .upper )
439
+ proc = MapCompose (filter_world , six . text_type .upper )
439
440
self .assertEqual (proc ([u'hello' , u'world' , u'this' , u'is' , u'scrapy' ]),
440
441
[u'HELLO' , u'THIS' , u'IS' , u'SCRAPY' ])
441
442
442
443
443
444
class SelectortemLoaderTest (unittest .TestCase ):
444
- response = HtmlResponse (url = "" , body = """
445
+ response = HtmlResponse (url = "" , encoding = 'utf-8' , body = b """
445
446
<html>
446
447
<body>
447
448
<div id="id">marta</div>
0 commit comments