[Checkins]
SVN: zope.testbrowser/branches/benji-zope.testbrowser.real/src/zope/testbrowser/real.
move the JavaScript support code into its own file
Benji York
benji at zope.com
Thu Sep 6 05:48:14 EDT 2007
Log message for revision 79492:
move the JavaScript support code into its own file
Changed:
A zope.testbrowser/branches/benji-zope.testbrowser.real/src/zope/testbrowser/real.js
U zope.testbrowser/branches/benji-zope.testbrowser.real/src/zope/testbrowser/real.py
-=-
Added: zope.testbrowser/branches/benji-zope.testbrowser.real/src/zope/testbrowser/real.js
===================================================================
Modified: zope.testbrowser/branches/benji-zope.testbrowser.real/src/zope/testbrowser/real.py
===================================================================
--- zope.testbrowser/branches/benji-zope.testbrowser.real/src/zope/testbrowser/real.py 2007-09-06 09:39:21 UTC (rev 79491)
+++ zope.testbrowser/branches/benji-zope.testbrowser.real/src/zope/testbrowser/real.py 2007-09-06 09:48:13 UTC (rev 79492)
@@ -1,11 +1,12 @@
from zope.testbrowser import interfaces
+import ClientForm
+import os.path
import re
import simplejson
import telnetlib
import time
import zope.interface
import zope.testbrowser.browser
-import ClientForm
PROMPT = re.compile('repl\d?> ')
@@ -24,65 +25,11 @@
self.open(url)
def init_repl(self, host, port):
+ dir = os.path.dirname(__file__)
+ js_path = os.path.join(dir, 'real.js')
self.telnet = telnetlib.Telnet(host, port)
- self.telnet.write("""
- var tb_tokens = {};
- var tb_next_token = 0;
- function tb_get_link_by_predicate(predicate, index) {
- var anchors = content.document.getElementsByTagName('a');
- var i=0;
- var found = null;
- if (index == undefined) index = null;
- for (x=0; x < anchors.length; x++) {
- a = anchors[x];
- if (!predicate(a)) {
- continue;
- }
- // this anchor matches
+ self.telnet.write(open(js_path, 'rt').read())
- // if we weren't given an index, but we found more than
- // one match, we have an ambiguity
- if (index == null && i > 0) {
- return 'ambiguity error';
- }
-
- found = x;
-
- // if we were given an index and we just found it, stop
- if (index != null && i == index) {
- break
- }
- i++;
- }
- if (found != null) {
- tb_tokens[tb_next_token] = anchors[found];
- return tb_next_token++;
- }
- return false; // link not found
- }
-
- function tb_get_link_by_text(text, index) {
- return tb_get_link_by_predicate(
- function (a) {
- return a.textContent.indexOf(text) == 0;
- }, index)
- }
-
- function tb_get_link_by_id(id, index) {
- return tb_get_link_by_predicate(
- function (a) {
- return a.id == id;
- }, index)
- }
-
- function tb_get_link_by_url(url, index) {
- return tb_get_link_by_predicate(
- function (a) {
- return a.href.indexOf(url) == 0;
- }, index)
- }
- """)
-
def execute(self, js):
if not js.strip():
return
More information about the Checkins
mailing list