teaspoon 0.7.9 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (163) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +382 -260
  3. data/app/assets/javascripts/teaspoon-angular.js +108 -26241
  4. data/app/assets/javascripts/teaspoon-jasmine.js +103 -2642
  5. data/app/assets/javascripts/teaspoon-mocha.js +109 -5416
  6. data/app/assets/javascripts/teaspoon-qunit.js +107 -2255
  7. data/app/assets/javascripts/teaspoon-teaspoon.js +0 -1
  8. data/app/assets/javascripts/teaspoon/angular.coffee +3 -1
  9. data/app/assets/javascripts/teaspoon/base/hook.coffee +21 -0
  10. data/app/assets/javascripts/teaspoon/base/reporters/html.coffee +26 -14
  11. data/app/assets/javascripts/teaspoon/base/reporters/html/progress_view.coffee +1 -1
  12. data/app/assets/javascripts/teaspoon/base/reporters/html/template.coffee +3 -3
  13. data/app/assets/javascripts/teaspoon/base/teaspoon.coffee +10 -1
  14. data/app/assets/javascripts/teaspoon/jasmine.coffee +3 -1
  15. data/app/assets/javascripts/teaspoon/mocha.coffee +3 -1
  16. data/app/assets/javascripts/teaspoon/mocha/reporters/html.coffee +1 -1
  17. data/app/assets/javascripts/teaspoon/qunit.coffee +3 -1
  18. data/app/assets/javascripts/teaspoon/qunit/reporters/html.coffee +1 -1
  19. data/app/assets/javascripts/teaspoon/teaspoon.coffee +0 -1
  20. data/app/assets/stylesheets/teaspoon.css +12 -8
  21. data/app/controllers/teaspoon/suite_controller.rb +32 -0
  22. data/app/views/teaspoon/suite/_body.html.erb +0 -0
  23. data/app/views/teaspoon/suite/_boot.html.erb +4 -0
  24. data/app/views/teaspoon/suite/_boot_require_js.html.erb +19 -0
  25. data/app/views/teaspoon/{spec/suites.html.erb → suite/index.html.erb} +6 -7
  26. data/app/views/teaspoon/suite/show.html.erb +19 -0
  27. data/bin/teaspoon +1 -1
  28. data/config/routes.rb +14 -4
  29. data/lib/generators/teaspoon/install/POST_INSTALL +2 -2
  30. data/lib/generators/teaspoon/install/install_generator.rb +22 -11
  31. data/lib/generators/teaspoon/install/templates/_body.html.erb +0 -0
  32. data/lib/generators/teaspoon/install/templates/_boot.html.erb +4 -0
  33. data/lib/generators/teaspoon/install/templates/jasmine/env.rb +11 -0
  34. data/lib/generators/teaspoon/install/templates/jasmine/env_comments.rb +182 -0
  35. data/lib/generators/teaspoon/install/templates/jasmine/spec_helper.coffee +8 -6
  36. data/lib/generators/teaspoon/install/templates/jasmine/spec_helper.js +8 -7
  37. data/lib/generators/teaspoon/install/templates/mocha/env.rb +11 -0
  38. data/lib/generators/teaspoon/install/templates/mocha/env_comments.rb +182 -0
  39. data/lib/generators/teaspoon/install/templates/mocha/spec_helper.coffee +13 -13
  40. data/lib/generators/teaspoon/install/templates/mocha/spec_helper.js +13 -13
  41. data/lib/generators/teaspoon/install/templates/qunit/env.rb +11 -0
  42. data/lib/generators/teaspoon/install/templates/qunit/env_comments.rb +182 -0
  43. data/lib/generators/teaspoon/install/templates/qunit/test_helper.coffee +6 -5
  44. data/lib/generators/teaspoon/install/templates/qunit/test_helper.js +6 -5
  45. data/lib/tasks/teaspoon.rake +9 -2
  46. data/lib/teaspoon.rb +4 -6
  47. data/lib/teaspoon/command_line.rb +116 -134
  48. data/lib/teaspoon/configuration.rb +144 -66
  49. data/lib/teaspoon/console.rb +70 -37
  50. data/lib/teaspoon/coverage.rb +42 -15
  51. data/lib/teaspoon/deprecated.rb +65 -0
  52. data/lib/teaspoon/drivers/base.rb +10 -0
  53. data/lib/teaspoon/drivers/phantomjs/runner.js +9 -11
  54. data/lib/teaspoon/drivers/phantomjs_driver.rb +21 -21
  55. data/lib/teaspoon/drivers/selenium_driver.rb +32 -13
  56. data/lib/teaspoon/engine.rb +32 -12
  57. data/lib/teaspoon/environment.rb +16 -12
  58. data/lib/teaspoon/exceptions.rb +41 -5
  59. data/lib/teaspoon/exporter.rb +52 -0
  60. data/lib/teaspoon/formatters/base.rb +171 -0
  61. data/lib/teaspoon/formatters/clean_formatter.rb +2 -4
  62. data/lib/teaspoon/formatters/documentation_formatter.rb +60 -0
  63. data/lib/teaspoon/formatters/dot_formatter.rb +12 -90
  64. data/lib/teaspoon/formatters/json_formatter.rb +36 -0
  65. data/lib/teaspoon/formatters/junit_formatter.rb +51 -32
  66. data/lib/teaspoon/formatters/modules/report_module.rb +76 -0
  67. data/lib/teaspoon/formatters/pride_formatter.rb +23 -27
  68. data/lib/teaspoon/formatters/snowday_formatter.rb +7 -11
  69. data/lib/teaspoon/formatters/swayze_or_oprah_formatter.rb +88 -64
  70. data/lib/teaspoon/formatters/tap_formatter.rb +18 -27
  71. data/lib/teaspoon/formatters/tap_y_formatter.rb +35 -45
  72. data/lib/teaspoon/formatters/teamcity_formatter.rb +69 -31
  73. data/lib/teaspoon/instrumentation.rb +33 -33
  74. data/lib/teaspoon/result.rb +2 -1
  75. data/lib/teaspoon/runner.rb +40 -28
  76. data/lib/teaspoon/server.rb +23 -25
  77. data/lib/teaspoon/suite.rb +52 -72
  78. data/lib/teaspoon/utility.rb +3 -14
  79. data/lib/teaspoon/version.rb +1 -1
  80. data/spec/dummy/app/assets/javascripts/integration/integration_spec.coffee +3 -0
  81. data/spec/dummy/app/assets/javascripts/integration/spec_helper.coffee +2 -0
  82. data/spec/dummy/config/application.rb +3 -0
  83. data/spec/features/console_reporter_spec.rb +48 -18
  84. data/spec/features/hooks_spec.rb +23 -41
  85. data/spec/features/html_reporter_spec.rb +38 -21
  86. data/spec/features/install_generator_spec.rb +34 -20
  87. data/spec/features/instrumentation_spec.rb +3 -2
  88. data/spec/fixtures/coverage.json +243 -0
  89. data/spec/javascripts/fixtures/_body.html.erb +1 -0
  90. data/spec/javascripts/jasmine_helper.coffee +1 -1
  91. data/spec/javascripts/teaspoon/base/fixture_spec.coffee +4 -4
  92. data/spec/javascripts/teaspoon/base/reporters/html_spec.coffee +9 -10
  93. data/spec/javascripts/teaspoon/mocha/reporters/html_mspec.coffee +0 -6
  94. data/spec/javascripts/teaspoon/phantomjs/runner_spec.coffee +5 -6
  95. data/spec/javascripts/turbolinks_helper.coffee +1 -1
  96. data/spec/spec_helper.rb +3 -4
  97. data/spec/teaspoon/command_line_spec.rb +139 -23
  98. data/spec/teaspoon/configuration_spec.rb +164 -46
  99. data/spec/teaspoon/console_spec.rb +142 -47
  100. data/spec/teaspoon/coverage_spec.rb +98 -28
  101. data/spec/teaspoon/drivers/base_spec.rb +5 -0
  102. data/spec/teaspoon/drivers/phantomjs_driver_spec.rb +32 -14
  103. data/spec/teaspoon/drivers/selenium_driver_spec.rb +32 -24
  104. data/spec/teaspoon/engine_spec.rb +8 -5
  105. data/spec/teaspoon/environment_spec.rb +56 -33
  106. data/spec/teaspoon/exceptions_spec.rb +57 -0
  107. data/spec/teaspoon/exporter_spec.rb +96 -0
  108. data/spec/teaspoon/formatters/base_spec.rb +259 -0
  109. data/spec/teaspoon/formatters/clean_formatter_spec.rb +37 -0
  110. data/spec/teaspoon/formatters/documentation_formatter_spec.rb +127 -0
  111. data/spec/teaspoon/formatters/dot_formatter_spec.rb +52 -56
  112. data/spec/teaspoon/formatters/json_formatter_spec.rb +77 -0
  113. data/spec/teaspoon/formatters/junit_formatter_spec.rb +72 -35
  114. data/spec/teaspoon/formatters/pride_formatter_spec.rb +37 -0
  115. data/spec/teaspoon/formatters/snowday_formatter_spec.rb +35 -0
  116. data/spec/teaspoon/formatters/tap_formatter_spec.rb +29 -81
  117. data/spec/teaspoon/formatters/tap_y_formatter_spec.rb +31 -141
  118. data/spec/teaspoon/formatters/teamcity_formatter_spec.rb +99 -42
  119. data/spec/teaspoon/instrumentation_spec.rb +44 -44
  120. data/spec/teaspoon/result_spec.rb +37 -0
  121. data/spec/teaspoon/runner_spec.rb +70 -59
  122. data/spec/teaspoon/server_spec.rb +34 -52
  123. data/spec/teaspoon/suite_spec.rb +42 -188
  124. data/spec/teaspoon_env.rb +39 -28
  125. data/vendor/assets/javascripts/{angular-scenario-1.0.5.js → angular/1.0.5.js} +0 -0
  126. data/vendor/assets/javascripts/{angular-scenario-1.0.5.MIT-LICENSE → angular/MIT-LICENSE} +0 -0
  127. data/vendor/assets/javascripts/{jasmine-1.3.1.js → jasmine/1.3.1.js} +0 -0
  128. data/vendor/assets/javascripts/jasmine/2.0.0.js +2412 -0
  129. data/vendor/assets/javascripts/{jasmine-1.3.1.MIT.LICENSE → jasmine/MIT.LICENSE} +0 -0
  130. data/vendor/assets/javascripts/{mocha-1.10.0.js → mocha/1.10.0.js} +1 -0
  131. data/vendor/assets/javascripts/mocha/1.17.1.js +5813 -0
  132. data/vendor/assets/javascripts/{mocha-1.10.1.MIT.LICENSE → mocha/MIT.LICENSE} +0 -0
  133. data/vendor/assets/javascripts/{qunit-1.12.0.js → qunit/1.12.0.js} +1 -1
  134. data/vendor/assets/javascripts/qunit/1.14.0.js +2288 -0
  135. data/vendor/assets/javascripts/{qunit-1.12.0.MIT.LICENSE → qunit/MIT.LICENSE} +0 -0
  136. data/vendor/assets/javascripts/support/chai.js +827 -385
  137. data/vendor/assets/javascripts/support/jasmine-jquery-1.7.0.js +720 -0
  138. data/vendor/assets/javascripts/support/jasmine-jquery-2.0.0.js +812 -0
  139. data/vendor/assets/javascripts/support/sinon-chai.js +17 -0
  140. data/vendor/assets/javascripts/support/sinon.js +1138 -643
  141. metadata +57 -36
  142. data/app/controllers/teaspoon/spec_controller.rb +0 -38
  143. data/app/helpers/teaspoon/spec_helper.rb +0 -36
  144. data/app/views/teaspoon/spec/_require_js.html.erb +0 -21
  145. data/app/views/teaspoon/spec/_standard.html.erb +0 -4
  146. data/app/views/teaspoon/spec/runner.html.erb +0 -19
  147. data/lib/generators/teaspoon/install/templates/env.rb +0 -38
  148. data/lib/generators/teaspoon/install/templates/jasmine/initializer.rb +0 -64
  149. data/lib/generators/teaspoon/install/templates/mocha/initializer.rb +0 -64
  150. data/lib/generators/teaspoon/install/templates/qunit/initializer.rb +0 -64
  151. data/lib/teaspoon/check_coverage.rb +0 -33
  152. data/lib/teaspoon/drivers/base_driver.rb +0 -10
  153. data/lib/teaspoon/exception_handling.rb +0 -18
  154. data/lib/teaspoon/formatters/base_formatter.rb +0 -63
  155. data/spec/dummy/config/initializers/teaspoon.rb +0 -41
  156. data/spec/teaspoon/check_coverage_spec.rb +0 -50
  157. data/spec/teaspoon/formatters/base_formatter_spec.rb +0 -45
  158. data/vendor/assets/javascripts/support/chai.MIT.LICENSE +0 -22
  159. data/vendor/assets/javascripts/support/expect.MIT.LICENSE +0 -22
  160. data/vendor/assets/javascripts/support/jasmine-jquery.MIT.LICENSE +0 -20
  161. data/vendor/assets/javascripts/support/jasmine-jquery.js +0 -659
  162. data/vendor/assets/javascripts/support/sinon-chai.MIT-ISH.LICENSE +0 -13
  163. data/vendor/assets/javascripts/support/sinon.BSD.LICENSE +0 -27
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teaspoon
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.9
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jejacks0n
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-01-23 00:00:00.000000000 Z
13
+ date: 2014-04-19 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: railties
@@ -45,6 +45,7 @@ files:
45
45
  - app/assets/javascripts/teaspoon/angular/reporters/html.coffee
