[Checkins] SVN: zc.testbrowser/trunk/src/zc/testbrowser/real. Setting radio "checked" values now work with the selected property.

Rocky Burt rocky at serverzen.com
Mon Sep 24 17:56:12 EDT 2007


Log message for revision 79927:
  Setting radio "checked" values now work with the selected property.
  (Rocky, Justas)
  

Changed:
  U   zc.testbrowser/trunk/src/zc/testbrowser/real.js
  U   zc.testbrowser/trunk/src/zc/testbrowser/real.py

-=-
Modified: zc.testbrowser/trunk/src/zc/testbrowser/real.js
===================================================================
--- zc.testbrowser/trunk/src/zc/testbrowser/real.js	2007-09-24 21:53:04 UTC (rev 79926)
+++ zc.testbrowser/trunk/src/zc/testbrowser/real.js	2007-09-24 21:56:11 UTC (rev 79927)
@@ -112,6 +112,23 @@
     tb_tokens = {};
 }
 
+function tb_set_checked(token, checked) {
+    var input = tb_tokens[token];
+    var changed = false;
+    if ((input.checked && !checked) || (!input.checked && checked))
+        changed = true;
+    input.checked = checked;
+
+    if (changed) {
+        var evt = input.ownerDocument.createEvent('MouseEvents');
+        evt.initMouseEvent('click', true, true, 
+                           input.ownerDocument.defaultView,
+                           1, 0, 0, 0, 0, false, false, false, false, 
+                           0, null);
+        input.dispatchEvent(evt);
+    }
+}
+
 function tb_get_link_text(token) {
     return tb_normalize_whitespace(tb_tokens[token].textContent);
 }

Modified: zc.testbrowser/trunk/src/zc/testbrowser/real.py
===================================================================
--- zc.testbrowser/trunk/src/zc/testbrowser/real.py	2007-09-24 21:53:04 UTC (rev 79926)
+++ zc.testbrowser/trunk/src/zc/testbrowser/real.py	2007-09-24 21:56:11 UTC (rev 79927)
@@ -506,12 +506,16 @@
                 return self.browser.execute(
                     'tb_tokens[%s].selected' % self.token) == 'true'
             return self.browser.execute(
-                'tb_tokens[%s].hasAttribute("checked")' % self.token) == 'true'
+                'tb_tokens[%s].checked' % self.token) == 'true'
 
         def fset(self, value):
             if self._browser_counter != self.browser._counter:
                 raise zc.testbrowser.interfaces.ExpiredError
-            self.mech_item.selected = value
+            checked = 'false'
+            if value:
+                checked = 'true'
+            self.browser.execute('tb_set_checked(%s, %s)' %
+                                 (self.token, checked))
 
         return property(fget, fset)
 



More information about the Checkins mailing list