Update unit tests to autodetect testing host
authorMichael Ang <mang@archive.org>
Tue, 3 Aug 2010 00:34:23 +0000 (00:34 +0000)
committerMichael Ang <mang@archive.org>
Tue, 3 Aug 2010 00:34:23 +0000 (00:34 +0000)
BookReaderIA/test/index.html
BookReaderIA/test/unit/Common.js
BookReaderIA/test/unit/JSLocate.js

index 51f5b8a..851c779 100644 (file)
   <script type="text/javascript" src="unit/Search.js"></script>
   <script type="text/javascript" src="unit/Preview.js"></script>
   <script type="text/javascript" src="unit/Permalinks.js"></script>
+  <script type="text/javascript">
+    $(document).ready(function() {
+        var header = $('#qunit-header');
+        header.html( header.html() + ' - ' + common.testHost );
+        header = null;
+    });
+  </script>
   
 
 </head>
index 8a860d7..98ddb30 100644 (file)
@@ -1,9 +1,27 @@
 // Defines common variables for testing
 
-// $$$ TODO make test host auto-magic
-common = {
-    testHost: 'http://www-testflip.archive.org'
-    //testHost: 'http://www-mang.archive.org'    
+// What host to use for testing
+function testHost() {
+    // Autodetect if running from a home directory, or use live site
+    var user = null;
+    var patterns = [ new RegExp('.*?/~(.*?)/'), new RegExp('www-(.*?)\\.') ]
+    for (index in patterns) {
+        var match = patterns[index].exec(document.location.href);
+        if (match) {
+            user = match[1];
+            break;
+        }
+    }
+    
+    if (user) {
+        return 'http://www-' + user + '.archive.org';
+    }
+    
+    return 'http://www.archive.org'; // live site
+}
+
+var common = {
+    testHost: testHost(),
 }
 
 // Set up dummy BookReader class for JSLocate
index 148b19f..f98c1e4 100644 (file)
@@ -4,6 +4,9 @@
 
 module("JSLocate");
 
+// $$$ locate will fail when called from the same domain since the browser will not honour the
+//     redirect to the datanode
+
 asyncTest("JSLocate for notesonsubmarine00grea", function() {
     expect(1);
     $.getScript( jsLocateURL('notesonsubmarine00grea'),