evergreen 1.1.0 → 1.1.2
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +3 -3
- data/lib/evergreen/resources/evergreen.css +4 -0
- data/lib/evergreen/server.rb +1 -1
- data/lib/evergreen/version.rb +1 -1
- data/lib/jasmine/Gemfile +8 -0
- data/lib/jasmine/README.markdown +2 -1
- data/lib/jasmine/Rakefile +37 -1
- data/lib/jasmine/jasmine-core.gemspec +4 -1
- data/lib/jasmine/lib/jasmine-core/jasmine-html.js +77 -12
- data/lib/jasmine/lib/jasmine-core/jasmine.css +1 -0
- data/lib/jasmine/lib/jasmine-core/jasmine.js +107 -36
- data/lib/jasmine/lib/jasmine-core/version.rb +1 -1
- data/lib/jasmine/spec/core/ExceptionsSpec.js +113 -87
- data/lib/jasmine/spec/core/MatchersSpec.js +48 -2
- data/lib/jasmine/spec/core/PrettyPrintSpec.js +30 -0
- data/lib/jasmine/spec/core/RunnerSpec.js +13 -0
- data/lib/jasmine/spec/core/SpecRunningSpec.js +117 -84
- data/lib/jasmine/spec/core/SpySpec.js +15 -0
- data/lib/jasmine/spec/jasmine.yml +39 -0
- data/lib/jasmine/spec/jasmine_self_test_spec.rb +23 -0
- data/lib/jasmine/spec/tasks/build_github_pages_spec.rb +14 -23
- data/lib/jasmine/src/core/Block.js +9 -4
- data/lib/jasmine/src/core/Env.js +23 -0
- data/lib/jasmine/src/core/Matchers.js +19 -15
- data/lib/jasmine/src/core/PrettyPrinter.js +11 -4
- data/lib/jasmine/src/core/Queue.js +23 -4
- data/lib/jasmine/src/core/Spec.js +4 -4
- data/lib/jasmine/src/core/base.js +15 -2
- data/lib/jasmine/src/html/HtmlReporter.js +67 -3
- data/lib/jasmine/src/html/ReporterView.js +3 -3
- data/lib/jasmine/src/html/SpecView.js +5 -5
- data/lib/jasmine/src/html/SuiteView.js +1 -1
- data/lib/jasmine/src/html/_HTMLReporter.scss +49 -42
- data/lib/jasmine/src/html/jasmine.css +1 -0
- data/lib/jasmine/src/version.js +3 -3
- data/lib/jasmine/src/version.json +2 -2
- data/lib/jasmine/tasks/jasmine_dev/build_github_pages.rb +11 -14
- data/lib/jasmine/tasks/jasmine_dev/build_standalone_distribution.rb +3 -2
- data/lib/jasmine/tasks/jasmine_dev/build_standalone_runner.rb +3 -3
- data/spec/runner_spec.rb +0 -2
- data/spec/suite_spec.rb +7 -4
- metadata +4 -3
@@ -81,14 +81,14 @@ jasmine.HtmlReporter.ReporterView = function(dom) {
|
|
81
81
|
|
82
82
|
// currently running UI
|
83
83
|
if (isUndefined(this.runningAlert)) {
|
84
|
-
this.runningAlert = this.createDom('a', {href:
|
84
|
+
this.runningAlert = this.createDom('a', { href: jasmine.HtmlReporter.sectionLink(), className: "runningAlert bar" });
|
85
85
|
dom.alert.appendChild(this.runningAlert);
|
86
86
|
}
|
87
87
|
this.runningAlert.innerHTML = "Running " + this.completeSpecCount + " of " + specPluralizedFor(this.totalSpecCount);
|
88
88
|
|
89
89
|
// skipped specs UI
|
90
90
|
if (isUndefined(this.skippedAlert)) {
|
91
|
-
this.skippedAlert = this.createDom('a', {href:
|
91
|
+
this.skippedAlert = this.createDom('a', { href: jasmine.HtmlReporter.sectionLink(), className: "skippedAlert bar" });
|
92
92
|
}
|
93
93
|
|
94
94
|
this.skippedAlert.innerHTML = "Skipping " + this.skippedCount + " of " + specPluralizedFor(this.totalSpecCount) + " - run all";
|
@@ -99,7 +99,7 @@ jasmine.HtmlReporter.ReporterView = function(dom) {
|
|
99
99
|
|
100
100
|
// passing specs UI
|
101
101
|
if (isUndefined(this.passedAlert)) {
|
102
|
-
this.passedAlert = this.createDom('span', {href:
|
102
|
+
this.passedAlert = this.createDom('span', { href: jasmine.HtmlReporter.sectionLink(), className: "passingAlert bar" });
|
103
103
|
}
|
104
104
|
this.passedAlert.innerHTML = "Passing " + specPluralizedFor(this.passedCount);
|
105
105
|
|
@@ -7,11 +7,11 @@ jasmine.HtmlReporter.SpecView = function(spec, dom, views) {
|
|
7
7
|
this.dom.symbolSummary.appendChild(this.symbol);
|
8
8
|
|
9
9
|
this.summary = this.createDom('div', { className: 'specSummary' },
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
10
|
+
this.createDom('a', {
|
11
|
+
className: 'description',
|
12
|
+
href: jasmine.HtmlReporter.sectionLink(this.spec.getFullName()),
|
13
|
+
title: this.spec.getFullName()
|
14
|
+
}, this.spec.description)
|
15
15
|
);
|
16
16
|
|
17
17
|
this.detail = this.createDom('div', { className: 'specDetail' },
|
@@ -4,7 +4,7 @@ jasmine.HtmlReporter.SuiteView = function(suite, dom, views) {
|
|
4
4
|
this.views = views;
|
5
5
|
|
6
6
|
this.element = this.createDom('div', { className: 'suite' },
|
7
|
-
|
7
|
+
this.createDom('a', { className: 'description', href: jasmine.HtmlReporter.sectionLink(this.suite.getFullName()) }, this.suite.description)
|
8
8
|
);
|
9
9
|
|
10
10
|
this.appendToSummary(this.suite, this.element);
|
@@ -136,167 +136,174 @@ body {
|
|
136
136
|
}
|
137
137
|
}
|
138
138
|
}
|
139
|
-
|
139
|
+
|
140
|
+
.exceptions {
|
141
|
+
color: #fff;
|
142
|
+
float: right;
|
143
|
+
margin-top: 5px;
|
144
|
+
margin-right: 5px;
|
145
|
+
}
|
146
|
+
|
140
147
|
//--- Alert ---//
|
141
|
-
|
148
|
+
|
142
149
|
.bar {
|
143
150
|
line-height: $line-height * 2;
|
144
151
|
font-size: $large-font-size;
|
145
|
-
|
152
|
+
|
146
153
|
display: block;
|
147
154
|
color: #eee;
|
148
155
|
}
|
149
|
-
|
156
|
+
|
150
157
|
.runningAlert {
|
151
158
|
background-color: $light-text-color;
|
152
159
|
}
|
153
|
-
|
160
|
+
|
154
161
|
.skippedAlert {
|
155
162
|
background-color: $feint-text-color;
|
156
|
-
|
163
|
+
|
157
164
|
&:first-child {
|
158
165
|
background-color: $text-color;
|
159
166
|
}
|
160
|
-
|
167
|
+
|
161
168
|
&:hover {
|
162
169
|
text-decoration: none;
|
163
170
|
color: white;
|
164
171
|
text-decoration: underline;
|
165
172
|
}
|
166
173
|
}
|
167
|
-
|
174
|
+
|
168
175
|
.passingAlert {
|
169
176
|
background-color: $light-passing-color;
|
170
|
-
|
177
|
+
|
171
178
|
&:first-child {
|
172
179
|
background-color: $passing-color;
|
173
180
|
}
|
174
181
|
}
|
175
|
-
|
182
|
+
|
176
183
|
.failingAlert {
|
177
184
|
background-color: $light-failing-color;
|
178
|
-
|
185
|
+
|
179
186
|
&:first-child {
|
180
187
|
background-color: $failing-color
|
181
188
|
}
|
182
189
|
}
|
183
190
|
|
184
191
|
//--- Results ---//
|
185
|
-
|
192
|
+
|
186
193
|
.results {
|
187
194
|
margin-top: $line-height;
|
188
195
|
}
|
189
196
|
|
190
197
|
//--- Results menu ---//
|
191
|
-
|
198
|
+
|
192
199
|
#details {
|
193
200
|
display: none;
|
194
201
|
}
|
195
|
-
|
202
|
+
|
196
203
|
.resultsMenu,
|
197
204
|
.resultsMenu a {
|
198
205
|
background-color: #fff;
|
199
206
|
color: $text-color;
|
200
207
|
}
|
201
|
-
|
208
|
+
|
202
209
|
&.showDetails {
|
203
|
-
|
210
|
+
|
204
211
|
.summaryMenuItem {
|
205
212
|
font-weight: normal;
|
206
213
|
text-decoration: inherit;
|
207
|
-
|
214
|
+
|
208
215
|
&:hover {
|
209
216
|
text-decoration: underline;
|
210
217
|
}
|
211
218
|
}
|
212
|
-
|
219
|
+
|
213
220
|
.detailsMenuItem {
|
214
221
|
font-weight: bold;
|
215
|
-
text-decoration: underline;
|
222
|
+
text-decoration: underline;
|
216
223
|
}
|
217
|
-
|
224
|
+
|
218
225
|
.summary {
|
219
226
|
display: none;
|
220
227
|
}
|
221
|
-
|
228
|
+
|
222
229
|
#details {
|
223
230
|
display: block;
|
224
231
|
}
|
225
232
|
}
|
226
|
-
|
227
|
-
.summaryMenuItem {
|
233
|
+
|
234
|
+
.summaryMenuItem {
|
228
235
|
font-weight: bold;
|
229
236
|
text-decoration: underline;
|
230
237
|
}
|
231
|
-
|
238
|
+
|
232
239
|
//--- Results summary ---//
|
233
|
-
|
240
|
+
|
234
241
|
.summary {
|
235
242
|
margin-top: $margin-unit;
|
236
|
-
|
243
|
+
|
237
244
|
.suite .suite, .specSummary {
|
238
245
|
margin-left: $margin-unit;
|
239
246
|
}
|
240
|
-
|
247
|
+
|
241
248
|
.specSummary {
|
242
249
|
&.passed a {
|
243
|
-
color: $passing-color;
|
250
|
+
color: $passing-color;
|
244
251
|
}
|
245
252
|
&.failed a {
|
246
253
|
color: $failing-color;
|
247
254
|
}
|
248
255
|
}
|
249
256
|
}
|
250
|
-
|
257
|
+
|
251
258
|
.description+.suite {
|
252
259
|
margin-top: 0;
|
253
260
|
}
|
254
|
-
|
261
|
+
|
255
262
|
.suite {
|
256
263
|
margin-top: $margin-unit;
|
257
|
-
|
264
|
+
|
258
265
|
a {
|
259
266
|
color: $text-color;
|
260
267
|
}
|
261
268
|
}
|
262
|
-
|
269
|
+
|
263
270
|
//--- Results details ---//
|
264
|
-
|
271
|
+
|
265
272
|
#details {
|
266
273
|
.specDetail {
|
267
274
|
margin-bottom: $line-height * 2;
|
268
|
-
|
275
|
+
|
269
276
|
.description {
|
270
277
|
//line-height: $line-height * 2;
|
271
278
|
display: block;
|
272
|
-
|
279
|
+
|
273
280
|
color: white;
|
274
281
|
background-color: $failing-color;
|
275
|
-
|
282
|
+
|
276
283
|
//font-size: $large-font-size;
|
277
284
|
}
|
278
285
|
}
|
279
286
|
}
|
280
|
-
|
287
|
+
|
281
288
|
.resultMessage {
|
282
289
|
padding-top: $line-height;
|
283
|
-
|
290
|
+
|
284
291
|
color: $text-color;
|
285
292
|
}
|
286
|
-
|
293
|
+
|
287
294
|
.resultMessage span.result {
|
288
295
|
display: block;
|
289
296
|
}
|
290
|
-
|
297
|
+
|
291
298
|
.stackTrace {
|
292
299
|
margin: 5px 0 0 0;
|
293
300
|
max-height: $line-height * 16;
|
294
301
|
overflow: auto;
|
295
302
|
line-height: 18px;
|
296
|
-
|
303
|
+
|
297
304
|
color: $light-text-color;
|
298
305
|
border: 1px solid #ddd;
|
299
306
|
background: white;
|
300
307
|
white-space: pre;
|
301
308
|
}
|
302
|
-
}
|
309
|
+
}
|
@@ -19,6 +19,7 @@ body { background-color: #eeeeee; padding: 0; margin: 5px; overflow-y: scroll; }
|
|
19
19
|
#HTMLReporter .symbolSummary li.skipped:before { color: #bababa; content: "\02022"; }
|
20
20
|
#HTMLReporter .symbolSummary li.pending { line-height: 11px; }
|
21
21
|
#HTMLReporter .symbolSummary li.pending:before { color: #aaaaaa; content: "-"; }
|
22
|
+
#HTMLReporter .exceptions { color: #fff; float: right; margin-top: 5px; margin-right: 5px; }
|
22
23
|
#HTMLReporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; }
|
23
24
|
#HTMLReporter .runningAlert { background-color: #666666; }
|
24
25
|
#HTMLReporter .skippedAlert { background-color: #aaaaaa; }
|
data/lib/jasmine/src/version.js
CHANGED
@@ -8,24 +8,21 @@ class JasmineDev < Thor
|
|
8
8
|
|
9
9
|
return unless pages_submodule_installed?
|
10
10
|
|
11
|
-
|
12
|
-
FileUtils.rm_r(pages_output) if File.exist?(pages_output)
|
11
|
+
project_lib_dir = File.join(JasmineDev.project_root, 'lib', 'jasmine-core')
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
end
|
13
|
+
pages_lib_dir = File.join(pages_dir, 'lib')
|
14
|
+
FileUtils.rm_r(pages_lib_dir) if File.exist?(pages_lib_dir)
|
17
15
|
|
18
|
-
|
16
|
+
['jasmine.js', 'jasmine-html.js', 'jasmine.css'].each do |file|
|
17
|
+
copy_file File.join(project_lib_dir, file), File.join(pages_lib_dir, file)
|
18
|
+
end
|
19
19
|
|
20
|
-
|
21
|
-
|
22
|
-
|
20
|
+
inside File.join(JasmineDev.project_root, 'pages', 'src') do
|
21
|
+
run_with_output "bundle exec rocco -l js introduction.js -t layout.mustache -o #{pages_dir}"
|
22
|
+
end
|
23
23
|
|
24
|
-
|
25
|
-
|
26
|
-
else
|
27
|
-
copy_file source_path, destination_path
|
28
|
-
end
|
24
|
+
inside pages_dir do
|
25
|
+
copy_file File.join(pages_dir,'introduction.html'), File.join(pages_dir,'index.html')
|
29
26
|
end
|
30
27
|
end
|
31
28
|
end
|
@@ -28,7 +28,8 @@ class JasmineDev < Thor
|
|
28
28
|
run_with_output "zip -rq ../jasmine-standalone-#{version_string}.zip ."
|
29
29
|
|
30
30
|
say "Copying Zip file to downloads directory", :yellow
|
31
|
-
run "
|
31
|
+
run "mkdir -p #{download_dir}"
|
32
|
+
run "cp ../jasmine-standalone-#{version_string}.zip #{download_dir}/"
|
32
33
|
end
|
33
34
|
|
34
35
|
end
|
@@ -46,4 +47,4 @@ class JasmineDev < Thor
|
|
46
47
|
File.join('lib', "jasmine-#{version_string}")
|
47
48
|
end
|
48
49
|
end
|
49
|
-
end
|
50
|
+
end
|
@@ -49,11 +49,11 @@ class JasmineDev < Thor
|
|
49
49
|
end
|
50
50
|
|
51
51
|
def example_source_tags
|
52
|
-
script_tags_for ['
|
52
|
+
script_tags_for ['src/Player.js', 'src/Song.js']
|
53
53
|
end
|
54
54
|
|
55
55
|
def example_spec_tags
|
56
|
-
script_tags_for ['
|
56
|
+
script_tags_for ['spec/SpecHelper.js', 'spec/PlayerSpec.js']
|
57
57
|
end
|
58
58
|
end
|
59
|
-
end
|
59
|
+
end
|
data/spec/runner_spec.rb
CHANGED
data/spec/suite_spec.rb
CHANGED
@@ -3,12 +3,15 @@ require 'spec_helper'
|
|
3
3
|
describe Evergreen::Suite do
|
4
4
|
subject { Evergreen::Suite.new }
|
5
5
|
|
6
|
-
its(:root) { should == File.expand_path('suite1', File.dirname(__FILE__)) }
|
7
|
-
|
8
6
|
describe '#get_spec' do
|
9
7
|
subject { Evergreen::Suite.new.get_spec('testing_spec.js') }
|
10
|
-
|
11
|
-
|
8
|
+
it 'has the correct name' do
|
9
|
+
expect(subject.name).to eq 'testing_spec.js'
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'should have the correct root' do
|
13
|
+
expect(subject.root).to eq File.expand_path('suite1', File.dirname(__FILE__))
|
14
|
+
end
|
12
15
|
end
|
13
16
|
|
14
17
|
describe '#specs' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: evergreen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-06-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: capybara
|
@@ -261,6 +261,8 @@ files:
|
|
261
261
|
- lib/jasmine/spec/html/MatchersHtmlSpec.js
|
262
262
|
- lib/jasmine/spec/html/PrettyPrintHtmlSpec.js
|
263
263
|
- lib/jasmine/spec/html/TrivialReporterSpec.js
|
264
|
+
- lib/jasmine/spec/jasmine.yml
|
265
|
+
- lib/jasmine/spec/jasmine_self_test_spec.rb
|
264
266
|
- lib/jasmine/spec/node_suite.js
|
265
267
|
- lib/jasmine/spec/runner.html
|
266
268
|
- lib/jasmine/spec/spec_helper.rb
|
@@ -384,4 +386,3 @@ signing_key:
|
|
384
386
|
specification_version: 3
|
385
387
|
summary: Run Jasmine JavaScript unit tests, integrate them into Ruby applications.
|
386
388
|
test_files: []
|
387
|
-
has_rdoc:
|