[Checkins] SVN: zc.testbrowser/trunk/src/zc/testbrowser/real. Got
list selection tests passing.
Rocky Burt
rocky at serverzen.com
Tue Sep 25 12:01:02 EDT 2007
Log message for revision 80020:
Got list selection tests passing.
(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-25 15:43:11 UTC (rev 80019)
+++ zc.testbrowser/trunk/src/zc/testbrowser/real.js 2007-09-25 16:01:01 UTC (rev 80020)
@@ -317,8 +317,12 @@
var res = tb_xpath('child::option', elem)
for (var c = 0; c < res.snapshotLength; c++) {
var item = res.snapshotItem(c);
- if (item.selected)
- options.push(item.textContent);
+ if (item.selected) {
+ if (item.hasAttribute('label'))
+ options.push(item.getAttribute('label'));
+ else
+ options.push(item.textContent);
+ }
}
}
return options.toSource();
@@ -332,7 +336,8 @@
var res = tb_xpath('child::option', elem)
for (var c = 0; c < res.snapshotLength; c++) {
var item = res.snapshotItem(c);
- if (value.indexOf(item.textContent) != -1)
+ if (value.indexOf(item.textContent) != -1
+ || value.indexOf(item.getAttribute('label')) > -1)
item.selected = true;
else
item.selected = false;
@@ -341,6 +346,23 @@
return options.toSource();
}
+function tb_set_listcontrol_value(token, value) {
+ var elem = tb_tokens[token];
+ var tagName = elem.tagName;
+ var options = new Array();
+ if (tagName == 'SELECT') {
+ var res = tb_xpath('child::option', elem)
+ for (var c = 0; c < res.snapshotLength; c++) {
+ var item = res.snapshotItem(c);
+ if (value.indexOf(item.getAttribute('value')) != -1)
+ item.selected = true;
+ else
+ item.selected = false;
+ }
+ }
+ return options.toSource();
+}
+
function tb_get_listcontrol_item_tokens(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 15:43:11 UTC (rev 80019)
+++ zc.testbrowser/trunk/src/zc/testbrowser/real.py 2007-09-25 16:01:01 UTC (rev 80020)
@@ -330,6 +330,7 @@
self.token = token
self.browser = browser
self._browser_counter = self.browser._counter
+ self._file = None
# disable addition of further attributes
self._enable_setattr_errors = True
@@ -355,6 +356,8 @@
@property
def multiple(self):
+ if self.type == 'file':
+ return False
return self.browser.execute(
'tb_tokens[%s].hasAttribute("multiple")' % self.token) == 'true'
@@ -387,13 +390,22 @@
return property(fget, fset)
def add_file(self, file, content_type, filename):
- if not self.mech_control.type == 'file':
+ if not self.type == 'file':
raise TypeError("Can't call add_file on %s controls"
- % self.mech_control.type)
+ % self.type)
if isinstance(file, str):
file = StringIO(file)
- self.mech_control.add_file(file, content_type, filename)
+ # HTML only supports ever setting one file for one input control
+ self._file = (file, content_type, filename)
+ @property
+ def filename(self):
+ return self._file[2]
+
+ @property
+ def content_type(self):
+ return self._file[1]
+
def clear(self):
if self._browser_counter != self.browser._counter:
raise zc.testbrowser.interfaces.ExpiredError
More information about the Checkins
mailing list