evergreen 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. data/README.rdoc +3 -3
  2. data/lib/evergreen/resources/evergreen.css +4 -0
  3. data/lib/evergreen/server.rb +1 -1
  4. data/lib/evergreen/version.rb +1 -1
  5. data/lib/jasmine/Gemfile +8 -0
  6. data/lib/jasmine/README.markdown +2 -1
  7. data/lib/jasmine/Rakefile +37 -1
  8. data/lib/jasmine/jasmine-core.gemspec +4 -1
  9. data/lib/jasmine/lib/jasmine-core/jasmine-html.js +77 -12
  10. data/lib/jasmine/lib/jasmine-core/jasmine.css +1 -0
  11. data/lib/jasmine/lib/jasmine-core/jasmine.js +107 -36
  12. data/lib/jasmine/lib/jasmine-core/version.rb +1 -1
  13. data/lib/jasmine/spec/core/ExceptionsSpec.js +113 -87
  14. data/lib/jasmine/spec/core/MatchersSpec.js +48 -2
  15. data/lib/jasmine/spec/core/PrettyPrintSpec.js +30 -0
  16. data/lib/jasmine/spec/core/RunnerSpec.js +13 -0
  17. data/lib/jasmine/spec/core/SpecRunningSpec.js +117 -84
  18. data/lib/jasmine/spec/core/SpySpec.js +15 -0
  19. data/lib/jasmine/spec/jasmine.yml +39 -0
  20. data/lib/jasmine/spec/jasmine_self_test_spec.rb +23 -0
  21. data/lib/jasmine/spec/tasks/build_github_pages_spec.rb +14 -23
  22. data/lib/jasmine/src/core/Block.js +9 -4
  23. data/lib/jasmine/src/core/Env.js +23 -0
  24. data/lib/jasmine/src/core/Matchers.js +19 -15
  25. data/lib/jasmine/src/core/PrettyPrinter.js +11 -4
  26. data/lib/jasmine/src/core/Queue.js +23 -4
  27. data/lib/jasmine/src/core/Spec.js +4 -4
  28. data/lib/jasmine/src/core/base.js +15 -2
  29. data/lib/jasmine/src/html/HtmlReporter.js +67 -3
  30. data/lib/jasmine/src/html/ReporterView.js +3 -3
  31. data/lib/jasmine/src/html/SpecView.js +5 -5
  32. data/lib/jasmine/src/html/SuiteView.js +1 -1
  33. data/lib/jasmine/src/html/_HTMLReporter.scss +49 -42
  34. data/lib/jasmine/src/html/jasmine.css +1 -0
  35. data/lib/jasmine/src/version.js +3 -3
  36. data/lib/jasmine/src/version.json +2 -2
  37. data/lib/jasmine/tasks/jasmine_dev/build_github_pages.rb +11 -14
  38. data/lib/jasmine/tasks/jasmine_dev/build_standalone_distribution.rb +3 -2
  39. data/lib/jasmine/tasks/jasmine_dev/build_standalone_runner.rb +3 -3
  40. data/spec/runner_spec.rb +0 -2
  41. data/spec/suite_spec.rb +7 -4
  42. 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: "?", className: "runningAlert bar"});
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: "?", className: "skippedAlert bar"});
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: "?", className: "passingAlert bar"});
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
- this.createDom('a', {
11
- className: 'description',
12
- href: '?spec=' + encodeURIComponent(this.spec.getFullName()),
13
- title: this.spec.getFullName()
14
- }, this.spec.description)
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
- this.createDom('a', { className: 'description', href: '?spec=' + encodeURIComponent(this.suite.getFullName()) }, this.suite.description)
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; }
@@ -1,7 +1,7 @@
1
1
 
2
2
  jasmine.version_= {
3
3
  "major": 1,
4
- "minor": 2,
5
- "build": 0,
6
- "revision": 1337006083
4
+ "minor": 3,
5
+ "build": 1,
6
+ "revision": 1354556913
7
7
  };
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "major": 1,
3
- "minor": 2,
4
- "build": 0
3
+ "minor": 3,
4
+ "build": 1
5
5
  }
@@ -8,24 +8,21 @@ class JasmineDev < Thor
8
8
 
9
9
  return unless pages_submodule_installed?
10
10
 
11
- pages_output = File.join(pages_dir, 'pages_output')
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
- inside File.join('pages', 'pages_source') do
15
- run_with_output "frank export #{pages_output}", :capture => true
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
- pages_files = Dir.chdir(pages_output) { Dir.glob('*') }
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
- pages_files.each do |file|
21
- source_path = File.join(pages_output, file)
22
- destination_path = File.join(pages_dir, file)
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
- if File.directory?(source_path)
25
- directory source_path, destination_path
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 "cp ../jasmine-standalone-#{version_string}.zip #{download_dir}"
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 ['spec/SpecHelper.js', 'spec/PlayerSpec.js']
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 ['src/Player.js', 'src/Song.js']
56
+ script_tags_for ['spec/SpecHelper.js', 'spec/PlayerSpec.js']
57
57
  end
58
58
  end
59
- end
59
+ end
@@ -10,8 +10,6 @@ describe Evergreen::Runner do
10
10
 
11
11
  describe 'the buffer' do
12
12
  subject { buffer.rewind; buffer.read }
13
-
14
- it { should include('.F..') }
15
13
  it { should include("Expected 'bar' to equal 'noooooo'") }
16
14
  it { should include("18 examples, 3 failures") }
17
15
  end
@@ -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
- its(:name) { should == 'testing_spec.js' }
11
- its(:root) { should == File.expand_path('suite1', File.dirname(__FILE__)) }
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.0
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-01-27 00:00:00.000000000 Z
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: