learn-test 3.0.0 → 3.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +6 -20
  3. data/README.md +2 -2
  4. data/learn-test.gemspec +6 -9
  5. data/lib/learn_test.rb +0 -1
  6. data/lib/learn_test/runner.rb +0 -1
  7. data/lib/learn_test/version.rb +1 -1
  8. metadata +10 -106
  9. data/lib/learn_test/strategies/jasmine.rb +0 -181
  10. data/lib/learn_test/strategies/jasmine/boot.js +0 -184
  11. data/lib/learn_test/strategies/jasmine/console.js +0 -161
  12. data/lib/learn_test/strategies/jasmine/formatters/jasmine2-junit.js +0 -199
  13. data/lib/learn_test/strategies/jasmine/helpers/ConsoleHelper.js +0 -12
  14. data/lib/learn_test/strategies/jasmine/helpers/ConsoleHelperNoColor.js +0 -12
  15. data/lib/learn_test/strategies/jasmine/initializer.rb +0 -27
  16. data/lib/learn_test/strategies/jasmine/jasmine-html.js +0 -360
  17. data/lib/learn_test/strategies/jasmine/jasmine-jquery.js +0 -813
  18. data/lib/learn_test/strategies/jasmine/jasmine.css +0 -56
  19. data/lib/learn_test/strategies/jasmine/jasmine.js +0 -2403
  20. data/lib/learn_test/strategies/jasmine/jasmine_favicon.png +0 -0
  21. data/lib/learn_test/strategies/jasmine/jquery-1.8.0.min.js +0 -2
  22. data/lib/learn_test/strategies/jasmine/jquery-ui-1.8.23.custom.min.js +0 -125
  23. data/lib/learn_test/strategies/jasmine/runners/SpecRunner.html +0 -35
  24. data/lib/learn_test/strategies/jasmine/runners/run-jasmine.js +0 -229
  25. data/lib/learn_test/strategies/jasmine/templates/SpecRunnerTemplate.html.erb +0 -35
  26. data/lib/learn_test/strategies/jasmine/templates/SpecRunnerTemplateNoColor.html.erb +0 -35
  27. data/lib/learn_test/strategies/jasmine/templates/requires.yml.example +0 -7
  28. data/lib/learn_test/strategies/jasmine/vendor/require.js +0 -2077
  29. data/spec/features/jasmine_jquery_fixtures_spec.rb +0 -10
  30. data/spec/fixtures/jasmine-jquery-fixtures/index.html +0 -10
  31. data/spec/fixtures/jasmine-jquery-fixtures/requires.yml +0 -4
  32. data/spec/fixtures/jasmine-jquery-fixtures/spec/jasmine-jquery-fixtures-spec.js +0 -11
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c948f2caf79d93517b52039c6eaafba297c3189cd293e3c818e3c95b4edb7cf4
4
- data.tar.gz: 97078125943000129c610efc4e123bf70e41e47a7976a04b357ce50061d9ba10
3
+ metadata.gz: 149b042a01fdbed0de7a09185b1213a849d5da475facf62626d53ae1a06fdfc2
4
+ data.tar.gz: 1c11380986cf728ad16c13797e8474a7ecba61b7ff46158476b4abd25e07ee22
5
5
  SHA512:
6
- metadata.gz: 0d82451677d20b13cf4da73e8b49c1e2fd0087bddc13b4062155c95f1a37a195133ca48a401bc4006450810770c40c162041e0e5d683c9a4957e1d5cbca8bfb9
7
- data.tar.gz: 1be5ba0a56c28565abea74b2550698db88920f51fe8cf8a684cc4a2100fd29cc5ec501ded4b4befb57dcae7ab29b67785f254bed4a257c8233fe938dd39a68cd
6
+ metadata.gz: e428a2dda9b27abfd7dd1ba9b1013d16fdf2e6fdeff1e042cfa0297f8c52092b52113ae033c809c04ef3120e9117b645bcec7029e4a265f8ba3997a8b1d1a4e1
7
+ data.tar.gz: fb2f086ea961c5da13cc6eb4709adec06d4ba6cd9da02fce7065707e6ccde2f1953220c724c8a9fda085a58681f8ff33c2313b5ccf40a9c90c80d8936d70315a
@@ -1,18 +1,14 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- learn-test (2.7.0)
4
+ learn-test (3.0.0)
5
5
  colorize (~> 0.8.1)