46
46
  - app/assets/javascripts/teaspoon/angular.coffee
47
47
  - app/assets/javascripts/teaspoon/base/fixture.coffee
48
+ - app/assets/javascripts/teaspoon/base/hook.coffee
48
49
  - app/assets/javascripts/teaspoon/base/reporters/console.coffee
49
50
  - app/assets/javascripts/teaspoon/base/reporters/html/base_view.coffee
50
51
  - app/assets/javascripts/teaspoon/base/reporters/html/failure_view.coffee
@@ -70,43 +71,50 @@ files:
70
71
  - app/assets/javascripts/teaspoon-qunit.js
71
72
  - app/assets/javascripts/teaspoon-teaspoon.js
72
73
  - app/assets/stylesheets/teaspoon.css
73
- - app/controllers/teaspoon/spec_controller.rb
74
- - app/helpers/teaspoon/spec_helper.rb
75
- - app/views/teaspoon/spec/_require_js.html.erb
76
- - app/views/teaspoon/spec/_standard.html.erb
77
- - app/views/teaspoon/spec/runner.html.erb
78
- - app/views/teaspoon/spec/suites.html.erb
74
+ - app/controllers/teaspoon/suite_controller.rb
75
+ - app/views/teaspoon/suite/_body.html.erb
76
+ - app/views/teaspoon/suite/_boot.html.erb
77
+ - app/views/teaspoon/suite/_boot_require_js.html.erb
78
+ - app/views/teaspoon/suite/index.html.erb
79
+ - app/views/teaspoon/suite/show.html.erb
79
80
  - config/routes.rb
