[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