[Checkins] SVN: zc.testbrowser/trunk/src/zc/testbrowser/ Added TextAreaControl support for dealing with text area's.

Rocky Burt rocky at serverzen.com
Mon Sep 24 18:26:33 EDT 2007


Log message for revision 79936:
  Added TextAreaControl support for dealing with text area's.
  (Rocky, Justas)
  

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

-=-
Modified: zc.testbrowser/trunk/src/zc/testbrowser/interfaces.py
===================================================================
--- zc.testbrowser/trunk/src/zc/testbrowser/interfaces.py	2007-09-24 22:24:59 UTC (rev 79935)
+++ zc.testbrowser/trunk/src/zc/testbrowser/interfaces.py	2007-09-24 22:26:33 UTC (rev 79936)
@@ -355,4 +355,5 @@
         filtered to find only submit and image controls.
         """
 
-
+class ITextAreaControl(IControl):
+    """An HTML text area.  Mostly just a marker."""

Modified: zc.testbrowser/trunk/src/zc/testbrowser/real.py
===================================================================
--- zc.testbrowser/trunk/src/zc/testbrowser/real.py	2007-09-24 22:24:59 UTC (rev 79935)
+++ zc.testbrowser/trunk/src/zc/testbrowser/real.py	2007-09-24 22:26:33 UTC (rev 79936)
@@ -26,9 +26,13 @@
         return ListControl(token, browser)
     elif tagName == 'option':
         return ItemControl(token, browser)
+    elif tagName == 'textarea':
+        return TextAreaControl(token, browser)
 
-    inputType = browser.execute(
-        'tb_tokens[%s].getAttribute("type")' % token).lower()
+    inputType = browser.execute('tb_tokens[%s].getAttribute("type")'
+                                % token)
+    if inputType is not None:
+        inputType = inputType.lower()
     if inputType in ('checkbox', 'radio'):
         if selectionItem:
             return ItemControl(token, browser)
@@ -472,7 +476,22 @@
         self.browser._clickSubmit(self.mech_form, self.mech_control, coord)
         self.browser._changed()
 
+class TextAreaControl(Control):
+    zope.interface.implements(zc.testbrowser.interfaces.ITextAreaControl)
 
+    type = 'textarea'
+
+    @apply
+    def value():
+        def fget(self):
+            return self.browser.execute(
+                'tb_tokens[%s].innerHTML' % self.token)
+
+        def fset(self, value):
+            return self.browser.execute(
+                'tb_tokens[%s].innerHTML = %r' % (self.token, value))
+        return property(fget, fset)
+
 class ItemControl(zc.testbrowser.browser.SetattrErrorsMixin):
     zope.interface.implements(zc.testbrowser.interfaces.IItemControl)
 



More information about the Checkins mailing list