sbin/res/app/t/TestDoc.js
branchjsdoc
changeset 520 fe008e95a716
parent 519 46e21d060650
child 521 df716b99c5bb
child 522 2b1a07f1d797
--- a/sbin/res/app/t/TestDoc.js	Fri Dec 23 10:59:23 2011 +0100
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-var TestDoc = {
-	fails: 0,
-	plans: 0,
-	passes: 0,
-	results: []
-};
-
-TestDoc.record = function(result) {
-	TestDoc.results.push(result);
-	if (typeof result.verdict == "boolean") {
-		if (result.verdict === false) TestDoc.fails++;
-		if (result.verdict === true) TestDoc.passes++;
-	}
-}
-
-TestDoc.prove = function(filePath) {
-	if (typeof document != "undefined" && typeof document.write != "undefined") {
-		if (TestDoc.console) print = function(s) { TestDoc.console.appendChild(document.createTextNode(s+"\n")); }
-		else print = function(s) { document.write(s+"<br />"); }
-	}
-	TestDoc.run(TestDoc.readFile(filePath));
-}
-
-TestDoc.run = function(src) {
-	try { eval(src); } catch(e) { print("# ERROR! "+e); }
-	
-	var chunks = src.split(/\/\*t:/);
-	
-	var run = function(chunk) {
-		// local shortcuts
-		var is = TestDoc.assertEquals;
-		var isnt = TestDoc.assertNotEquals;
-		var plan = TestDoc.plan;
-		var requires = TestDoc.requires;
-		
-		try { eval(chunk); } catch(e) { print("# ERROR! "+e); }
-	}
-	for (var start = -1, end = 0; (start = src.indexOf("/*t:", end)) > end; start = end) {
-		run(
-			src.substring(
-				start+4,
-				(end = src.indexOf("*/", start))
-			)
-		);
-	}
-}
-
-TestDoc.Result = function(verdict, message) {
-	this.verdict = verdict;
-	this.message = message;
-}
-
-TestDoc.Result.prototype.toString = function() {
-	if (typeof this.verdict == "boolean") {
-		return (this.verdict? "ok" : "not ok") + " " + (++TestDoc.report.counter) + " - " + this.message;
-	}
-	
-	return "# " + this.message;
-}
-
-TestDoc.requires = function(file) {
-	if (!TestDoc.requires.loaded[file]) {
-		load(file);
-		TestDoc.requires.loaded[file] = true;
-	}
-}
-TestDoc.requires.loaded = {};
-
-TestDoc.report = function() {
-	TestDoc.report.counter = 0;
-	print("1.."+TestDoc.plans);
-	for (var i = 0; i < TestDoc.results.length; i++) {
-		print(TestDoc.results[i]);
-	}
-	print("----------------------------------------");
-	if (TestDoc.fails == 0 && TestDoc.passes == TestDoc.plans) {
-		print("All tests successful.");
-	}
-	else {
-		print("Failed " + TestDoc.fails + "/" + TestDoc.plans + " tests, "+((TestDoc.plans == 0)? 0 : Math.round(TestDoc.passes/(TestDoc.passes+TestDoc.fails)*10000)/100)+"% okay. Planned to run "+TestDoc.plans+", did run "+(TestDoc.passes+TestDoc.fails)+".")
-	}
-}
-
-TestDoc.plan = function(n, message) {
-	TestDoc.plans += n;
-	TestDoc.record(new TestDoc.Result(null, message+" ("+n+" tests)"));
-}
-
-TestDoc.assertEquals = function(a, b, message) {
-	var result = (a == b);
-	if (!result) message += "\n#\n# " + a + " does not equal " + b + "\n#";
-	TestDoc.record(new TestDoc.Result(result, message));
-}
-
-TestDoc.assertNotEquals = function(a, b, message) {
-	var result = (a != b);
-	if (!result) message += "\n#\n# " + a + " equals " + b + "\n#";
-	TestDoc.record(new TestDoc.Result(result, message));
-}
-
-TestDoc.readFile = (function(){
-	// rhino
-	if (typeof readFile == "function") {
-		return function(url) {
-			var text = readFile(url);
-			return text || "";
-		}
-	}
-
-	// a web browser
-	else {
-		return function(url) {
-			var httpRequest;
-		
-			if (window.XMLHttpRequest) { // Mozilla, Safari, etc
-				httpRequest = new XMLHttpRequest();
-			} 
-			else if (window.ActiveXObject) { // IE
-				try {
-					httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
-				} 
-				catch (e) {
-				   try {
-						httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
-					} 
-					catch (e) {
-					}
-				}
-			}
-		
-			if (!httpRequest) { throw "Cannot create HTTP Request."; }
-			
-			httpRequest.open('GET', url, false);
-			httpRequest.send('');
-			if (httpRequest.readyState == 4) {
-				if (httpRequest.status >= 400) {
-					throw "The HTTP Request returned an error code: "+httpRequest.status;
-				}
-			}
-			
-			return httpRequest.responseText || "";
-		}
-	}
-})();