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