[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