80
81
  - lib/generators/teaspoon/install/install_generator.rb
81
82
  - lib/generators/teaspoon/install/POST_INSTALL
82
- - lib/generators/teaspoon/install/templates/env.rb
83
- - lib/generators/teaspoon/install/templates/jasmine/initializer.rb
83
+ - lib/generators/teaspoon/install/templates/_body.html.erb
84
+ - lib/generators/teaspoon/install/templates/_boot.html.erb
85
+ - lib/generators/teaspoon/install/templates/jasmine/env.rb
86
+ - lib/generators/teaspoon/install/templates/jasmine/env_comments.rb
84
87
  - lib/generators/teaspoon/install/templates/jasmine/spec_helper.coffee
85
88
  - lib/generators/teaspoon/install/templates/jasmine/spec_helper.js
86
- - lib/generators/teaspoon/install/templates/mocha/initializer.rb
89
+ - lib/generators/teaspoon/install/templates/mocha/env.rb
90
+ - lib/generators/teaspoon/install/templates/mocha/env_comments.rb
87
91
  - lib/generators/teaspoon/install/templates/mocha/spec_helper.coffee
88
92
  - lib/generators/teaspoon/install/templates/mocha/spec_helper.js
89
- - lib/generators/teaspoon/install/templates/qunit/initializer.rb
93
+ - lib/generators/teaspoon/install/templates/qunit/env.rb
94
+ - lib/generators/teaspoon/install/templates/qunit/env_comments.rb
90
95
  - lib/generators/teaspoon/install/templates/qunit/test_helper.coffee
