diff --git a/scrapy/contrib_exp/newitem/fields.py b/scrapy/contrib_exp/newitem/fields.py index 97f7efb54..66d7f9503 100644 --- a/scrapy/contrib_exp/newitem/fields.py +++ b/scrapy/contrib_exp/newitem/fields.py @@ -120,7 +120,7 @@ class TextField(BaseField): def to_single(self, value): """Converts the input iterable into a single value""" - return ' '.join((self.to_python(x) for x in value)) + return u' '.join((self.to_python(x) for x in value)) class TimeField(BaseField): diff --git a/scrapy/tests/test_newitem.py b/scrapy/tests/test_newitem.py index 95cced7a0..60faf2eb5 100644 --- a/scrapy/tests/test_newitem.py +++ b/scrapy/tests/test_newitem.py @@ -309,6 +309,11 @@ class NewItemFieldsTest(unittest.TestCase): self.assertRaises(TypeError, setattr, i, 'field', [u'hello', 3, u'world']) self.assertRaises(TypeError, setattr, i, 'field', [u'hello', 'world']) + i = TestItem() + i.field = [] + assert isinstance(i.field, unicode) + self.assertEqual(i.field, '') + def test_time_field(self): class TestItem(Item): field = fields.TimeField()