This repository has been archived by the owner on Jan 16, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 275
/
run.html.erb
109 lines (93 loc) · 3.3 KB
/
run.html.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xml:lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html;charset=UTF-8" http-equiv="Content-Type"/>
<title>Jasmine suite</title>
<link rel="shortcut icon" type="image/png" href="/__JASMINE_ROOT__/images/jasmine_favicon.png">
<% css_files.each do |css_file| %>
<link rel="stylesheet" href="<%= css_file %>" type="text/css" media="screen"/>
<% end %>
<% jasmine_files.each do |jasmine_file| %>
<script src="<%= jasmine_file %>" type="text/javascript"></script>
<% end %>
<script type="text/javascript">
var jsApiReporter;
(function() {
var jasmineEnv = jasmine.getEnv();
jsApiReporter = new jasmine.JsApiReporter();
var htmlReporter = new jasmine.HtmlReporter();
jasmineEnv.addReporter(jsApiReporter);
jasmineEnv.addReporter(htmlReporter);
jasmineEnv.specFilter = function(spec) {
return htmlReporter.specFilter(spec);
};
var currentWindowOnload = window.onload;
window.onload = function() {
if (currentWindowOnload) {
currentWindowOnload();
}
execJasmine();
};
function execJasmine() {
jasmineEnv.execute();
}
})();
jasmine._runner_ = {
expectedFiles: [<%= js_files.map {|file| file.inspect }.join(', ') %>],
loadedFiles: {},
errors: {},
addError: function(error) {
var errors = this.errors[this.currentFile] || (this.errors[this.currentFile] = []);
errors.push(error);
},
fileLoaded: function() {
this.loadedFiles[this.currentFile] = true;
},
onError: function(message, file, line) {
jasmine._runner_.addError({
message: message,
file: file,
line: line
});
},
oldOnError: window.onerror
};
window.onerror = jasmine._runner_.onError;
</script>
<% js_files.each do |js_file| %>
<script type="text/javascript">jasmine._runner_.currentFile = <%= js_file.inspect %>;</script>
<script src="<%= js_file %>" type="text/javascript"></script>
<% end %>
<script type="text/javascript">
describe("JS file loading", function() {
var runner = jasmine._runner_;
for (var i = 0, length = runner.expectedFiles.length; i < length; i++) {
var expectedFile = runner.expectedFiles[i],
errors = runner.errors[expectedFile],
loaded = runner.loadedFiles[expectedFile];
if (!loaded || (errors && errors.length)) {
(function(loaded, errors, expectedFile) {
it("succeeds for "+expectedFile, function() {
if (!loaded) {
this.fail(expectedFile + " failed to load");
}
if (errors && errors.length) {
for (var j = 0; j < errors.length; j++) {
var error = errors[j];
this.fail(expectedFile + ": " + error.message + " at " + error.file+":"+error.line);
}
}
});
})(loaded, errors, expectedFile);
}
}
});
if (window.onerror == jasmine._runner_.onError) {
window.onerror = jasmine._runner_.oldOnError;
}
</script>
</head>
<body>
<div id="jasmine_content"></div>
</body>
</html>