mirror of https://github.com/scrapy/scrapy.git
add tests for adaptation of multivaluated fields
--HG-- extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%40984
This commit is contained in:
parent
0be771152b
commit
2ba017b14d
|
|
@ -1,7 +1,7 @@
|
|||
import unittest
|
||||
import string
|
||||
from scrapy.contrib_exp.newitem.adaptors import adaptor, ItemAdaptor
|
||||
from scrapy.contrib_exp.newitem import Item, StringField
|
||||
from scrapy.contrib_exp.newitem import *
|
||||
|
||||
|
||||
class BaseItem(Item):
|
||||
|
|
@ -24,10 +24,21 @@ class TestAdaptor(BaseAdaptor):
|
|||
class DefaultedAdaptor(BaseAdaptor):
|
||||
default_adaptor = lambda v: v.title()
|
||||
|
||||
|
||||
class InheritDefaultAdaptor(DefaultedAdaptor):
|
||||
pass
|
||||
|
||||
|
||||
class MultiValuedTestItem(Item):
|
||||
names = MultiValuedField(StringField)
|
||||
|
||||
|
||||
class MultiValuedItemAdaptor(ItemAdaptor):
|
||||
item_class = MultiValuedTestItem
|
||||
|
||||
names = adaptor(lambda v: v.title())
|
||||
|
||||
|
||||
class ItemAdaptorTest(unittest.TestCase):
|
||||
|
||||
def test_basic(self):
|
||||
|
|
@ -92,6 +103,11 @@ class ItemAdaptorTest(unittest.TestCase):
|
|||
dia.name = 'marta'
|
||||
self.assertEqual(dia.name, 'mARTA')
|
||||
|
||||
def test_multiplevaluedadaptor(self):
|
||||
ma = MultiValuedItemAdaptor()
|
||||
ma.names = ['name1', 'name2']
|
||||
assert ma.names == ['Name1', 'Name2']
|
||||
|
||||
|
||||
class TreeadaptTest(unittest.TestCase):
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue