evergreen 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +30 -4
- data/config/routes.rb +1 -1
- data/lib/evergreen.rb +14 -50
- data/lib/evergreen/application.rb +46 -0
- data/lib/evergreen/cli.rb +2 -2
- data/lib/evergreen/rails.rb +4 -0
- data/lib/evergreen/resources/evergreen.css +3 -1
- data/lib/evergreen/resources/evergreen.js +3 -0
- data/lib/evergreen/runner.rb +124 -36
- data/lib/evergreen/server.rb +9 -18
- data/lib/evergreen/spec.rb +26 -14
- data/lib/evergreen/suite.rb +44 -0
- data/lib/evergreen/tasks.rb +6 -0
- data/lib/evergreen/template.rb +7 -10
- data/lib/evergreen/version.rb +1 -1
- data/lib/evergreen/views/layout.erb +1 -0
- data/lib/evergreen/views/list.erb +2 -2
- data/lib/evergreen/views/spec.erb +18 -10
- data/lib/jasmine/Gemfile +6 -0
- data/lib/jasmine/MIT.LICENSE +2 -2
- data/lib/jasmine/README.markdown +5 -459
- data/lib/jasmine/Rakefile +22 -16
- data/lib/jasmine/example/SpecRunner.html +1 -1
- data/lib/jasmine/jsdoc-template/allclasses.tmpl +17 -0
- data/lib/jasmine/jsdoc-template/allfiles.tmpl +56 -0
- data/lib/jasmine/jsdoc-template/class.tmpl +646 -0
- data/lib/jasmine/jsdoc-template/index.tmpl +39 -0
- data/lib/jasmine/jsdoc-template/publish.js +184 -0
- data/lib/jasmine/jsdoc-template/static/default.css +162 -0
- data/lib/jasmine/jsdoc-template/static/header.html +2 -0
- data/lib/jasmine/jsdoc-template/static/index.html +19 -0
- data/lib/jasmine/jsdoc-template/symbol.tmpl +35 -0
- data/lib/jasmine/lib/jasmine-html.js +12 -6
- data/lib/jasmine/lib/jasmine.js +122 -44
- data/lib/jasmine/spec/runner.html +0 -1
- data/lib/jasmine/spec/suites/CustomMatchersSpec.js +18 -9
- data/lib/jasmine/spec/suites/MatchersSpec.js +241 -162
- data/lib/jasmine/spec/suites/SpecRunningSpec.js +120 -62
- data/lib/jasmine/spec/suites/TrivialReporterSpec.js +3 -0
- data/lib/jasmine/spec/suites/WaitsForBlockSpec.js +9 -9
- data/lib/jasmine/src/Env.js +1 -0
- data/lib/jasmine/src/Matchers.js +35 -17
- data/lib/jasmine/src/Queue.js +6 -1
- data/lib/jasmine/src/Spec.js +34 -2
- data/lib/jasmine/src/WaitsForBlock.js +28 -13
- data/lib/jasmine/src/base.js +15 -8
- data/lib/jasmine/src/html/TrivialReporter.js +12 -6
- data/lib/jasmine/src/version.json +2 -2
- data/lib/tasks/evergreen.rake +1 -1
- data/spec/meta_spec.rb +21 -2
- data/spec/runner_spec.rb +16 -18
- data/spec/spec_helper.rb +12 -4
- data/spec/spec_spec.rb +4 -11
- data/spec/suite1/spec/javascripts/invalid_coffee_spec.coffee +1 -0
- data/spec/suite1/spec/javascripts/spec_helper.coffee +1 -1
- data/spec/suite2/config/evergreen.rb +5 -0
- data/spec/suite2/public_html/foo.js +1 -0
- data/spec/suite2/spec/awesome_spec.js +12 -0
- data/spec/suite2/spec/failing_spec.js +5 -0
- data/spec/suite2/templates/foo.html +1 -0
- data/spec/suite_spec.rb +26 -0
- data/spec/template_spec.rb +3 -9
- metadata +52 -20
- data/lib/jasmine/lib/consolex.js +0 -28
@@ -0,0 +1,39 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="content-type" content="text/html; charset={+IO.encoding+}"" />
|
6
|
+
|
7
|
+
<title>JsDoc Reference - Index</title>
|
8
|
+
<meta name="generator" content="JsDoc Toolkit" />
|
9
|
+
|
10
|
+
<style type="text/css">
|
11
|
+
{+include("static/default.css")+}
|
12
|
+
</style>
|
13
|
+
</head>
|
14
|
+
|
15
|
+
<body>
|
16
|
+
{+include("static/header.html")+}
|
17
|
+
|
18
|
+
<div id="index">
|
19
|
+
{+publish.classesIndex+}
|
20
|
+
</div>
|
21
|
+
|
22
|
+
<div id="content">
|
23
|
+
<h1 class="classTitle">Class Index</h1>
|
24
|
+
|
25
|
+
<for each="thisClass" in="data">
|
26
|
+
<div>
|
27
|
+
<h2>{+(new Link().toSymbol(thisClass.alias))+}</h2>
|
28
|
+
{+resolveLinks(summarize(thisClass.classDesc))+}
|
29
|
+
</div>
|
30
|
+
<hr />
|
31
|
+
</for>
|
32
|
+
|
33
|
+
</div>
|
34
|
+
<div class="fineprint" style="clear:both">
|
35
|
+
<if test="JSDOC.opt.D.copyright">©{+JSDOC.opt.D.copyright+}<br /></if>
|
36
|
+
Documentation generated by <a href="http://www.jsdoctoolkit.org/" target="_blankt">JsDoc Toolkit</a> {+JSDOC.VERSION+} on {+new Date()+}
|
37
|
+
</div>
|
38
|
+
</body>
|
39
|
+
</html>
|
@@ -0,0 +1,184 @@
|
|
1
|
+
/** Called automatically by JsDoc Toolkit. */
|
2
|
+
function publish(symbolSet) {
|
3
|
+
publish.conf = { // trailing slash expected for dirs
|
4
|
+
ext: ".html",
|
5
|
+
outDir: JSDOC.opt.d || SYS.pwd+"../out/jsdoc/",
|
6
|
+
templatesDir: JSDOC.opt.t || SYS.pwd+"../templates/jsdoc/",
|
7
|
+
symbolsDir: "symbols/",
|
8
|
+
srcDir: "symbols/src/"
|
9
|
+
};
|
10
|
+
|
11
|
+
// is source output is suppressed, just display the links to the source file
|
12
|
+
if (JSDOC.opt.s && defined(Link) && Link.prototype._makeSrcLink) {
|
13
|
+
Link.prototype._makeSrcLink = function(srcFilePath) {
|
14
|
+
return "<"+srcFilePath+">";
|
15
|
+
}
|
16
|
+
}
|
17
|
+
|
18
|
+
// create the folders and subfolders to hold the output
|
19
|
+
IO.mkPath((publish.conf.outDir+"symbols/src").split("/"));
|
20
|
+
|
21
|
+
// used to allow Link to check the details of things being linked to
|
22
|
+
Link.symbolSet = symbolSet;
|
23
|
+
|
24
|
+
// create the required templates
|
25
|
+
try {
|
26
|
+
var classTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"class.tmpl");
|
27
|
+
var classesTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"allclasses.tmpl");
|
28
|
+
}
|
29
|
+
catch(e) {
|
30
|
+
print("Couldn't create the required templates: "+e);
|
31
|
+
quit();
|
32
|
+
}
|
33
|
+
|
34
|
+
// some ustility filters
|
35
|
+
function hasNoParent($) {return ($.memberOf == "")}
|
36
|
+
function isaFile($) {return ($.is("FILE"))}
|
37
|
+
function isaClass($) {return ($.is("CONSTRUCTOR") || $.isNamespace)}
|
38
|
+
|
39
|
+
// get an array version of the symbolset, useful for filtering
|
40
|
+
var symbols = symbolSet.toArray();
|
41
|
+
|
42
|
+
// create the hilited source code files
|
43
|
+
var files = JSDOC.opt.srcFiles;
|
44
|
+
for (var i = 0, l = files.length; i < l; i++) {
|
45
|
+
var file = files[i];
|
46
|
+
var srcDir = publish.conf.outDir + "symbols/src/";
|
47
|
+
makeSrcFile(file, srcDir);
|
48
|
+
}
|
49
|
+
|
50
|
+
// get a list of all the classes in the symbolset
|
51
|
+
var classes = symbols.filter(isaClass).sort(makeSortby("alias"));
|
52
|
+
|
53
|
+
// create a class index, displayed in the left-hand column of every class page
|
54
|
+
Link.base = "../";
|
55
|
+
publish.classesIndex = classesTemplate.process(classes); // kept in memory
|
56
|
+
|
57
|
+
// create each of the class pages
|
58
|
+
for (var i = 0, l = classes.length; i < l; i++) {
|
59
|
+
var symbol = classes[i];
|
60
|
+
|
61
|
+
symbol.events = symbol.getEvents(); // 1 order matters
|
62
|
+
symbol.methods = symbol.getMethods(); // 2
|
63
|
+
|
64
|
+
var output = "";
|
65
|
+
output = classTemplate.process(symbol);
|
66
|
+
|
67
|
+
IO.saveFile(publish.conf.outDir+"symbols/", symbol.alias+publish.conf.ext, output);
|
68
|
+
}
|
69
|
+
|
70
|
+
// regenerate the index with different relative links, used in the index pages
|
71
|
+
Link.base = "";
|
72
|
+
publish.classesIndex = classesTemplate.process(classes);
|
73
|
+
|
74
|
+
// create the class index page
|
75
|
+
try {
|
76
|
+
var classesindexTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"index.tmpl");
|
77
|
+
}
|
78
|
+
catch(e) { print(e.message); quit(); }
|
79
|
+
|
80
|
+
var classesIndex = classesindexTemplate.process(classes);
|
81
|
+
IO.saveFile(publish.conf.outDir, "index"+publish.conf.ext, classesIndex);
|
82
|
+
classesindexTemplate = classesIndex = classes = null;
|
83
|
+
|
84
|
+
// create the file index page
|
85
|
+
try {
|
86
|
+
var fileindexTemplate = new JSDOC.JsPlate(publish.conf.templatesDir+"allfiles.tmpl");
|
87
|
+
}
|
88
|
+
catch(e) { print(e.message); quit(); }
|
89
|
+
|
90
|
+
var documentedFiles = symbols.filter(isaFile); // files that have file-level docs
|
91
|
+
var allFiles = []; // not all files have file-level docs, but we need to list every one
|
92
|
+
|
93
|
+
for (var i = 0; i < files.length; i++) {
|
94
|
+
allFiles.push(new JSDOC.Symbol(files[i], [], "FILE", new JSDOC.DocComment("/** */")));
|
95
|
+
}
|
96
|
+
|
97
|
+
for (var i = 0; i < documentedFiles.length; i++) {
|
98
|
+
var offset = files.indexOf(documentedFiles[i].alias);
|
99
|
+
allFiles[offset] = documentedFiles[i];
|
100
|
+
}
|
101
|
+
|
102
|
+
allFiles = allFiles.sort(makeSortby("name"));
|
103
|
+
|
104
|
+
// output the file index page
|
105
|
+
var filesIndex = fileindexTemplate.process(allFiles);
|
106
|
+
IO.saveFile(publish.conf.outDir, "files"+publish.conf.ext, filesIndex);
|
107
|
+
fileindexTemplate = filesIndex = files = null;
|
108
|
+
}
|
109
|
+
|
110
|
+
|
111
|
+
/** Just the first sentence (up to a full stop). Should not break on dotted variable names. */
|
112
|
+
function summarize(desc) {
|
113
|
+
if (typeof desc != "undefined")
|
114
|
+
return desc.match(/([\w\W]+?\.)[^a-z0-9_$]/i)? RegExp.$1 : desc;
|
115
|
+
}
|
116
|
+
|
117
|
+
/** Make a symbol sorter by some attribute. */
|
118
|
+
function makeSortby(attribute) {
|
119
|
+
return function(a, b) {
|
120
|
+
if (a[attribute] != undefined && b[attribute] != undefined) {
|
121
|
+
a = a[attribute].toLowerCase();
|
122
|
+
b = b[attribute].toLowerCase();
|
123
|
+
if (a < b) return -1;
|
124
|
+
if (a > b) return 1;
|
125
|
+
return 0;
|
126
|
+
}
|
127
|
+
}
|
128
|
+
}
|
129
|
+
|
130
|
+
/** Pull in the contents of an external file at the given path. */
|
131
|
+
function include(path) {
|
132
|
+
var path = publish.conf.templatesDir+path;
|
133
|
+
return IO.readFile(path);
|
134
|
+
}
|
135
|
+
|
136
|
+
/** Turn a raw source file into a code-hilited page in the docs. */
|
137
|
+
function makeSrcFile(path, srcDir, name) {
|
138
|
+
if (JSDOC.opt.s) return;
|
139
|
+
|
140
|
+
if (!name) {
|
141
|
+
name = path.replace(/\.\.?[\\\/]/g, "").replace(/[\\\/]/g, "_");
|
142
|
+
name = name.replace(/\:/g, "_");
|
143
|
+
}
|
144
|
+
|
145
|
+
var src = {path: path, name:name, charset: IO.encoding, hilited: ""};
|
146
|
+
|
147
|
+
if (defined(JSDOC.PluginManager)) {
|
148
|
+
JSDOC.PluginManager.run("onPublishSrc", src);
|
149
|
+
}
|
150
|
+
|
151
|
+
if (src.hilited) {
|
152
|
+
IO.saveFile(srcDir, name+publish.conf.ext, src.hilited);
|
153
|
+
}
|
154
|
+
}
|
155
|
+
|
156
|
+
/** Build output for displaying function parameters. */
|
157
|
+
function makeSignature(params) {
|
158
|
+
if (!params) return "()";
|
159
|
+
var signature = "("
|
160
|
+
+
|
161
|
+
params.filter(
|
162
|
+
function($) {
|
163
|
+
return $.name.indexOf(".") == -1; // don't show config params in signature
|
164
|
+
}
|
165
|
+
).map(
|
166
|
+
function($) {
|
167
|
+
return $.name;
|
168
|
+
}
|
169
|
+
).join(", ")
|
170
|
+
+
|
171
|
+
")";
|
172
|
+
return signature;
|
173
|
+
}
|
174
|
+
|
175
|
+
/** Find symbol {@link ...} strings in text and turn into html links */
|
176
|
+
function resolveLinks(str, from) {
|
177
|
+
str = str.replace(/\{@link ([^} ]+) ?\}/gi,
|
178
|
+
function(match, symbolName) {
|
179
|
+
return new Link().toSymbol(symbolName);
|
180
|
+
}
|
181
|
+
);
|
182
|
+
|
183
|
+
return str;
|
184
|
+
}
|
@@ -0,0 +1,162 @@
|
|
1
|
+
/* default.css */
|
2
|
+
body
|
3
|
+
{
|
4
|
+
font: 12px "Lucida Grande", Tahoma, Arial, Helvetica, sans-serif;
|
5
|
+
width: 800px;
|
6
|
+
}
|
7
|
+
|
8
|
+
.header
|
9
|
+
{
|
10
|
+
clear: both;
|
11
|
+
background-color: #ccc;
|
12
|
+
padding: 8px;
|
13
|
+
}
|
14
|
+
|
15
|
+
h1
|
16
|
+
{
|
17
|
+
font-size: 150%;
|
18
|
+
font-weight: bold;
|
19
|
+
padding: 0;
|
20
|
+
margin: 1em 0 0 .3em;
|
21
|
+
}
|
22
|
+
|
23
|
+
hr
|
24
|
+
{
|
25
|
+
border: none 0;
|
26
|
+
border-top: 1px solid #7F8FB1;
|
27
|
+
height: 1px;
|
28
|
+
}
|
29
|
+
|
30
|
+
pre.code
|
31
|
+
{
|
32
|
+
display: block;
|
33
|
+
padding: 8px;
|
34
|
+
border: 1px dashed #ccc;
|
35
|
+
}
|
36
|
+
|
37
|
+
#index
|
38
|
+
{
|
39
|
+
margin-top: 24px;
|
40
|
+
float: left;
|
41
|
+
width: 160px;
|
42
|
+
position: absolute;
|
43
|
+
left: 8px;
|
44
|
+
background-color: #F3F3F3;
|
45
|
+
padding: 8px;
|
46
|
+
}
|
47
|
+
|
48
|
+
#content
|
49
|
+
{
|
50
|
+
margin-left: 190px;
|
51
|
+
width: 600px;
|
52
|
+
}
|
53
|
+
|
54
|
+
.classList
|
55
|
+
{
|
56
|
+
list-style-type: none;
|
57
|
+
padding: 0;
|
58
|
+
margin: 0 0 0 8px;
|
59
|
+
font-family: arial, sans-serif;
|
60
|
+
font-size: 1em;
|
61
|
+
overflow: auto;
|
62
|
+
}
|
63
|
+
|
64
|
+
.classList li
|
65
|
+
{
|
66
|
+
padding: 0;
|
67
|
+
margin: 0 0 8px 0;
|
68
|
+
}
|
69
|
+
|
70
|
+
.summaryTable { width: 100%; }
|
71
|
+
|
72
|
+
h1.classTitle
|
73
|
+
{
|
74
|
+
font-size:170%;
|
75
|
+
line-height:130%;
|
76
|
+
}
|
77
|
+
|
78
|
+
h2 { font-size: 110%; }
|
79
|
+
caption, div.sectionTitle
|
80
|
+
{
|
81
|
+
background-color: #7F8FB1;
|
82
|
+
color: #fff;
|
83
|
+
font-size:130%;
|
84
|
+
text-align: left;
|
85
|
+
padding: 2px 6px 2px 6px;
|
86
|
+
border: 1px #7F8FB1 solid;
|
87
|
+
}
|
88
|
+
|
89
|
+
div.sectionTitle { margin-bottom: 8px; }
|
90
|
+
.summaryTable thead { display: none; }
|
91
|
+
|
92
|
+
.summaryTable td
|
93
|
+
{
|
94
|
+
vertical-align: top;
|
95
|
+
padding: 4px;
|
96
|
+
border-bottom: 1px #7F8FB1 solid;
|
97
|
+
border-right: 1px #7F8FB1 solid;
|
98
|
+
}
|
99
|
+
|
100
|
+
/*col#summaryAttributes {}*/
|
101
|
+
.summaryTable td.attributes
|
102
|
+
{
|
103
|
+
border-left: 1px #7F8FB1 solid;
|
104
|
+
width: 140px;
|
105
|
+
text-align: right;
|
106
|
+
}
|
107
|
+
|
108
|
+
td.attributes, .fixedFont
|
109
|
+
{
|
110
|
+
line-height: 15px;
|
111
|
+
color: #002EBE;
|
112
|
+
font-family: "Courier New",Courier,monospace;
|
113
|
+
font-size: 13px;
|
114
|
+
}
|
115
|
+
|
116
|
+
.summaryTable td.nameDescription
|
117
|
+
{
|
118
|
+
text-align: left;
|
119
|
+
font-size: 13px;
|
120
|
+
line-height: 15px;
|
121
|
+
}
|
122
|
+
|
123
|
+
.summaryTable td.nameDescription, .description
|
124
|
+
{
|
125
|
+
line-height: 15px;
|
126
|
+
padding: 4px;
|
127
|
+
padding-left: 4px;
|
128
|
+
}
|
129
|
+
|
130
|
+
.summaryTable { margin-bottom: 8px; }
|
131
|
+
|
132
|
+
ul.inheritsList
|
133
|
+
{
|
134
|
+
list-style: square;
|
135
|
+
margin-left: 20px;
|
136
|
+
padding-left: 0;
|
137
|
+
}
|
138
|
+
|
139
|
+
.detailList {
|
140
|
+
margin-left: 20px;
|
141
|
+
line-height: 15px;
|
142
|
+
}
|
143
|
+
.detailList dt { margin-left: 20px; }
|
144
|
+
|
145
|
+
.detailList .heading
|
146
|
+
{
|
147
|
+
font-weight: bold;
|
148
|
+
padding-bottom: 6px;
|
149
|
+
margin-left: 0;
|
150
|
+
}
|
151
|
+
|
152
|
+
.light, td.attributes, .light a:link, .light a:visited
|
153
|
+
{
|
154
|
+
color: #777;
|
155
|
+
font-style: italic;
|
156
|
+
}
|
157
|
+
|
158
|
+
.fineprint
|
159
|
+
{
|
160
|
+
text-align: right;
|
161
|
+
font-size: 10px;
|
162
|
+
}
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN"
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
|
3
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
4
|
+
<head>
|
5
|
+
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
|
6
|
+
<title>Generated Javascript Documentation</title>
|
7
|
+
</head>
|
8
|
+
<frameset cols="20%,80%">
|
9
|
+
<frame src="allclasses-frame.html" name="packageFrame" />
|
10
|
+
<frame src="splash.html" name="classFrame" />
|
11
|
+
<noframes>
|
12
|
+
<body>
|
13
|
+
<p>
|
14
|
+
This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
|
15
|
+
</p>
|
16
|
+
</body>
|
17
|
+
</noframes>
|
18
|
+
</frameset>
|
19
|
+
</html>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
<symbol alias="{+data.alias+}">
|
2
|
+
<name>{+data.name+}</name>
|
3
|
+
<memberOf>{+data.memberOf+}</memberOf>
|
4
|
+
<isStatic>{+data.isStatic+}</isStatic>
|
5
|
+
<isa>{+data.isa+}</isa>
|
6
|
+
<desc>{+data.desc+}</desc>
|
7
|
+
<classDesc>{+data.classDesc+}</classDesc>
|
8
|
+
|
9
|
+
<methods><for each="method" in="data.methods">
|
10
|
+
<method>
|
11
|
+
<name>{+method.name+}</name>
|
12
|
+
<memberOf>{+method.memberOf+}</memberOf>
|
13
|
+
<isStatic>{+method.isStatic+}</isStatic>
|
14
|
+
<desc>{+method.desc+}</desc>
|
15
|
+
<params><for each="param" in="method.params">
|
16
|
+
<param>
|
17
|
+
<type>{+param.type+}</type>
|
18
|
+
<name>{+param.name+}</name>
|
19
|
+
<desc>{+param.desc+}</desc>
|
20
|
+
<defaultValue>{+param.defaultValue+}</defaultValue>
|
21
|
+
</param></for>
|
22
|
+
</params>
|
23
|
+
</method></for>
|
24
|
+
</methods>
|
25
|
+
|
26
|
+
<properties><for each="property" in="data.properties">
|
27
|
+
<property>
|
28
|
+
<name>{+property.name+}</name>
|
29
|
+
<memberOf>{+property.memberOf+}</memberOf>
|
30
|
+
<isStatic>{+property.isStatic+}</isStatic>
|
31
|
+
<desc>{+property.desc+}</desc>
|
32
|
+
<type>{+property.type+}</type>
|
33
|
+
</property></for>
|
34
|
+
</properties>
|
35
|
+
</symbol>
|
@@ -34,7 +34,7 @@ jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) {
|
|
34
34
|
this.outerDiv = this.createDom('div', { className: 'jasmine_reporter' },
|
35
35
|
this.createDom('div', { className: 'banner' },
|
36
36
|
this.createDom('div', { className: 'logo' },
|
37
|
-
"Jasmine",
|
37
|
+
this.createDom('a', { href: 'http://pivotal.github.com/jasmine/', target: "_blank" }, "Jasmine"),
|
38
38
|
this.createDom('span', { className: 'version' }, runner.env.versionString())),
|
39
39
|
this.createDom('div', { className: 'options' },
|
40
40
|
"Show ",
|
@@ -70,16 +70,16 @@ jasmine.TrivialReporter.prototype.reportRunnerStarting = function(runner) {
|
|
70
70
|
this.startedAt = new Date();
|
71
71
|
|
72
72
|
var self = this;
|
73
|
-
showPassed.
|
74
|
-
if (
|
73
|
+
showPassed.onclick = function(evt) {
|
74
|
+
if (showPassed.checked) {
|
75
75
|
self.outerDiv.className += ' show-passed';
|
76
76
|
} else {
|
77
77
|
self.outerDiv.className = self.outerDiv.className.replace(/ show-passed/, '');
|
78
78
|
}
|
79
79
|
};
|
80
80
|
|
81
|
-
showSkipped.
|
82
|
-
if (
|
81
|
+
showSkipped.onclick = function(evt) {
|
82
|
+
if (showSkipped.checked) {
|
83
83
|
self.outerDiv.className += ' show-skipped';
|
84
84
|
} else {
|
85
85
|
self.outerDiv.className = self.outerDiv.className.replace(/ show-skipped/, '');
|
@@ -162,7 +162,13 @@ jasmine.TrivialReporter.prototype.reportSpecResults = function(spec) {
|
|
162
162
|
|
163
163
|
jasmine.TrivialReporter.prototype.log = function() {
|
164
164
|
var console = jasmine.getGlobal().console;
|
165
|
-
if (console && console.log)
|
165
|
+
if (console && console.log) {
|
166
|
+
if (console.log.apply) {
|
167
|
+
console.log.apply(console, arguments);
|
168
|
+
} else {
|
169
|
+
console.log(arguments); // ie fix: console.log.apply doesn't exist on ie
|
170
|
+
}
|
171
|
+
}
|
166
172
|
};
|
167
173
|
|
168
174
|
jasmine.TrivialReporter.prototype.getLocation = function() {
|