From c1c25a7c5204a7ed6482d1ddda836545fefdfda0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9rome=20Perrin?= <jerome@nexedi.com> Date: Wed, 28 Nov 2007 13:28:23 +0000 Subject: [PATCH] Clarify the case of list/set accessors when no value is defined: they return None. git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@17861 20353a03-c40f-0410-a6d1-a30d3c3de9de --- product/ERP5Type/Accessor/List.py | 5 +++-- product/ERP5Type/tests/testERP5Type.py | 6 ++++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/product/ERP5Type/Accessor/List.py b/product/ERP5Type/Accessor/List.py index 4294c3487e..0694a22c3c 100644 --- a/product/ERP5Type/Accessor/List.py +++ b/product/ERP5Type/Accessor/List.py @@ -310,7 +310,8 @@ class SetGetter(ListGetter): def __call__(self, instance, *args, **kw): result_list = ListGetter.__call__(self, instance, *args, **kw) - result_set = dict([(x, 0) for x in result_list]).keys() - return result_set + if result_list is not None: + result_set = dict([(x, 0) for x in result_list]).keys() + return result_set Tester = Base.Tester diff --git a/product/ERP5Type/tests/testERP5Type.py b/product/ERP5Type/tests/testERP5Type.py index 24803c7de9..8a26c7d02c 100644 --- a/product/ERP5Type/tests/testERP5Type.py +++ b/product/ERP5Type/tests/testERP5Type.py @@ -1699,16 +1699,18 @@ class TestPropertySheet: self.assertTrue(hasattr(person, 'getDummyList')) self.assertEquals(person.getDummy(), None) - # self.assertEquals(person.getDummyList(), []) # XXX what is the default - # value for a list getter ? + self.assertEquals(person.getDummyList(), None) + self.assertEquals(person.getDummySet(), None) person.setDummyList(['a', 'b']) self.assertEquals(person.getDummy(), 'a') self.assertEquals(person.getDummyList(), ['a', 'b']) + self.assertEquals(person.getDummySet(), ['a', 'b']) person.setDummy('value') self.assertEquals(person.getDummy(), 'value') self.assertEquals(person.getDummyList(), ['value']) + self.assertEquals(person.getDummySet(), ['value']) -- 2.30.9