91
96
  - lib/generators/teaspoon/install/templates/qunit/test_helper.js
92
97
  - lib/tasks/teaspoon.rake
93
- - lib/teaspoon/check_coverage.rb
94
98
  - lib/teaspoon/command_line.rb
95
99
  - lib/teaspoon/configuration.rb
96
100
  - lib/teaspoon/console.rb
97
101
  - lib/teaspoon/coverage.rb
98
- - lib/teaspoon/drivers/base_driver.rb
102
+ - lib/teaspoon/deprecated.rb
103
+ - lib/teaspoon/drivers/base.rb
99
104
  - lib/teaspoon/drivers/phantomjs/runner.js
100
105
  - lib/teaspoon/drivers/phantomjs_driver.rb
101
106
  - lib/teaspoon/drivers/selenium_driver.rb
102
107
  - lib/teaspoon/engine.rb
103
108
  - lib/teaspoon/environment.rb
104
- - lib/teaspoon/exception_handling.rb
105
109
  - lib/teaspoon/exceptions.rb
106
- - lib/teaspoon/formatters/base_formatter.rb
110
+ - lib/teaspoon/exporter.rb
111
+ - lib/teaspoon/formatters/base.rb
107
112
  - lib/teaspoon/formatters/clean_formatter.rb
113
+ - lib/teaspoon/formatters/documentation_formatter.rb
108
114
  - lib/teaspoon/formatters/dot_formatter.rb
115
+ - lib/teaspoon/formatters/json_formatter.rb
109
116
  - lib/teaspoon/formatters/junit_formatter.rb
117
+ - lib/teaspoon/formatters/modules/report_module.rb
110
118
  - lib/teaspoon/formatters/pride_formatter.rb
111
119
  - lib/teaspoon/formatters/snowday_formatter.rb
112
120
  - lib/teaspoon/formatters/swayze_or_oprah_formatter.rb
@@ -121,24 +129,23 @@ files:
121
129
  - lib/teaspoon/utility.rb
122
130
  - lib/teaspoon/version.rb
123
131
  - lib/teaspoon.rb
