learn-test 3.0.0 → 3.1.0

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 (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