add tests for adaptation of multivaluated fields

--HG--
extra : convert_revision : svn%3Ab85faa78-f9eb-468e-a121-7cced6da292c%40984
This commit is contained in:
Ismael Carnales 2009-03-11 13:01:26 +00:00
parent 0be771152b
commit 2ba017b14d
1 changed files with 17 additions and 1 deletions

View File

@ -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):