124
- - vendor/assets/javascripts/angular-scenario-1.0.5.js
125
- - vendor/assets/javascripts/angular-scenario-1.0.5.MIT-LICENSE
126
- - vendor/assets/javascripts/jasmine-1.3.1.js
127
- - vendor/assets/javascripts/jasmine-1.3.1.MIT.LICENSE
128
- - vendor/assets/javascripts/mocha-1.10.0.js
129
- - vendor/assets/javascripts/mocha-1.10.1.MIT.LICENSE
130
- - vendor/assets/javascripts/qunit-1.12.0.js
131
- - vendor/assets/javascripts/qunit-1.12.0.MIT.LICENSE
132
+ - vendor/assets/javascripts/angular/1.0.5.js
133
+ - vendor/assets/javascripts/angular/MIT-LICENSE
134
+ - vendor/assets/javascripts/jasmine/1.3.1.js
135
+ - vendor/assets/javascripts/jasmine/2.0.0.js
136
+ - vendor/assets/javascripts/jasmine/MIT.LICENSE
137
+ - vendor/assets/javascripts/mocha/1.10.0.js
138
+ - vendor/assets/javascripts/mocha/1.17.1.js
139
+ - vendor/assets/javascripts/mocha/MIT.LICENSE
140
+ - vendor/assets/javascripts/qunit/1.12.0.js
141
+ - vendor/assets/javascripts/qunit/1.14.0.js
142
+ - vendor/assets/javascripts/qunit/MIT.LICENSE
132
143
  - vendor/assets/javascripts/support/bind-poly.js
133
144
  - vendor/assets/javascripts/support/chai.js
134
- - vendor/assets/javascripts/support/chai.MIT.LICENSE
135
145
  - vendor/assets/javascripts/support/expect.js
136
- - vendor/assets/javascripts/support/expect.MIT.LICENSE
137
- - vendor/assets/javascripts/support/jasmine-jquery.js
138
- - vendor/assets/javascripts/support/jasmine-jquery.MIT.LICENSE
146
+ - vendor/assets/javascripts/support/jasmine-jquery-1.7.0.js
147
+ - vendor/assets/javascripts/support/jasmine-jquery-2.0.0.js
139
148
  - vendor/assets/javascripts/support/sinon-chai.js
140
- - vendor/assets/javascripts/support/sinon-chai.MIT-ISH.LICENSE
141
- - vendor/assets/javascripts/support/sinon.BSD.LICENSE
142
149
  - vendor/assets/javascripts/support/sinon.js
143
150
  - bin/teaspoon
144
151
  - MIT.LICENSE
@@ -156,7 +163,6 @@ files:
156
163
  - spec/dummy/config/environment.rb
157
164
  - spec/dummy/config/environments/development.rb
158
165
  - spec/dummy/config/environments/test.rb
159
- - spec/dummy/config/initializers/teaspoon.rb
160
166
  - spec/dummy/config/routes.rb
161
167
  - spec/dummy/log/.gitkeep
162
168
  - spec/dummy/public/favicon.ico
@@ -166,7 +172,9 @@ files:
166
172
  - spec/features/html_reporter_spec.rb
167
173
  - spec/features/install_generator_spec.rb
168
174
  - spec/features/instrumentation_spec.rb
175
+ - spec/fixtures/coverage.json
169
176
  - spec/javascripts/angular_helper.coffee
177
+ - spec/javascripts/fixtures/_body.html.erb
170
178
  - spec/javascripts/fixtures/fixture.html.haml
171
179
  - spec/javascripts/fixtures/fixture.json
172
180
  - spec/javascripts/jasmine_helper.coffee
@@ -203,19 +211,25 @@ files:
203
211
  - spec/javascripts/turbolinks_helper.coffee
204
212
  - spec/spec_helper.rb
205
213
  - spec/support/aruba.rb
206
- - spec/teaspoon/check_coverage_spec.rb
207
214
  - spec/teaspoon/command_line_spec.rb
208
215
  - spec/teaspoon/configuration_spec.rb
209
216
  - spec/teaspoon/console_spec.rb
210
217
  - spec/teaspoon/coverage_spec.rb
218
+ - spec/teaspoon/drivers/base_spec.rb
211
219
  - spec/teaspoon/drivers/phantomjs_driver_spec.rb
212
220
  - spec/teaspoon/drivers/selenium_driver_spec.rb
213
221
  - spec/teaspoon/engine_spec.rb
214
222
  - spec/teaspoon/environment_spec.rb
215
- - spec/teaspoon/formatters/base_formatter_spec.rb
223
+ - spec/teaspoon/exceptions_spec.rb
224
+ - spec/teaspoon/exporter_spec.rb
225
+ - spec/teaspoon/formatters/base_spec.rb
226
+ - spec/teaspoon/formatters/clean_formatter_spec.rb
227
+ - spec/teaspoon/formatters/documentation_formatter_spec.rb
216
228
  - spec/teaspoon/formatters/dot_formatter_spec.rb
