[Checkins] SVN: Zope3/branches/3.3/ #98111: (reopened) z.a.form.browser.itemswidget.MultiDataHelper._toFieldValue() fix for empty values

Leonardo Rochael Almeida leo at hiper.com.br
Mon Apr 30 23:42:59 EDT 2007


Log message for revision 74951:
  #98111: (reopened) z.a.form.browser.itemswidget.MultiDataHelper._toFieldValue() fix for empty values

Changed:
  U   Zope3/branches/3.3/doc/CHANGES.txt
  U   Zope3/branches/3.3/src/zope/app/form/browser/itemswidgets.py
  U   Zope3/branches/3.3/src/zope/app/form/browser/tests/test_itemswidget.py

-=-
Modified: Zope3/branches/3.3/doc/CHANGES.txt
===================================================================
--- Zope3/branches/3.3/doc/CHANGES.txt	2007-05-01 03:42:46 UTC (rev 74950)
+++ Zope3/branches/3.3/doc/CHANGES.txt	2007-05-01 03:42:59 UTC (rev 74951)
@@ -10,6 +10,10 @@
 
     Bugfixes
 
+      - #98111: z.a.form.browser.itemswidget.MultiDataHelper._toFieldValue()
+        context._type attribute was being ignored when the result was an empty
+        collection.
+
       - #98535: Deprecation warning was broken for
         zope.app.site.tests.placefulsetup
 

Modified: Zope3/branches/3.3/src/zope/app/form/browser/itemswidgets.py
===================================================================
--- Zope3/branches/3.3/src/zope/app/form/browser/itemswidgets.py	2007-05-01 03:42:46 UTC (rev 74950)
+++ Zope3/branches/3.3/src/zope/app/form/browser/itemswidgets.py	2007-05-01 03:42:59 UTC (rev 74951)
@@ -190,8 +190,8 @@
     def _toFieldValue(self, input):
         """See SimpleInputWidget"""
         if input is None:
-            return []
-        if not isinstance(input, list):
+            input = []
+        elif not isinstance(input, list):
             input = [input]
         try:
             values = self.convertTokensToValues(input)

Modified: Zope3/branches/3.3/src/zope/app/form/browser/tests/test_itemswidget.py
===================================================================
--- Zope3/branches/3.3/src/zope/app/form/browser/tests/test_itemswidget.py	2007-05-01 03:42:46 UTC (rev 74950)
+++ Zope3/branches/3.3/src/zope/app/form/browser/tests/test_itemswidget.py	2007-05-01 03:42:59 UTC (rev 74951)
@@ -454,6 +454,9 @@
         self.assertEqual(widget.getInputValue(), ['two', 'three'])
 
         self._field = ICollector.get('letters')
+        widget = self._makeWidget(form={'field.letters-empty-marker': '1'})
+        widget.setPrefix('field.')
+        self.assertEqual(widget.getInputValue(), sets.Set())
         widget = self._makeWidget(form={'field.letters': ['token2','token3']})
         widget.setPrefix('field.')
         self.assertEqual(widget.getInputValue(), sets.Set(['two', 'three']))



More information about the Checkins mailing list