Skip to content

Commit 5e008de

Browse files
committed
Move testrunner.htm's JS to a separate file.
1 parent bfcdc65 commit 5e008de

File tree

3 files changed

+107
-105
lines changed

3 files changed

+107
-105
lines changed

Gruntfile.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ module.exports = function(grunt) {
192192
yuitest: {
193193
tests: {
194194
src: [
195-
"tests/**/*.js"
195+
["tests/**/*.js", "!tests/testrunner.js"]
196196
]
197197
}
198198
},

tests/testrunner.htm

Lines changed: 1 addition & 104 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
<script src="../lib/yuitest.js"></script>
1010
<script src="../dist/csslint-tests.js"></script>
1111
<script src="all-rules.js"></script>
12+
<script src="testrunner.js"></script>
1213
<style>
1314
.passed { color: green; }
1415
.failed, .error { color: red; }
@@ -25,109 +26,5 @@ <h2>Results</h2>
2526
<ul id="results"></ul>
2627

2728
</div>
28-
29-
<script >
30-
(function(){
31-
"use strict";
32-
33-
//some helpful variables
34-
var runButton = document.getElementById("run"),
35-
resultsList = document.getElementById("results"),
36-
resultNode = resultsList,
37-
events = [
38-
YUITest.TestRunner.TEST_CASE_BEGIN_EVENT,
39-
YUITest.TestRunner.TEST_CASE_COMPLETE_EVENT,
40-
YUITest.TestRunner.TEST_SUITE_BEGIN_EVENT,
41-
YUITest.TestRunner.TEST_SUITE_COMPLETE_EVENT,
42-
YUITest.TestRunner.TEST_PASS_EVENT,
43-
YUITest.TestRunner.TEST_FAIL_EVENT,
44-
YUITest.TestRunner.TEST_IGNORE_EVENT,
45-
YUITest.TestRunner.COMPLETE_EVENT,
46-
YUITest.TestRunner.BEGIN_EVENT,
47-
YUITest.TestRunner.ERROR_EVENT
48-
];
49-
50-
for (var i=0; i < events.length; i++){
51-
YUITest.TestRunner.attach(events[i], function(event){
52-
var node,
53-
message,
54-
messageType;
55-
56-
switch(event.type){
57-
case this.BEGIN_EVENT:
58-
message = "Testing began at " + (new Date()).toString() + ".";
59-
messageType = "info";
60-
break;
61-
62-
case this.COMPLETE_EVENT:
63-
message = "Testing completed at " + (new Date()).toString() + ".\nPassed:" +
64-
event.results.passed + " Failed:" + event.results.failed + " Total:" + event.results.total;
65-
messageType = "info";
66-
break;
67-
68-
case this.TEST_FAIL_EVENT:
69-
node = document.createElement("li");
70-
node.className = "failed";
71-
node.innerHTML = event.testName + ": " + event.error.getMessage().replace(/\n/g, "<br>");
72-
resultNode.appendChild(node);
73-
break;
74-
75-
case this.ERROR_EVENT:
76-
node = document.createElement("li");
77-
node.className = "error";
78-
node.innerHTML = "ERROR: " + event.methodName + "() caused an error: " + event.error.message.replace(/\n/g, "<br>");
79-
resultNode.appendChild(node);
80-
break;
81-
82-
case this.TEST_IGNORE_EVENT:
83-
node = document.createElement("li");
84-
node.className = "ignored";
85-
node.innerHTML = event.testName;
86-
resultNode.appendChild(node);
87-
break;
88-
89-
case this.TEST_PASS_EVENT:
90-
node = document.createElement("li");
91-
node.className = "passed";
92-
node.innerHTML = event.testName;
93-
resultNode.appendChild(node);
94-
break;
95-
96-
case this.TEST_SUITE_BEGIN_EVENT:
97-
node = document.createElement("li");
98-
node.innerHTML = event.testSuite.name;
99-
resultNode.appendChild(node);
100-
resultNode = resultNode.appendChild(document.createElement("ul"));
101-
break;
102-
103-
case this.TEST_CASE_COMPLETE_EVENT:
104-
case this.TEST_SUITE_COMPLETE_EVENT:
105-
resultNode.previousSibling.innerHTML += " (passed: " + event.results.passed + ", failed: " + event.results.failed + ", total: " + event.results.total + ", errors: " + event.results.errors + ", ignored: " + event.results.ignored + ")";
106-
resultNode = resultNode.parentNode;
107-
break;
108-
109-
case this.TEST_CASE_BEGIN_EVENT:
110-
node = document.createElement("li");
111-
node.innerHTML = event.testCase.name;
112-
resultNode.appendChild(node);
113-
resultNode = resultNode.appendChild(document.createElement("ul"));
114-
break;
115-
116-
}
117-
118-
});
119-
}
120-
121-
runButton.onclick = function(){
122-
//reset the interface
123-
resultsList.innerHTML = "";
124-
resultNode = resultsList;
125-
126-
YUITest.TestRunner.run();
127-
};
128-
129-
})();
130-
131-
</script>
13229
</body>
13330
</html>

tests/testrunner.js

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
/* jshint browser:true, loopfunc:true */
2+
3+
(function(){
4+
"use strict";
5+
6+
window.onload = function() {
7+
8+
//some helpful variables
9+
var runButton = window.document.getElementById("run"),
10+
resultsList = window.document.getElementById("results"),
11+
resultNode = resultsList,
12+
events = [
13+
YUITest.TestRunner.TEST_CASE_BEGIN_EVENT,
14+
YUITest.TestRunner.TEST_CASE_COMPLETE_EVENT,
15+
YUITest.TestRunner.TEST_SUITE_BEGIN_EVENT,
16+
YUITest.TestRunner.TEST_SUITE_COMPLETE_EVENT,
17+
YUITest.TestRunner.TEST_PASS_EVENT,
18+
YUITest.TestRunner.TEST_FAIL_EVENT,
19+
YUITest.TestRunner.TEST_IGNORE_EVENT,
20+
YUITest.TestRunner.COMPLETE_EVENT,
21+
YUITest.TestRunner.BEGIN_EVENT,
22+
YUITest.TestRunner.ERROR_EVENT
23+
];
24+
25+
for (var i=0; i < events.length; i++){
26+
YUITest.TestRunner.attach(events[i], function(event){
27+
var node,
28+
message,
29+
messageType;
30+
31+
switch(event.type){
32+
case this.BEGIN_EVENT:
33+
message = "Testing began at " + (new Date()).toString() + ".";
34+
messageType = "info";
35+
break;
36+
37+
case this.COMPLETE_EVENT:
38+
message = "Testing completed at " + (new Date()).toString() + ".\nPassed:" +
39+
event.results.passed + " Failed:" + event.results.failed + " Total:" + event.results.total;
40+
messageType = "info";
41+
break;
42+
43+
case this.TEST_FAIL_EVENT:
44+
node = window.document.createElement("li");
45+
node.className = "failed";
46+
node.innerHTML = event.testName + ": " + event.error.getMessage().replace(/\n/g, "<br>");
47+
resultNode.appendChild(node);
48+
break;
49+
50+
case this.ERROR_EVENT:
51+
node = window.document.createElement("li");
52+
node.className = "error";
53+
node.innerHTML = "ERROR: " + event.methodName + "() caused an error: " + event.error.message.replace(/\n/g, "<br>");
54+
resultNode.appendChild(node);
55+
break;
56+
57+
case this.TEST_IGNORE_EVENT:
58+
node = window.document.createElement("li");
59+
node.className = "ignored";
60+
node.innerHTML = event.testName;
61+
resultNode.appendChild(node);
62+
break;
63+
64+
case this.TEST_PASS_EVENT:
65+
node = window.document.createElement("li");
66+
node.className = "passed";
67+
node.innerHTML = event.testName;
68+
resultNode.appendChild(node);
69+
break;
70+
71+
case this.TEST_SUITE_BEGIN_EVENT:
72+
node = window.document.createElement("li");
73+
node.innerHTML = event.testSuite.name;
74+
resultNode.appendChild(node);
75+
resultNode = resultNode.appendChild(window.document.createElement("ul"));
76+
break;
77+
78+
case this.TEST_CASE_COMPLETE_EVENT:
79+
case this.TEST_SUITE_COMPLETE_EVENT:
80+
resultNode.previousSibling.innerHTML += " (passed: " + event.results.passed + ", failed: " + event.results.failed + ", total: " + event.results.total + ", errors: " + event.results.errors + ", ignored: " + event.results.ignored + ")";
81+
resultNode = resultNode.parentNode;
82+
break;
83+
84+
case this.TEST_CASE_BEGIN_EVENT:
85+
node = window.document.createElement("li");
86+
node.innerHTML = event.testCase.name;
87+
resultNode.appendChild(node);
88+
resultNode = resultNode.appendChild(window.document.createElement("ul"));
89+
break;
90+
91+
}
92+
93+
});
94+
}
95+
96+
runButton.onclick = function(){
97+
//reset the interface
98+
resultsList.innerHTML = "";
99+
resultNode = resultsList;
100+
101+
YUITest.TestRunner.run();
102+
};
103+
};
104+
105+
})();

0 commit comments

Comments
 (0)