229
+ - spec/teaspoon/formatters/json_formatter_spec.rb
217
230
  - spec/teaspoon/formatters/junit_formatter_spec.rb
218
231
  - spec/teaspoon/formatters/pride_formatter_spec.rb
232
+ - spec/teaspoon/formatters/snowday_formatter_spec.rb
219
233
  - spec/teaspoon/formatters/tap_formatter_spec.rb
220
234
  - spec/teaspoon/formatters/tap_y_formatter_spec.rb
221
235
  - spec/teaspoon/formatters/teamcity_formatter_spec.rb
@@ -272,7 +286,6 @@ test_files:
272
286
  - spec/dummy/config/environment.rb
273
287
  - spec/dummy/config/environments/development.rb
274
288
  - spec/dummy/config/environments/test.rb
275
- - spec/dummy/config/initializers/teaspoon.rb
276
289
  - spec/dummy/config/routes.rb
277
290
  - spec/dummy/log/.gitkeep
278
291
  - spec/dummy/public/favicon.ico
@@ -282,7 +295,9 @@ test_files:
282
295
  - spec/features/html_reporter_spec.rb
283
296
  - spec/features/install_generator_spec.rb
284
297
  - spec/features/instrumentation_spec.rb
298
+ - spec/fixtures/coverage.json
285
299
  - spec/javascripts/angular_helper.coffee
300
+ - spec/javascripts/fixtures/_body.html.erb
286
301
  - spec/javascripts/fixtures/fixture.html.haml
287
302
  - spec/javascripts/fixtures/fixture.json
288
303
  - spec/javascripts/jasmine_helper.coffee
@@ -319,19 +334,25 @@ test_files:
319
334
  - spec/javascripts/turbolinks_helper.coffee
320
335
  - spec/spec_helper.rb
321
336
  - spec/support/aruba.rb
322
- - spec/teaspoon/check_coverage_spec.rb
323
337
  - spec/teaspoon/command_line_spec.rb
324
338
  - spec/teaspoon/configuration_spec.rb
325
339
  - spec/teaspoon/console_spec.rb
326
340
  - spec/teaspoon/coverage_spec.rb
341
+ - spec/teaspoon/drivers/base_spec.rb
327
342
  - spec/teaspoon/drivers/phantomjs_driver_spec.rb
328
343
  - spec/teaspoon/drivers/selenium_driver_spec.rb
329
344
  - spec/teaspoon/engine_spec.rb
330
345
  - spec/teaspoon/environment_spec.rb
331
- - spec/teaspoon/formatters/base_formatter_spec.rb
346
+ - spec/teaspoon/exceptions_spec.rb
347
+ - spec/teaspoon/exporter_spec.rb
348
+ - spec/teaspoon/formatters/base_spec.rb
349
+ - spec/teaspoon/formatters/clean_formatter_spec.rb
350
+ - spec/teaspoon/formatters/documentation_formatter_spec.rb
332
351
  - spec/teaspoon/formatters/dot_formatter_spec.rb
352
+ - spec/teaspoon/formatters/json_formatter_spec.rb
333
353
  - spec/teaspoon/formatters/junit_formatter_spec.rb
334
354
  - spec/teaspoon/formatters/pride_formatter_spec.rb
355
+ - spec/teaspoon/formatters/snowday_formatter_spec.rb
335
356
  - spec/teaspoon/formatters/tap_formatter_spec.rb
336
357
  - spec/teaspoon/formatters/tap_y_formatter_spec.rb
337
358
  - spec/teaspoon/formatters/teamcity_formatter_spec.rb
