summaryrefslogtreecommitdiff
path: root/rel/overlay/share/www/script/couch_test_runner.js
diff options
context:
space:
mode:
Diffstat (limited to 'rel/overlay/share/www/script/couch_test_runner.js')
-rw-r--r--rel/overlay/share/www/script/couch_test_runner.js26
1 files changed, 19 insertions, 7 deletions
diff --git a/rel/overlay/share/www/script/couch_test_runner.js b/rel/overlay/share/www/script/couch_test_runner.js
index 451a454a..55a6533f 100644
--- a/rel/overlay/share/www/script/couch_test_runner.js
+++ b/rel/overlay/share/www/script/couch_test_runner.js
@@ -14,6 +14,13 @@
function loadScript(url) {
+ // disallow loading remote URLs
+ if((url.substr(0, 7) == "http://")
+ || (url.substr(0, 2) == "//")
+ || (url.substr(0, 5) == "data:")
+ || (url.substr(0, 11) == "javascript:")) {
+ throw "Not loading remote test scripts";
+ }
if (typeof document != "undefined") document.write('<script src="'+url+'"></script>');
};
@@ -21,7 +28,7 @@ function patchTest(fun) {
var source = fun.toString();
var output = "";
var i = 0;
- var testMarker = "T("
+ var testMarker = "T(";
while (i < source.length) {
var testStart = source.indexOf(testMarker, i);
if (testStart == -1) {
@@ -232,13 +239,13 @@ function saveTestReport(report) {
$.couch.info({success : function(node_info) {
report.node = node_info;
db.saveDoc(report);
- }})
+ }});
};
var createDb = function() {
db.create({success: function() {
db.info({success:saveReport});
}});
- }
+ };
db.info({error: createDb, success:saveReport});
}
};
@@ -302,7 +309,7 @@ function T(arg1, arg2, testName) {
.find("code").text(message).end()
.appendTo($("td.details ol", currentRow));
}
- numFailures += 1
+ numFailures += 1;
}
}
@@ -311,6 +318,11 @@ function TEquals(expected, actual, testName) {
"', got '" + repr(actual) + "'", testName);
}
+function TEqualsIgnoreCase(expected, actual, testName) {
+ T(equals(expected.toUpperCase(), actual.toUpperCase()), "expected '" + repr(expected) +
+ "', got '" + repr(actual) + "'", testName);
+}
+
function equals(a,b) {
if (a === b) return true;
try {
@@ -331,18 +343,18 @@ function repr(val) {
}
function makeDocs(start, end, templateDoc) {
- var templateDocSrc = templateDoc ? JSON.stringify(templateDoc) : "{}"
+ var templateDocSrc = templateDoc ? JSON.stringify(templateDoc) : "{}";
if (end === undefined) {
end = start;
start = 0;
}
- var docs = []
+ var docs = [];
for (var i = start; i < end; i++) {
var newDoc = eval("(" + templateDocSrc + ")");
newDoc._id = (i).toString();
newDoc.integer = i;
newDoc.string = (i).toString();
- docs.push(newDoc)
+ docs.push(newDoc);
}
return docs;
}