[Checkins] SVN: zc.testbrowser/trunk/src/zc/testbrowser/real.
click() for SubmitControl and ImageControl
Justas SadzeviÃÂius
justas at pov.lt
Tue Sep 25 16:33:37 EDT 2007
Log message for revision 80046:
click() for SubmitControl and ImageControl
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-25 20:18:51 UTC (rev 80045)
+++ zc.testbrowser/trunk/src/zc/testbrowser/real.js 2007-09-25 20:33:36 UTC (rev 80046)
@@ -271,14 +271,6 @@
}, index, true, tb_tokens[contextToken], xpath)
}
-function tb_get_control_by_id(id, index, contextToken, xpath) {
- return tb_get_control_by_predicate(
- function (control) {
- var controlId = control.getAttribute('id');
- return controlId != null && controlName.indexOf(id) != -1;
- }, index, true, tb_tokens[contextToken], xpath)
-}
-
function tb_get_listcontrol_options(token) {
var elem = tb_tokens[token];
var tagName = elem.tagName;
Modified: zc.testbrowser/trunk/src/zc/testbrowser/real.py
===================================================================
--- zc.testbrowser/trunk/src/zc/testbrowser/real.py 2007-09-25 20:18:51 UTC (rev 80045)
+++ zc.testbrowser/trunk/src/zc/testbrowser/real.py 2007-09-25 20:33:36 UTC (rev 80046)
@@ -256,12 +256,6 @@
% (simplejson.dumps(name), js_index,
simplejson.dumps(context_token),
simplejson.dumps(xpath)))
- elif id is not None:
- msg = 'id %r' % id
- token = self.execute('tb_get_control_by_id(%s, %s, %s, %s)'
- % (simplejson.dumps(id), js_index,
- simplejson.dumps(context_token),
- simplejson.dumps(xpath)))
else:
raise NotImplementedError
@@ -285,6 +279,7 @@
return controlFactory(token, self, selectionItem)
def getForm(self, id=None, name=None, action=None, index=None):
+
xpath = '//form'
if id is not None:
xpath += '[@id=%s]' % repr(id)
@@ -294,6 +289,13 @@
matching_tokens = simplejson.loads(self.execute(
'tb_xpath_tokens(%s)' % simplejson.dumps(xpath)))
+ if index is None and not any([id, name, action]):
+ if len(matching_tokens) == 1:
+ index = 0
+ else:
+ raise ValueError(
+ 'if no other arguments are given, index is required.')
+
if action is not None:
form_actions = self.getAttributes(matching_tokens, 'action')
matching_tokens = [tok for tok, form_act in zip(matching_tokens,
@@ -511,7 +513,7 @@
def click(self):
if self._browser_counter != self.browser._counter:
raise zc.testbrowser.interfaces.ExpiredError
- self.browser._clickSubmit(self.mech_form, self.mech_control, (1,1))
+ self.browser.execute('tb_click_token(%s)' % self.token)
self.browser._changed()
@@ -521,7 +523,10 @@
def click(self, coord=(1,1)):
if self._browser_counter != self.browser._counter:
raise zc.testbrowser.interfaces.ExpiredError
- self.browser._clickSubmit(self.mech_form, self.mech_control, coord)
+ self.browser.execute('tb_click_token(%s, %s, %s)' % (
+ self.token,
+ simplejson.dumps(coord[0]),
+ simplejson.dumps(coord[1])))
self.browser._changed()
@@ -650,14 +655,19 @@
raise zc.testbrowser.interfaces.ExpiredError
self.browser.start_timer()
- button = self.browser.getControlToken(
- label, name, index, self.token, ".//input[@type='submit']")
- self.browser.execute('tb_click_token(%s, %s, %s)' % (
- button,
- simplejson.dumps(coord[0]),
- simplejson.dumps(coord[1])))
+
+ if (label is None and
+ name is None):
+ self.browser.execute('tb_tokens[%s].submit()' % self.token)
+ else:
+ button = self.browser.getControlToken(
+ label, name, index, self.token)
+ self.browser.execute('tb_click_token(%s, %s, %s)' % (
+ button,
+ simplejson.dumps(coord[0]),
+ simplejson.dumps(coord[1])))
+
self.browser.stop_timer()
- # XXX: justas: not sure the browser always changes
self.browser._changed()
def getControl(self, label=None, name=None, index=None):
More information about the Checkins
mailing list