6
6
  crack (~> 0.4.3)
7
- faraday (~> 0.9)
8
- git (~> 1.2)
9
- jasmine (~> 2.6.0, >= 2.6.0)
10
- jasmine-core (< 2.99.1)
7
+ faraday (~> 1.0)
8
+ git (~> 1.7)
11
9
  netrc (~> 0.11.0)
12
- oj (~> 2.9)
13
- rainbow (= 1.99.2)
10
+ oj (~> 3.10)
14
11
  rspec (~> 3.0)
15
- webrick (~> 1.3.1, >= 1.3.1)
16
12
 
17
13
  GEM
18
14
  remote: https://rubygems.org/
@@ -21,22 +17,13 @@ GEM
21
17
  crack (0.4.3)
22
18
  safe_yaml (~> 1.0.0)
23
19
  diff-lcs (1.4.4)
24
- faraday (0.17.3)
20
+ faraday (1.0.1)
25
21
  multipart-post (>= 1.2, < 3)
26
22
  git (1.7.0)
27
23
  rchardet (~> 1.8)
28
- jasmine (2.6.0)
29
- jasmine-core (>= 2.6.0, < 3.0.0)
30
- phantomjs
31
- rack (>= 1.2.1)
32
- rake
33
- jasmine-core (2.99.0)
34
24
  multipart-post (2.1.1)
35
25
  netrc (0.11.0)
36
- oj (2.18.5)
37
- phantomjs (2.1.1.0)
38
- rack (2.2.3)
39
- rainbow (1.99.2)
26
+ oj (3.10.8)
40
27
  rake (13.0.1)
41
28
  rchardet (1.8.0)
42
29
  rspec (3.9.0)
@@ -55,7 +42,6 @@ GEM
55
42
  rspec_junit_formatter (0.4.1)
56
43
  rspec-core (>= 2, < 4, != 2.12.0)
57
44
  safe_yaml (1.0.5)
58
- webrick (1.3.1)
59
45
 
60
46
  PLATFORMS
61
47
  ruby
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # learn-test
2
2
 
3
- Runs RSpec, Jasmine, and Python Pytest test suites and uploads the results to Learn.
3
+ Runs RSpec, Mocha, and Python Pytest test suites and uploads the results to Learn.
4
4
 
5
5
  ## Installation
6
6
 
@@ -22,7 +22,7 @@ And then execute:
22
22
 
23
23
  ## Usage
24
24
 
25
- From within a directory with an RSpec, Jasmine, Karma, Mocha, or Python Pytest test suite, run:
25
+ From within a directory with an RSpec, Karma, Mocha, or Python Pytest test suite, run:
26
26
 