@@ -1,38 +0,0 @@
1
- class Teaspoon::SpecController < ActionController::Base
2
- helper Teaspoon::SpecHelper rescue nil
3
-
4
- layout false
5
-
6
- unless Rails.application.config.assets.debug
7
- rescue_from Exception, with: :javascript_exception
8
- end
9
-
10
- def suites
11
- @suites = Teaspoon::Suite.all
12
- end
13
-
14
- def runner
15
- @javascript_options = {}
16
- @javascript_options[:instrument] = Teaspoon.configuration.coverage || params[:coverage] == "true"
17
- @suite = Teaspoon::Suite.new(params)
18
- end
19
-
20
- def hooks
21
- @suite = Teaspoon::Suite.new(params)
22
- @suite.run_hooks(params[:group])
23
-
24
- render nothing: true
25
- end
26
-
27
- def fixtures
28
- prepend_view_path Teaspoon.configuration.root.join(Teaspoon.configuration.fixture_path)
29
- render "/#{params[:filename]}"
30
- end
31
-
32
- private
33
-
34
- def javascript_exception(exception)
35
- err = "#{exception.class.name}: #{exception.message}"
36
- render text: "<script>throw Error(#{err.inspect})</script>"
37
- end
38
- end
@@ -1,36 +0,0 @@
1
- module Teaspoon::SpecHelper
2
-
3
- def stylesheet_link_tag_for_teaspoon(*sources)
4
- sources.collect do |source|
5
- asset = defined?(lookup_asset_for_path) ? lookup_asset_for_path(source, type: :stylesheet) : asset_paths.asset_for(source, "css")
6
- if asset.respond_to?(:logical_path)
7
- asset.to_a.map do |dep|
8
- stylesheet_link_tag(dep.pathname.to_s, href: asset_src(dep, source), type: "text/css").split("\n")
9
- end
10
- else
11
- stylesheet_link_tag(source) unless source.blank?
12
- end
13
- end.flatten.uniq.join("\n").html_safe
14
- end
15
-
16
- def javascript_include_tag_for_teaspoon(*sources)
17
- options = sources.extract_options!
18
- sources.collect do |source|
19
- asset = defined?(lookup_asset_for_path) ? lookup_asset_for_path(source, type: :javascript) : asset_paths.asset_for(source, "js")
20
- if asset.respond_to?(:logical_path)
21
- asset.to_a.map do |dep|
22
- javascript_include_tag(dep.pathname.to_s, src: asset_src(dep, options[:instrument]), type: "text/javascript").split("\n")
23
- end
24
- else
25
- javascript_include_tag(source) unless source.blank?
26
- end
27
- end.flatten.uniq.join("\n").html_safe
28
- end
29
-
30
- def asset_src(dep, instrument = false)
31
- params = "?body=1"
32
- params << "&instrument=1" if instrument && @suite && @suite.instrument_file?(dep.pathname.to_s)
33
-
34
- "#{Teaspoon.configuration.context}#{Rails.application.config.assets.prefix}/#{dep.logical_path}#{params}"
35
- end
36
- end
@@ -1,21 +0,0 @@
1
- <%= javascript_include_tag_for_teaspoon *@suite.helper, @javascript_options %>
2
- <script type="text/javascript">
3
- // When the DOM is loaded, we then use require to include currently selected file/suite, then once those are all loaded, we run Teaspoon
4
- // @suite.spec_javascripts_for_require strips off the .js file extension
5
- Teaspoon.onWindowLoad(function () {
6
- // setup the Teaspoon path prefix to load /assets
7
- require.config(
8
- <% if Rails.application.config.respond_to?(:requirejs) %>
9
- <%=raw Rails.application.config.requirejs.user_config.merge({baseUrl: Rails.application.config.assets.prefix}).to_json %>
10
- <% else %>
11
- {
12
- baseUrl: Teaspoon.config.baseUrl || <%= Rails.application.config.assets.prefix.to_json.html_safe %>
13
- }
14
- <% end %>
15
- );
16
-
17
- require(<%=raw @suite.spec_javascripts_for_require.to_json %>, function () {
18
- Teaspoon.execute();
19
- });
20
- });
21
- </script>
@@ -1,4 +0,0 @@
1
- <%= javascript_include_tag_for_teaspoon *@suite.spec_javascripts, @javascript_options %>
2
- <script type="text/javascript">
3
- Teaspoon.onWindowLoad(Teaspoon.execute);
4
- </script>
@@ -1,19 +0,0 @@
1
- <!DOCTYPE html>
2
- <html>
3
- <head>
4
- <title>Teaspoon :: Javascript Test Runner</title>
5
- <meta name="viewport" content="width=device-width, user-scalable=no">
6
- <%= csrf_meta_tags %>
7
- <%= stylesheet_link_tag_for_teaspoon *@suite.stylesheets %>
8
- <%= javascript_include_tag_for_teaspoon *@suite.core_javascripts %>
9
- <script type="text/javascript">
10
- Teaspoon.version = <%=raw Teaspoon::VERSION.inspect %>;
11
- Teaspoon.root = <%=raw Teaspoon.configuration.mount_at.inspect %>;
12
- Teaspoon.suites = <%=raw @suite.suites.to_json %>;
13
- Teaspoon.config = <%=raw @suite.js_config.to_json %>;
14
- </script>
15
- <%= render @suite.boot_partial || 'standard' %>
16
- </head>
17
- <body data-no-turbolink>
18
- </body>
19
- </html>
@@ -1,38 +0,0 @@
1
- # This file allows you to override various Teaspoon configuration directives when running from the command line. It is not
2
- # required from within the Rails environment, so overriding directives that have been defined within the initializer
3
- # is not possible.
4
- #
5
- # Set RAILS_ROOT and load the environment.
6
- ENV["RAILS_ROOT"] = File.expand_path("../../", __FILE__)
7
- require File.expand_path("../../config/environment", __FILE__)
8
-
9
- # Provide default configuration.
10
- #
11
- # You can override various configuration directives defined here by using arguments with the teaspoon command.
12
- #
13
- # teaspoon --driver=selenium --suppress-log
14
- # rake teaspoon DRIVER=selenium SUPPRESS_LOG=false
15
- Teaspoon.setup do |config|
16
- # Driver / Server
17
- #config.driver = "phantomjs" # available: phantomjs, selenium
18
- #config.server = nil # defaults to Rack::Server
19
-
20
- # Behaviors
21
- #config.server_timeout = 20 # timeout for starting the server
22
- #config.server_port = nil # defaults to any open port unless specified
23
- #config.fail_fast = true # abort after the first failing suite
24
-
25
- # Output
26
- #config.formatters = "dot" # available: dot, tap, tap_y, swayze_or_oprah
27
- #config.suppress_log = false # suppress logs coming from console[log/error/debug]
28
- #config.color = true
29
-
30
- # Coverage (requires istanbul -- https://github.com/gotwarlost/istanbul)
31
- #config.coverage = true
32
- #config.coverage_reports = "text,html,cobertura"
33
- #config.coverage_output_dir = "coverage"
34
- #config.statements_coverage_threshold = 50
35
- #config.functions_coverage_threshold = 50
36
- #config.branches_coverage_threshold = 50
37
- #config.lines_coverage_threshold = 50
38
- end
@@ -1,64 +0,0 @@
1
- Teaspoon.setup do |config|
2
-
3
- # This determines where the Teaspoon routes will be mounted. Changing this to "/jasmine" would allow you to browse to
4
- # http://localhost:3000/jasmine to run your specs.
5
- config.mount_at = "/teaspoon"
6
-
7
- # This defaults to Rails.root if left nil. If you're testing an engine using a dummy application it can be useful to
8
- # set this to your engines root.. E.g. `Teaspoon::Engine.root`
9
- config.root = nil
10
-
11
- # These paths are appended to the Rails assets paths (relative to config.root), and by default is an array that you
12
- # can replace or add to.
13
- config.asset_paths = ["spec/javascripts", "spec/javascripts/stylesheets"]
14
-
15
- # Fixtures are rendered through a standard controller. This means you can use things like HAML or RABL/JBuilder, etc.
16
- # to generate fixtures within this path.
17
- config.fixture_path = "spec/javascripts/fixtures"
18
-
19
- # You can modify the default suite configuration and create new suites here. Suites can be isolated from one another.
20
- # When defining a suite you can provide a name and a block. If the name is left blank, :default is assumed. You can
21
- # omit various directives and the defaults will be used.
22
- #
23
- # To run a specific suite
24
- # - in the browser: http://localhost/teaspoon/[suite_name]
25
- # - from the command line: rake teaspoon suite=[suite_name]
26
- config.suite do |suite|
27
-
28
- # You can specify a file matcher and all matching files will be loaded when the suite is run. It's important that
29
- # these files are serve-able from sprockets.
30
- #
31
- # Note: Can also be set to nil.
32
- suite.matcher = "{spec/javascripts,app/assets}/**/*_spec.{js,js.coffee,coffee}"
33
-
34
- # Each suite can load a different helper, which can in turn require additional files. This file is loaded before
35
- # your specs are loaded, and can be used as a manifest.
36
- suite.helper = "spec_helper"
37
-
38
- # These are the core Teaspoon javascripts. It's strongly encouraged to include only the base files here. You can
39
- # require other support libraries in your spec helper, which allows you to change them without having to restart the
40
- # server.
41
- #
42
- # Available frameworks: teaspoon-jasmine, teaspoon-mocha, teaspoon-qunit
43
- #
44
- # Note: To use the CoffeeScript source files use `"teaspoon/jasmine"` etc.
45
- suite.javascripts = ["teaspoon-jasmine"]
46
-
47
- # If you want to change how Teaspoon looks, or include your own stylesheets you can do that here. The default is the
48
- # stylesheet for the HTML reporter.
49
- suite.stylesheets = ["teaspoon"]
50
-
51
- # When running coverage reports, you probably want to exclude libraries that you're not testing.
52
- # Accepts an array of filenames or regular expressions. The default is to exclude assets from vendors or gems.
53
- suite.no_coverage = [%r{/lib/ruby/gems/}, %r{/vendor/assets/}, %r{/support/}, %r{/(.+)_helper.}]
54
- # suite.no_coverage << "jquery.min.js" # excludes jquery from coverage reports
55
-
56
- end
57
-
58
- # Example suite. Since we're just filtering to files already within the root spec/javascripts, these files will also
59
- # be run in the default suite -- but can be focused into a more specific suite.
60
- #config.suite :targeted do |suite|
61
- # suite.matcher = "spec/javascripts/targeted/*_spec.{js,js.coffee,coffee}"
62
- #end
63
-
64
- end if defined?(Teaspoon) && Teaspoon.respond_to?(:setup) # let Teaspoon be undefined outside of development/test/asset groups