evergreen 1.1.0 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
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: