⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testdoc.js

📁 JsDoc Toolkit 是一个把js描述格式化成文档的工具。开发者只需按JsDoc的规范写好注释就可以很方便导出文档。这个JsDoc是Java版本的
💻 JS
字号:
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 || "";		}	}})();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -