Browse Source

Made the webrunner able to load test results for test sets that it isn't aware of (not located in the MANIFEST, for example).

John Resig 16 years ago
parent
commit
d4171fe17b
1 changed files with 11 additions and 9 deletions
  1. 11 9
      dep/web/webrunner.js

+ 11 - 9
dep/web/webrunner.js

@@ -363,10 +363,10 @@
 	function initTest(curID){
 	function initTest(curID){
 		$("<div class='result-item'></div>")
 		$("<div class='result-item'></div>")
 			.append( testElems[ curID ] )
 			.append( testElems[ curID ] )
-			.append( "<p>" + tests[ curID ].desc + "<br/><a href='" + 
-				tests[ curID ].origin[1] + "'>Origin</a>, <a href='tests/" +
-				tests[ curID ].file + "'>Source</a>, <b>Tests:</b> " +
-				tests[ curID ].tags.join(", ") + "</p>" )
+			.append( "<p>" + (tests[curID] ? tests[ curID ].desc : "") + "<br/><a href='" + 
+				(tests[curID] && tests[curID].origin ? tests[ curID ].origin[1] : "") + "'>Origin</a>, <a href='tests/" +
+				(tests[curID] ? tests[ curID ].file : "") + "'>Source</a>, <b>Tests:</b> " +
+				(tests[curID] && tests[curID].tags ? tests[ curID ].tags.join(", ") : "") + "</p>" )
 			.append( "<ol class='results'></ol>" )
 			.append( "<ol class='results'></ol>" )
 			.appendTo("#main");
 			.appendTo("#main");
 	}
 	}
@@ -463,13 +463,14 @@
 
 
 			for ( var result in results ) {
 			for ( var result in results ) {
 				// Skip results that we're filtering out
 				// Skip results that we're filtering out
-				if ( !filter.test(result) || !tests[result] )
+				if ( !filter.test(result) )
 					continue;
 					continue;
 
 
+				var name = tests[result] ? tests[result].name : result;
 				var tmp = processWinner(results[result].total);
 				var tmp = processWinner(results[result].total);
 
 
 				output += "<tr><th class='name'><span onclick='toggleResults(this.nextSibling);'>&#9654; </span>" +
 				output += "<tr><th class='name'><span onclick='toggleResults(this.nextSibling);'>&#9654; </span>" +
-					"<a href='' onclick='return toggleResults(this);'>" + tests[result].name + "</a></th>";
+					"<a href='' onclick='return toggleResults(this);'>" + name + "</a></th>";
 
 
 				for ( var run in runs ) {
 				for ( var run in runs ) {
 					var mean = results[result].total[run].mean - 0;
 					var mean = results[result].total[run].mean - 0;
@@ -544,7 +545,7 @@
 	
 	
 	function logTest(data){
 	function logTest(data){
 		// Keep a running summary going
 		// Keep a running summary going
-		testSummary[data.curID] += parseFloat(data.mean);
+		testSummary[data.curID] = (testSummary[data.curID] || 0) + parseFloat(data.mean);
 		maxTotal += parseFloat(data.mean);
 		maxTotal += parseFloat(data.mean);
 
 
 		testDone[data.curID]--;
 		testDone[data.curID]--;
@@ -565,7 +566,8 @@
 		if ( update )
 		if ( update )
 			per = 1;
 			per = 1;
 
 
-		testElems[data.curID].html("<b>" + tests[data.curID].name + ":</b> <div class='bar'><div style='width:" +
+		testElems[data.curID].html("<b>" + (tests[data.curID] ? tests[data.curID].name : data.curID) +
+			":</b> <div class='bar'><div style='width:" +
 			per + "%;'>" + (per >= 100 ? "<span>" +
 			per + "%;'>" + (per >= 100 ? "<span>" +
 			testSummary[data.curID].toFixed(2) + "ms</span>" : "") + "</div></div>");
 			testSummary[data.curID].toFixed(2) + "ms</span>" : "") + "</div></div>");
 
 
@@ -616,6 +618,6 @@
 				next.css("display", display == 'none' ? 'block' : 'none');
 				next.css("display", display == 'none' ? 'block' : 'none');
 			});
 			});
 
 
-		updateTestPos({curID: testID, collection: tests[testID].name, version: testVersions[testID]}, true);
+		updateTestPos({curID: testID, collection: tests[testID] ? tests[testID].name : testID, version: testVersions[testID]}, true);
 	}
 	}
 })();
 })();