27
27
  ```
28
28
  $ learn-test
@@ -8,7 +8,7 @@ Gem::Specification.new do |spec|
8
8
  spec.version = LearnTest::VERSION
9
9
  spec.authors = ["Flatiron School"]
10
10
  spec.email = ["learn@flatironschool.com"]
11
- spec.summary = %q{Runs RSpec, Jasmine, Karma, Mocha, and Python Pytest Test builds and pushes JSON output to Learn.}
11
+ spec.summary = %q{Runs RSpec, Karma, Mocha, and Python Pytest Test builds and pushes JSON output to Learn.}
12
12
  spec.homepage = "https://github.com/learn-co/learn-test"
13
13
  spec.license = "MIT"
14
14
 
@@ -16,20 +16,17 @@ Gem::Specification.new do |spec|
16
16
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
17
17
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
18
18
  spec.require_paths = ["lib", "bin"]
19
- spec.required_ruby_version = '>= 2.3.0'
19
+ spec.required_ruby_version = '>= 2.5.0'
20
20
 
21
21
  spec.add_development_dependency "bundler", "~> 2.1.4"
22
22
  spec.add_development_dependency "rake", "~> 13.0.1"
23
23
  spec.add_development_dependency "rspec", "~> 3.8"
24
+
24
25
  spec.add_runtime_dependency "rspec", "~> 3.0"
25
26
  spec.add_runtime_dependency "netrc", "~> 0.11.0"
26
- spec.add_runtime_dependency "git", "~> 1.2"
27
- spec.add_runtime_dependency "oj", "~> 2.9"
28
- spec.add_runtime_dependency "faraday", "~> 0.9"
27
+ spec.add_runtime_dependency "git", "~> 1.7"
28
+ spec.add_runtime_dependency "oj", "~> 3.10"
29
+ spec.add_runtime_dependency "faraday", "~> 1.0"
29
30
  spec.add_runtime_dependency "crack", "~> 0.4.3"
30
- spec.add_runtime_dependency "jasmine", "~> 2.6.0", ">= 2.6.0"
31
- spec.add_runtime_dependency "jasmine-core", "< 2.99.1"
32
31
  spec.add_runtime_dependency "colorize", "~> 0.8.1"
33
- spec.add_runtime_dependency "webrick", "~> 1.3.1", ">= 1.3.1"
34
- spec.add_runtime_dependency "rainbow", "= 1.99.2"
35
32
  end
@@ -16,7 +16,6 @@ require_relative 'learn_test/dependency'
16
16
 
17
17
  require_relative 'learn_test/strategy'
18
18
  require_relative 'learn_test/js_strategy'
19
- require_relative 'learn_test/strategies/jasmine'
20
19
  require_relative 'learn_test/strategies/rspec'
21
20
  require_relative 'learn_test/strategies/karma'
22
21
  require_relative 'learn_test/strategies/protractor'
@@ -50,7 +50,6 @@ module LearnTest
50
50
  def strategies
51
51
  [
52
52
  LearnTest::Strategies::CSharpNunit,
53
- LearnTest::Strategies::Jasmine,
54
53
  LearnTest::Strategies::Rspec,
55
54
  LearnTest::Strategies::Karma,
56
55
  LearnTest::Strategies::Protractor,
@@ -1,3 +1,3 @@
1
1
  module LearnTest
2
- VERSION = '3.0.0'
2
+ VERSION = '3.1.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: learn-test
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flatiron School
@@ -86,42 +86,42 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '1.2'
89
+ version: '1.7'
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '1.2'
96
+ version: '1.7'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: oj
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2.9'
103
+ version: '3.10'
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '2.9'
110
+ version: '3.10'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: faraday
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: '0.9'
117
+ version: '1.0'
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: '0.9'
124
+ version: '1.0'
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: crack
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -136,40 +136,6 @@ dependencies:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 0.4.3
139
- - !ruby/object:Gem::Dependency
140
- name: jasmine
141
- requirement: !ruby/object:Gem::Requirement
142
- requirements:
143
- - - "~>"
144
- - !ruby/object:Gem::Version
145
- version: 2.6.0
146
- - - ">="
147
- - !ruby/object:Gem::Version
148
- version: 2.6.0
149
- type: :runtime
150
- prerelease: false
151
- version_requirements: !ruby/object:Gem::Requirement
152
- requirements:
153
- - - "~>"
154
- - !ruby/object:Gem::Version
155
- version: 2.6.0
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- version: 2.6.0
159
- - !ruby/object:Gem::Dependency
160
- name: jasmine-core
161
- requirement: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - "<"
164
- - !ruby/object:Gem::Version
165
- version: 2.99.1
166
- type: :runtime
167
- prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - "<"
171
- - !ruby/object:Gem::Version
172
- version: 2.99.1
173
139
  - !ruby/object:Gem::Dependency
174
140
  name: colorize
175
141
  requirement: !ruby/object:Gem::Requirement
@@ -184,40 +150,6 @@ dependencies:
184
150
  - - "~>"
185
151
  - !ruby/object:Gem::Version
186
152
  version: 0.8.1
187
- - !ruby/object:Gem::Dependency
188
- name: webrick
189
- requirement: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - "~>"
192
- - !ruby/object:Gem::Version
193
- version: 1.3.1
194
- - - ">="
195
- - !ruby/object:Gem::Version
196
- version: 1.3.1
197
- type: :runtime
198
- prerelease: false
199
- version_requirements: !ruby/object:Gem::Requirement
200
- requirements:
201
- - - "~>"
202
- - !ruby/object:Gem::Version
203
- version: 1.3.1
204
- - - ">="
205
- - !ruby/object:Gem::Version
206
- version: 1.3.1
207
- - !ruby/object:Gem::Dependency
208
- name: rainbow
209
- requirement: !ruby/object:Gem::Requirement
210
- requirements:
211
- - - '='
212
- - !ruby/object:Gem::Version
213
- version: 1.99.2
214
- type: :runtime
215
- prerelease: false
216
- version_requirements: !ruby/object:Gem::Requirement
217
- requirements:
218
- - - '='
219
- - !ruby/object:Gem::Version
220
- version: 1.99.2
221
153
  description:
222
154
  email:
223
155
  - learn@flatironschool.com
@@ -257,26 +189,6 @@ files:
257
189
  - lib/learn_test/reporter.rb
258
190
  - lib/learn_test/runner.rb
259
191
  - lib/learn_test/strategies/csharp_nunit.rb
260
- - lib/learn_test/strategies/jasmine.rb
261
- - lib/learn_test/strategies/jasmine/boot.js
262
- - lib/learn_test/strategies/jasmine/console.js
263
- - lib/learn_test/strategies/jasmine/formatters/jasmine2-junit.js
264
- - lib/learn_test/strategies/jasmine/helpers/ConsoleHelper.js
265
- - lib/learn_test/strategies/jasmine/helpers/ConsoleHelperNoColor.js
266
- - lib/learn_test/strategies/jasmine/initializer.rb
267
- - lib/learn_test/strategies/jasmine/jasmine-html.js
268
- - lib/learn_test/strategies/jasmine/jasmine-jquery.js
269
- - lib/learn_test/strategies/jasmine/jasmine.css
270
- - lib/learn_test/strategies/jasmine/jasmine.js
271
- - lib/learn_test/strategies/jasmine/jasmine_favicon.png
272
- - lib/learn_test/strategies/jasmine/jquery-1.8.0.min.js
273
- - lib/learn_test/strategies/jasmine/jquery-ui-1.8.23.custom.min.js
274
- - lib/learn_test/strategies/jasmine/runners/SpecRunner.html
275
- - lib/learn_test/strategies/jasmine/runners/run-jasmine.js
276
- - lib/learn_test/strategies/jasmine/templates/SpecRunnerTemplate.html.erb
277
- - lib/learn_test/strategies/jasmine/templates/SpecRunnerTemplateNoColor.html.erb
278
- - lib/learn_test/strategies/jasmine/templates/requires.yml.example
279
- - lib/learn_test/strategies/jasmine/vendor/require.js
280
192
  - lib/learn_test/strategies/java_junit.rb
281
193
  - lib/learn_test/strategies/karma.rb
282
194
  - lib/learn_test/strategies/karma/karma.conf.js
@@ -294,12 +206,8 @@ files:
294
206
  - node_modules/karma-json-reporter/README.md
295
207
  - node_modules/karma-json-reporter/index.js
296
208
  - node_modules/karma-json-reporter/package.json
297
- - spec/features/jasmine_jquery_fixtures_spec.rb
298
209
  - spec/features/rspec_unit_spec.rb
299
210
  - spec/fixtures/.netrc
300
- - spec/fixtures/jasmine-jquery-fixtures/index.html
301
- - spec/fixtures/jasmine-jquery-fixtures/requires.yml
302
- - spec/fixtures/jasmine-jquery-fixtures/spec/jasmine-jquery-fixtures-spec.js
303
211
  - spec/fixtures/rspec-unit-spec/.rspec
304
212
  - spec/fixtures/rspec-unit-spec/lib/dog.rb
305
213
  - spec/fixtures/rspec-unit-spec/spec/dog_spec.rb
@@ -322,7 +230,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
322
230
  requirements:
323
231
  - - ">="
324
232
  - !ruby/object:Gem::Version
325
- version: 2.3.0
233
+ version: 2.5.0
326
234
  required_rubygems_version: !ruby/object:Gem::Requirement
327
235
  requirements:
328
236
  - - ">="
@@ -332,15 +240,11 @@ requirements: []
332
240
  rubygems_version: 3.1.2
333
241
  signing_key:
334
242
  specification_version: 4
335
- summary: Runs RSpec, Jasmine, Karma, Mocha, and Python Pytest Test builds and pushes
336
- JSON output to Learn.
243
+ summary: Runs RSpec, Karma, Mocha, and Python Pytest Test builds and pushes JSON output
244
+ to Learn.
337
245
  test_files:
338
- - spec/features/jasmine_jquery_fixtures_spec.rb
339
246
  - spec/features/rspec_unit_spec.rb
340
247
  - spec/fixtures/.netrc
341
- - spec/fixtures/jasmine-jquery-fixtures/index.html
342
- - spec/fixtures/jasmine-jquery-fixtures/requires.yml
343
- - spec/fixtures/jasmine-jquery-fixtures/spec/jasmine-jquery-fixtures-spec.js
344
248
  - spec/fixtures/rspec-unit-spec/.rspec
345
249
  - spec/fixtures/rspec-unit-spec/lib/dog.rb
346
250
  - spec/fixtures/rspec-unit-spec/spec/dog_spec.rb
@@ -1,181 +0,0 @@
1
- require_relative 'jasmine/initializer'
2
-
3
- module LearnTest
4
- module Strategies
5
- class Jasmine < LearnTest::Strategy
6
- def service_endpoint
7
- '/e/flatiron_jasmine'
8
- end
9
-
10
- def detect
11
- runner.files.include?('requires.yml')
12
- end
13
-
14
- def check_dependencies
15
- Dependencies::PhantomJS.new.execute unless options[:skip]
16
- end
17
-
18
- def run
19
- require 'crack'
20
- require 'erb'
21
- require 'yaml'
22
- require 'json'
23
-
24
- if options[:init]
25
- LearnTest::Jasmine::Initializer.run
26
- else
27
- set_up_runner
28
- run_jasmine
29
- make_json
30
- end
31
- end
32
-
33
- def results
34
- @results ||= {
35
- username: username,
36
- github_user_id: user_id,
37
- learn_oauth_token: learn_oauth_token,
38
- repo_name: runner.repo,
39
- build: {
40
- test_suite: [{
41
- framework: 'jasmine',
42
- formatted_output: [],
43
- duration: 0.0
44
- }]
45
- },
46
- tests: 0,
47
- errors: 0,
48
- failures: 0
49
- }
50
- end
51
-
52
- def push_results?
53
- !local? && !browser?
54
- end
55
-
56
- def cleanup
57
- test_xml_files.each do |file|
58
- FileUtils.rm(file)
59
- end
60
-
61
- FileUtils.rm_rf("#{Dir.pwd}/tmpTestSupport") if !browser?
62
- end
63
-
64
- def username
65
- options[:skip] ? "jasmine-flatiron" : super
66
- end
67
-
68
- def user_id
69
- options[:skip] ? "none" : super
70
- end
71
-
72
- def learn_oauth_token
73
- options[:skip] ? nil : super
74
- end
75
-
76
- private
77
-
78
- def set_up_runner
79
- template = ERB.new(File.read("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine/templates')}/SpecRunnerTemplate#{color_option}.html.erb"))
80
-
81
- yaml = YAML.load(File.read('requires.yml'))["javascripts"]
82
-
83
- required_files = yaml["files"]
84
- required_specs = yaml["specs"]
85
-
86
- @javascripts = []
87
- @javascripts << (required_files && required_files.map {|f| "#{test_path}/#{f}"})
88
- @javascripts << (required_specs && required_specs.map {|f| "#{test_path}/#{f}"} )
89
- @javascripts.flatten!.compact!
90
-
91
- copy_support_files
92
-
93
- File.open("#{Dir.pwd}/tmpTestSupport/SpecRunner#{color_option}.html", "w+") do |f|
94
- f << template.result(binding)
95
- end
96
- end
97
-
98
- def copy_support_files
99
- FileUtils.mkdir("#{Dir.pwd}/tmpTestSupport") if !File.exist?("#{Dir.pwd}/tmpTestSupport")
100
-
101
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine')}/jasmine.js","#{Dir.pwd}/tmpTestSupport/")
102
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine')}/jasmine-html.js","#{Dir.pwd}/tmpTestSupport/")
103
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine')}/console.js","#{Dir.pwd}/tmpTestSupport/")
104
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine')}/boot.js","#{Dir.pwd}/tmpTestSupport/")
105
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine')}/jquery-1.8.0.min.js","#{Dir.pwd}/tmpTestSupport/")
106
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine')}/jquery-ui-1.8.23.custom.min.js","#{Dir.pwd}/tmpTestSupport/")
107
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine')}/jasmine-jquery.js","#{Dir.pwd}/tmpTestSupport/")
108
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine')}/jasmine.css","#{Dir.pwd}/tmpTestSupport/")
109
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine')}/jasmine_favicon.png","#{Dir.pwd}/tmpTestSupport/")
110
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine/formatters')}/jasmine2-junit.js","#{Dir.pwd}/tmpTestSupport/")
111
- FileUtils.cp("#{LearnTest::FileFinder.location_to_dir('strategies/jasmine/helpers')}/ConsoleHelper.js","#{Dir.pwd}/tmpTestSupport/")
112
- end
113
-
114
- def run_jasmine
115
- if browser?
116
- chrome_on_mac_path ="\"/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome\""
117
- chrome_on_linux_path = "google-chrome"
118
- jasmine_lab_path_for_chrome = "\"#{Dir.pwd}/tmpTestSupport/SpecRunner#{color_option}.html\" --allow-file-access-from-files"
119
-
120
- if RUBY_PLATFORM.include?("linux")
121
- system("#{chrome_on_linux_path} #{jasmine_lab_path_for_chrome}")
122
- else
123
- system("#{chrome_on_mac_path} #{jasmine_lab_path_for_chrome}")
124
- end
125
- else
126
- system("phantomjs #{LearnTest::FileFinder.location_to_dir('strategies/jasmine/runners')}/run-jasmine.js #{Dir.pwd}/tmpTestSupport/SpecRunner#{color_option}.html")
127
- end
128
- end
129
-
130
- def test_xml_files
131
- Dir.entries(test_path).keep_if { |f| f.match(/TEST/) }
132
- end
133
-
134
- def make_json
135
- if local? || !browser?
136
- test_xml_files.each do |f|
137
- parsed = JSON.parse(Crack::XML.parse(File.read(f)).to_json)["testsuites"]["testsuite"]
138
- results[:build][:test_suite][0][:formatted_output] << parsed["testcase"]
139
- results[:build][:test_suite][0][:formatted_output].flatten!
140
- results[:tests] += parsed["tests"].to_i
141
- results[:errors] += parsed["errors"].to_i
142
- results[:failures] += parsed["failures"].to_i
143
- results[:build][:test_suite][0][:duration] += parsed["time"].to_f
144
- end
145
- results[:passing_count] = results[:tests] - results[:failures] - results[:errors]
146
- end
147
-
148
- if out || runner.keep_results?
149
- output_file = out ? out : '.results.json'
150
- write_json_output(output_file: output_file)
151
- end
152
- end
153
-
154
- def write_json_output(output_file:)
155
- File.open(output_file, 'w+') do |f|
156
- f.write(results.to_json)
157
- end
158
- end
159
-
160
- def color_option
161
- !options[:color] ? '' : 'NoColor'
162
- end
163
-
164
- def local?
165
- !!options[:local]
166
- end
167
-
168
- def browser?
169
- !!options[:browser]
170
- end
171
-
172
- def out
173
- options[:out]
174
- end
175
-
176
- def test_path
177
- @test_path ||= FileUtils.pwd
178
- end
179
- end
180
- end
181
- end