[wwwsearch-commits] r18297 - wwwsearch/ClientForm/trunk

jjlee at codespeak.net jjlee at codespeak.net
Sat Oct 8 22:59:06 CEST 2005


Author: jjlee
Date: Sat Oct  8 22:59:05 2005
New Revision: 18297

Modified:
   wwwsearch/ClientForm/trunk/ClientForm.py
   wwwsearch/ClientForm/trunk/test.py
Log:
Fix another backwards compat bug (and the corresponding tests, which were wrong)

Modified: wwwsearch/ClientForm/trunk/ClientForm.py
==============================================================================
--- wwwsearch/ClientForm/trunk/ClientForm.py	(original)
+++ wwwsearch/ClientForm/trunk/ClientForm.py	Sat Oct  8 22:59:05 2005
@@ -1803,10 +1803,9 @@
 
     def __getattr__(self, name):
         if name == "value":
-            if self._form.backwards_compat:
-                return [o.name for o in self.items if o.selected]
-            return [o.name for o in self.items if
-                    not o.disabled and o.selected]
+            compat = self._form.backwards_compat
+            return [o.name for o in self.items if o.selected and
+                    (not o.disabled or compat)]
         else:
             raise AttributeError("%s instance has no attribute '%s'" %
                                  (self.__class__.__name__, name))
@@ -1867,9 +1866,10 @@
             off[0].selected = True
 
     def _multiple_set_value(self, value):
+        compat = self._form.backwards_compat
         turn_on = []  # transactional-ish
         turn_off = [item for item in self.items if
-                    item.selected and not item.disabled]
+                    item.selected and (not item.disabled or compat)]
         names = {}
         for nn in value:
             if nn in names.keys():

Modified: wwwsearch/ClientForm/trunk/test.py
==============================================================================
--- wwwsearch/ClientForm/trunk/test.py	(original)
+++ wwwsearch/ClientForm/trunk/test.py	Sat Oct  8 22:59:05 2005
@@ -621,14 +621,14 @@
         # ).  This behavior was confirmed in Firefox 1.0.4 at least.
         self.assertEqual(control.value, []+extra)
         control.value = ["1"]
-        self.assertEqual(control.value, ["1"]+extra)
+        self.assertEqual(control.value, ["1"])
         control = get_control("foo")
         self.assertRaises(AttributeError, setattr, control, 'value', ['8'])
         self.assertEqual(control.value, []+extra)
         # even though 7 is set already, attempt to set it fails
         self.assertRaises(AttributeError, setattr, control, 'value', ['7'])
         control.value = ["1", "3"]
-        self.assertEqual(control.value, ["1", "3"]+extra)
+        self.assertEqual(control.value, ["1", "3"])
         control = get_control("foo")
         self.assertRaises(AttributeError, setattr, control, 'value', ['1', '7'])
         self.assertEqual(control.value, []+extra)


More information about the wwwsearch-commits mailing list