teaspoon 0.9.1 → 1.0.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 (214) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +141 -0
  3. data/README.md +9 -19
  4. data/{vendor → app}/assets/javascripts/support/bind-poly.js +0 -0
  5. data/{vendor → app}/assets/javascripts/support/sinon.js +0 -0
  6. data/app/assets/javascripts/teaspoon-filterer.js +55 -0
  7. data/app/assets/javascripts/teaspoon/error.coffee +5 -0
  8. data/app/assets/javascripts/teaspoon/{base/fixture.coffee → fixture.coffee} +15 -15
  9. data/app/assets/javascripts/teaspoon/{base/hook.coffee → hook.coffee} +0 -0
  10. data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/console.coffee +18 -10
  11. data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html.coffee +43 -40
  12. data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/base_view.coffee +0 -0
  13. data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/failure_view.coffee +2 -0
  14. data/app/assets/javascripts/teaspoon/reporters/html/progress_view.coffee +18 -0
  15. data/app/assets/javascripts/teaspoon/{base/reporters/html/progress_view.coffee → reporters/html/radial_progress_view.coffee} +1 -34
  16. data/app/assets/javascripts/teaspoon/reporters/html/simple_progress_view.coffee +15 -0
  17. data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/spec_view.coffee +5 -3
  18. data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/suite_view.coffee +4 -2
  19. data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/template.coffee +0 -0
  20. data/app/assets/javascripts/teaspoon/{base/runner.coffee → runner.coffee} +7 -3
  21. data/app/assets/javascripts/teaspoon/teaspoon.coffee +90 -32
  22. data/app/controllers/teaspoon/suite_controller.rb +5 -0
  23. data/app/views/teaspoon/suite/index.html.erb +1 -1
  24. data/lib/generators/teaspoon/install/install_generator.rb +67 -37
  25. data/lib/generators/teaspoon/install/templates/MISSING_FRAMEWORK +14 -0
  26. data/lib/generators/teaspoon/install/{POST_INSTALL → templates/POST_INSTALL} +0 -0
  27. data/lib/generators/teaspoon/install/templates/env.rb.tt +14 -0
  28. data/lib/generators/teaspoon/install/templates/{jasmine/env_comments.rb.tt → env_comments.rb.tt} +34 -43
  29. data/lib/tasks/teaspoon/info.rake +17 -0
  30. data/lib/teaspoon-devkit.rb +61 -0
  31. data/lib/teaspoon.rb +2 -0
  32. data/lib/teaspoon/command_line.rb +19 -14
  33. data/lib/teaspoon/configuration.rb +24 -35
  34. data/lib/teaspoon/console.rb +11 -21
  35. data/lib/teaspoon/coverage.rb +14 -7
  36. data/lib/teaspoon/deprecated.rb +22 -4
  37. data/lib/teaspoon/driver.rb +15 -0
  38. data/lib/teaspoon/driver/base.rb +7 -0
  39. data/lib/teaspoon/{drivers/capybara_webkit_driver.rb → driver/capybara_webkit.rb} +8 -5
  40. data/lib/teaspoon/{drivers/phantomjs_driver.rb → driver/phantomjs.rb} +8 -4
  41. data/lib/teaspoon/{drivers → driver}/phantomjs/runner.js +0 -0
  42. data/lib/teaspoon/{drivers/selenium_driver.rb → driver/selenium.rb} +11 -9
  43. data/lib/teaspoon/engine.rb +38 -25
  44. data/lib/teaspoon/environment.rb +24 -15
  45. data/lib/teaspoon/exceptions.rb +154 -41
  46. data/lib/teaspoon/exporter.rb +2 -2
  47. data/lib/teaspoon/formatter.rb +30 -0
  48. data/lib/teaspoon/{formatters → formatter}/base.rb +2 -36
  49. data/lib/teaspoon/{formatters/clean_formatter.rb → formatter/clean.rb} +4 -2
  50. data/lib/teaspoon/{formatters/documentation_formatter.rb → formatter/documentation.rb} +4 -3
  51. data/lib/teaspoon/{formatters/dot_formatter.rb → formatter/dot.rb} +4 -3
  52. data/lib/teaspoon/{formatters/json_formatter.rb → formatter/json.rb} +4 -2
  53. data/lib/teaspoon/{formatters/junit_formatter.rb → formatter/junit.rb} +3 -2
  54. data/lib/teaspoon/{formatters → formatter}/modules/report_module.rb +1 -1
  55. data/lib/teaspoon/{formatters/pride_formatter.rb → formatter/pride.rb} +4 -2
  56. data/lib/teaspoon/{formatters/rspec_html_formatter.rb → formatter/rspec_html.rb} +3 -2
  57. data/lib/teaspoon/{formatters/snowday_formatter.rb → formatter/snowday.rb} +3 -2
  58. data/lib/teaspoon/formatter/swayze_or_oprah.rb +111 -0
  59. data/lib/teaspoon/{formatters/tap_formatter.rb → formatter/tap.rb} +4 -2
  60. data/lib/teaspoon/{formatters/tap_y_formatter.rb → formatter/tap_y.rb} +3 -2
  61. data/lib/teaspoon/{formatters/teamcity_formatter.rb → formatter/teamcity.rb} +4 -2
  62. data/lib/teaspoon/framework.rb +17 -0
  63. data/lib/teaspoon/framework/base.rb +88 -0
  64. data/lib/teaspoon/instrumentation.rb +12 -2
  65. data/lib/teaspoon/registry.rb +47 -0
  66. data/lib/teaspoon/registry/has_default.rb +11 -0
  67. data/lib/teaspoon/runner.rb +6 -7
  68. data/lib/teaspoon/server.rb +2 -2
  69. data/lib/teaspoon/suite.rb +28 -30
  70. data/lib/teaspoon/utility.rb +5 -0
  71. data/lib/teaspoon/version.rb +1 -1
  72. metadata +52 -276
  73. data/app/assets/javascripts/teaspoon-jasmine.js +0 -1344
  74. data/app/assets/javascripts/teaspoon-mocha.js +0 -1350
  75. data/app/assets/javascripts/teaspoon-qunit.js +0 -1415
  76. data/app/assets/javascripts/teaspoon-teaspoon.js +0 -51
  77. data/app/assets/javascripts/teaspoon/base/teaspoon.coffee +0 -69
  78. data/app/assets/javascripts/teaspoon/jasmine.coffee +0 -119
  79. data/app/assets/javascripts/teaspoon/jasmine/reporters/html.coffee +0 -11
  80. data/app/assets/javascripts/teaspoon/mocha.coffee +0 -90
  81. data/app/assets/javascripts/teaspoon/mocha/reporters/console.coffee +0 -16
  82. data/app/assets/javascripts/teaspoon/mocha/reporters/html.coffee +0 -27
  83. data/app/assets/javascripts/teaspoon/qunit.coffee +0 -81
  84. data/app/assets/javascripts/teaspoon/qunit/reporters/console.coffee +0 -25
  85. data/app/assets/javascripts/teaspoon/qunit/reporters/html.coffee +0 -80
  86. data/lib/generators/teaspoon/install/templates/jasmine/env.rb +0 -11
  87. data/lib/generators/teaspoon/install/templates/jasmine/spec_helper.coffee +0 -31
  88. data/lib/generators/teaspoon/install/templates/jasmine/spec_helper.js +0 -31
  89. data/lib/generators/teaspoon/install/templates/mocha/env.rb +0 -11
  90. data/lib/generators/teaspoon/install/templates/mocha/env_comments.rb.tt +0 -187
  91. data/lib/generators/teaspoon/install/templates/mocha/spec_helper.coffee +0 -40
  92. data/lib/generators/teaspoon/install/templates/mocha/spec_helper.js +0 -40
  93. data/lib/generators/teaspoon/install/templates/qunit/env.rb +0 -11
  94. data/lib/generators/teaspoon/install/templates/qunit/env_comments.rb.tt +0 -187
  95. data/lib/generators/teaspoon/install/templates/qunit/test_helper.coffee +0 -29
  96. data/lib/generators/teaspoon/install/templates/qunit/test_helper.js +0 -30
  97. data/lib/teaspoon/drivers/base.rb +0 -10
  98. data/lib/teaspoon/formatters/description.rb +0 -36
  99. data/lib/teaspoon/formatters/swayze_or_oprah_formatter.rb +0 -101
  100. data/spec/dummy/Rakefile +0 -7
  101. data/spec/dummy/app/assets/javascripts/instrumented1.coffee +0 -1
  102. data/spec/dummy/app/assets/javascripts/instrumented2.coffee +0 -1
  103. data/spec/dummy/app/assets/javascripts/integration/integration.coffee +0 -1
  104. data/spec/dummy/app/assets/javascripts/integration/integration_spec.coffee +0 -32
  105. data/spec/dummy/app/assets/javascripts/integration/spec_helper.coffee +0 -7
  106. data/spec/dummy/app/assets/javascripts/specs/asset_spec.js +0 -11
  107. data/spec/dummy/config.ru +0 -15
  108. data/spec/dummy/config/application.rb +0 -29
  109. data/spec/dummy/config/boot.rb +0 -3
  110. data/spec/dummy/config/environment.rb +0 -5
  111. data/spec/dummy/config/environments/development.rb +0 -41
  112. data/spec/dummy/config/environments/production.rb +0 -79
  113. data/spec/dummy/config/environments/test.rb +0 -42
  114. data/spec/dummy/config/routes.rb +0 -2
  115. data/spec/dummy/config/secrets.yml +0 -22
  116. data/spec/dummy/log/.gitkeep +0 -0
  117. data/spec/dummy/public/favicon.ico +0 -0
  118. data/spec/dummy/script/rails +0 -6
  119. data/spec/features/console_reporter_spec.rb +0 -62
  120. data/spec/features/hooks_spec.rb +0 -60
  121. data/spec/features/html_reporter_spec.rb +0 -81
  122. data/spec/features/install_generator_spec.rb +0 -54
  123. data/spec/features/instrumentation_spec.rb +0 -21
  124. data/spec/fixtures/coverage.json +0 -243
  125. data/spec/javascripts/fixtures/_body.html.erb +0 -1
  126. data/spec/javascripts/fixtures/fixture.html.haml +0 -4
  127. data/spec/javascripts/fixtures/fixture.json +0 -4
  128. data/spec/javascripts/jasmine_helper.coffee +0 -3
  129. data/spec/javascripts/mocha_helper.coffee +0 -4
  130. data/spec/javascripts/spec_helper.coffee +0 -7
  131. data/spec/javascripts/stylesheets/stylesheet.css.scss +0 -0
  132. data/spec/javascripts/support/json2.js +0 -486
  133. data/spec/javascripts/support/support.js.coffee +0 -0
  134. data/spec/javascripts/teaspoon/base/fixture_spec.coffee +0 -93
  135. data/spec/javascripts/teaspoon/base/reporters/console_spec.coffee +0 -162
  136. data/spec/javascripts/teaspoon/base/reporters/html/base_view_spec.coffee +0 -88
  137. data/spec/javascripts/teaspoon/base/reporters/html/failure_view_spec.coffee +0 -28
  138. data/spec/javascripts/teaspoon/base/reporters/html/progress_view_spec.coffee +0 -1
  139. data/spec/javascripts/teaspoon/base/reporters/html/spec_view_spec.coffee +0 -1
  140. data/spec/javascripts/teaspoon/base/reporters/html/suite_view_spec.coffee +0 -1
  141. data/spec/javascripts/teaspoon/base/reporters/html_spec.coffee +0 -372
  142. data/spec/javascripts/teaspoon/base/runner_spec.coffee +0 -58
  143. data/spec/javascripts/teaspoon/base/teaspoon_spec.coffee +0 -47
  144. data/spec/javascripts/teaspoon/jasmine/fixture_jspec.coffee +0 -13
  145. data/spec/javascripts/teaspoon/jasmine/models_jspec.coffee +0 -101
  146. data/spec/javascripts/teaspoon/jasmine/reporters/html_jspec.coffee +0 -17
  147. data/spec/javascripts/teaspoon/jasmine/runner_jspec.coffee +0 -59
  148. data/spec/javascripts/teaspoon/jasmine/spec_jspec.coffee +0 -3
  149. data/spec/javascripts/teaspoon/mocha/fixture_mspec.coffee +0 -12
  150. data/spec/javascripts/teaspoon/mocha/models_mspec.coffee +0 -93
  151. data/spec/javascripts/teaspoon/mocha/reporters/console_mspec.coffee +0 -24
  152. data/spec/javascripts/teaspoon/mocha/reporters/html_mspec.coffee +0 -41
  153. data/spec/javascripts/teaspoon/mocha/runner_mspec.coffee +0 -23
  154. data/spec/javascripts/teaspoon/mocha/spec_mspec.coffee +0 -9
  155. data/spec/javascripts/teaspoon/other/erb_spec.js.coffee.erb +0 -4
  156. data/spec/javascripts/teaspoon/phantomjs/runner_spec.coffee +0 -161
  157. data/spec/javascripts/turbolinks_helper.coffee +0 -2
  158. data/spec/spec_helper.rb +0 -25
  159. data/spec/support/aruba.rb +0 -15
  160. data/spec/teaspoon/command_line_spec.rb +0 -157
  161. data/spec/teaspoon/configuration_spec.rb +0 -236
  162. data/spec/teaspoon/console_spec.rb +0 -224
  163. data/spec/teaspoon/coverage_spec.rb +0 -118
  164. data/spec/teaspoon/drivers/base_spec.rb +0 -5
  165. data/spec/teaspoon/drivers/capybara_webkit_driver_spec.rb +0 -39
  166. data/spec/teaspoon/drivers/phantomjs_driver_spec.rb +0 -66
  167. data/spec/teaspoon/drivers/selenium_driver_spec.rb +0 -68
  168. data/spec/teaspoon/engine_spec.rb +0 -22
  169. data/spec/teaspoon/environment_spec.rb +0 -109
  170. data/spec/teaspoon/exceptions_spec.rb +0 -57
  171. data/spec/teaspoon/exporter_spec.rb +0 -96
  172. data/spec/teaspoon/formatters/base_spec.rb +0 -259
  173. data/spec/teaspoon/formatters/clean_formatter_spec.rb +0 -37
  174. data/spec/teaspoon/formatters/documentation_formatter_spec.rb +0 -127
  175. data/spec/teaspoon/formatters/dot_formatter_spec.rb +0 -116
  176. data/spec/teaspoon/formatters/json_formatter_spec.rb +0 -77
  177. data/spec/teaspoon/formatters/junit_formatter_spec.rb +0 -114
  178. data/spec/teaspoon/formatters/pride_formatter_spec.rb +0 -37
  179. data/spec/teaspoon/formatters/rspec_html_formatter_spec.rb +0 -107
  180. data/spec/teaspoon/formatters/snowday_formatter_spec.rb +0 -35
  181. data/spec/teaspoon/formatters/tap_formatter_spec.rb +0 -72
  182. data/spec/teaspoon/formatters/tap_y_formatter_spec.rb +0 -80
  183. data/spec/teaspoon/formatters/teamcity_formatter_spec.rb +0 -148
  184. data/spec/teaspoon/instrumentation_spec.rb +0 -113
  185. data/spec/teaspoon/result_spec.rb +0 -98
  186. data/spec/teaspoon/runner_spec.rb +0 -116
  187. data/spec/teaspoon/server_spec.rb +0 -105
  188. data/spec/teaspoon/suite_spec.rb +0 -138
  189. data/spec/teaspoon_env.rb +0 -39
  190. data/test/javascripts/qunit_helper.coffee +0 -3
  191. data/test/javascripts/teaspoon/qunit/fixture_test.coffee +0 -10
  192. data/test/javascripts/teaspoon/qunit/models_test.coffee +0 -66
  193. data/test/javascripts/teaspoon/qunit/reporters/console_test.coffee +0 -3
  194. data/test/javascripts/teaspoon/qunit/reporters/html/failure_view_test.coffee +0 -3
  195. data/test/javascripts/teaspoon/qunit/reporters/html/spec_view_test.coffee +0 -3
  196. data/test/javascripts/teaspoon/qunit/reporters/html/suite_view_test.coffee +0 -3
  197. data/test/javascripts/teaspoon/qunit/reporters/html_test.coffee +0 -3
  198. data/test/javascripts/teaspoon/qunit/runner_test.coffee +0 -18
  199. data/vendor/assets/javascripts/jasmine/1.3.1.js +0 -2602
  200. data/vendor/assets/javascripts/jasmine/2.0.0.js +0 -2412
  201. data/vendor/assets/javascripts/jasmine/MIT.LICENSE +0 -20
  202. data/vendor/assets/javascripts/mocha/1.10.0.js +0 -5374
  203. data/vendor/assets/javascripts/mocha/1.17.1.js +0 -5813
  204. data/vendor/assets/javascripts/mocha/MIT.LICENSE +0 -22
  205. data/vendor/assets/javascripts/qunit/1.12.0.js +0 -2212
  206. data/vendor/assets/javascripts/qunit/1.14.0.js +0 -2288
  207. data/vendor/assets/javascripts/qunit/MIT.LICENSE +0 -21
  208. data/vendor/assets/javascripts/support/chai-1.10.0.js +0 -4800
  209. data/vendor/assets/javascripts/support/chai-jq-0.0.7.js +0 -524
  210. data/vendor/assets/javascripts/support/chai.js +0 -4782
  211. data/vendor/assets/javascripts/support/expect.js +0 -1284
  212. data/vendor/assets/javascripts/support/jasmine-jquery-1.7.0.js +0 -720
  213. data/vendor/assets/javascripts/support/jasmine-jquery-2.0.0.js +0 -812
  214. data/vendor/assets/javascripts/support/sinon-chai.js +0 -126
@@ -1,6 +1,8 @@
1
+ require "teaspoon/formatter/base"
2
+
1
3
  module Teaspoon
2
- module Formatters
3
- class TapFormatter < Base
4
+ module Formatter
5
+ class Tap < Base
4
6
  protected
5
7
 
6
8
  def log_runner(_result)
@@ -1,8 +1,9 @@
1
1
  require "yaml"
2
+ require "teaspoon/formatter/base"
2
3
 
3
4
  module Teaspoon
4
- module Formatters
5
- class TapYFormatter < Base
5
+ module Formatter
6
+ class TapY < Base
6
7
  protected
7
8
 
8
9
  def log_runner(result)
@@ -1,6 +1,8 @@
1
+ require "teaspoon/formatter/base"
2
+
1
3
  module Teaspoon
2
- module Formatters
3
- class TeamcityFormatter < Base
4
+ module Formatter
5
+ class Teamcity < Base
4
6
  def initialize(*args)
5
7
  log("enteredTheMatrix timestamp='#{Time.now.to_json.gsub('"', '')}'")
6
8
  super
@@ -0,0 +1,17 @@
1
+ require "teaspoon/registry"
2
+
3
+ module Teaspoon
4
+ module Framework
5
+ extend Teaspoon::Registry
6
+
7
+ not_found_in_registry Teaspoon::UnknownFramework
8
+
9
+ def self.default
10
+ # Frameworks are special in that the default is the first framework
11
+ # that was registered, but can be nil, meaning the teaspoon gem is
12
+ # in the Gemfile, instead of the framework-specific equivalent
13
+ # eg teaspoon-jasmine
14
+ available.keys.first
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,88 @@
1
+ module Teaspoon
2
+ module Framework
3
+ class Base
4
+ class << self
5
+ attr_accessor :_versions
6
+ attr_accessor :_asset_paths
7
+ attr_accessor :_template_paths
8
+ attr_accessor :_install_path
9
+ attr_accessor :_install_proc
10
+
11
+ def inherited(base)
12
+ base._versions = {}
13
+ base._asset_paths = []
14
+ base._template_paths = []
15
+ base._install_path = "spec"
16
+ base._install_proc = proc {}
17
+ end
18
+
19
+ def framework_name(name = nil)
20
+ name.present? ? @_framework_name ||= name.to_sym : @_framework_name
21
+ end
22
+
23
+ def register_version(version, js_runner, dependencies: [], dev_deps: [])
24
+ if ENV["TEASPOON_DEVELOPMENT"] && dev_deps.any?
25
+ dependencies = dev_deps
26
+ end
27
+
28
+ if dependencies.empty?
29
+ raise Teaspoon::UnspecifiedDependencies.new(framework: @_framework_name, version: version)
30
+ end
31
+
32
+ dependencies.unshift(js_runner)
33
+ @_versions[version] = dependencies
34
+ Teaspoon.configuration.asset_manifest += dependencies
35
+ end
36
+
37
+ def add_asset_path(path)
38
+ @_asset_paths << path
39
+ end
40
+
41
+ def add_template_path(path)
42
+ @_template_paths << path
43
+ end
44
+
45
+ def install_to(path, &block)
46
+ @_install_path = path
47
+ @_install_proc = block if block_given?
48
+ end
49
+
50
+ def description
51
+ "#{@_framework_name}[#{@_versions.keys.join(', ')}]"
52
+ end
53
+
54
+ def asset_paths
55
+ @_asset_paths
56
+ end
57
+
58
+ def versions
59
+ _versions.keys
60
+ end
61
+
62
+ def name
63
+ framework_name
64
+ end
65
+
66
+ def javascripts_for(version = nil)
67
+ _versions[version || versions.last]
68
+ end
69
+
70
+ def template_paths
71
+ _template_paths
72
+ end
73
+
74
+ def install_path
75
+ _install_path
76
+ end
77
+
78
+ def install_callback
79
+ _install_proc
80
+ end
81
+
82
+ def modify_config(_config)
83
+ # noop - Implement this in subclass to modify suite configuration
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
@@ -1,4 +1,5 @@
1
1
  require "sprockets/environment"
2
+ require "teaspoon/coverage"
2
3
 
3
4
  module Teaspoon
4
5
  class Instrumentation
@@ -14,7 +15,8 @@ module Teaspoon
14
15
  env["QUERY_STRING"].to_s =~ /instrument=(1|true)/ && # the instrument param was provided
15
16
  response[0] == 200 && # the status is 200 (304 maybe?)
16
17
  response[1]["Content-Type"].to_s == "application/javascript" && # the format is something that we care about
17
- response[2].respond_to?(:source) # it looks like an asset
18
+ response[2].respond_to?(:source) && # it looks like an asset
19
+ !ignored?(response[2]) # it is not ignored
18
20
  end
19
21
 
20
22
  def self.executable
@@ -41,6 +43,14 @@ module Teaspoon
41
43
 
42
44
  protected
43
45
 
46
+ def self.ignored?(asset)
47
+ Array(Teaspoon::Coverage.configuration.ignore).any? do |ignore|
48
+ asset.pathname.to_s.match(ignore)
49
+ end
50
+ rescue Teaspoon::UnknownCoverage
51
+ false
52
+ end
53
+
44
54
  def add_instrumentation(asset)
45
55
  source_path = asset.pathname.to_s
46
56
  Dir.mktmpdir do |temp_path|
@@ -53,7 +63,7 @@ module Teaspoon
53
63
  def instrument(input)
54
64
  result = %x{#{self.class.executable} instrument --embed-source #{input.shellescape}}
55
65
  return result if $?.exitstatus == 0
56
- raise Teaspoon::DependencyFailure, "Could not generate instrumentation for #{File.basename(input)}."
66
+ raise Teaspoon::DependencyError.new("Unable to add instrumentation to #{File.basename(input)}.")
57
67
  end
58
68
  end
59
69
 
@@ -0,0 +1,47 @@
1
+ module Teaspoon
2
+ module Registry
3
+ def self.extended(host)
4
+ host.instance_variable_set(:@registry, {})
5
+ host.instance_variable_set(:@options, {})
6
+ end
7
+
8
+ def not_found_in_registry(klass)
9
+ @not_found_exception = klass
10
+ end
11
+
12
+ def register(name, constant, path, options = {})
13
+ @registry[normalize_name(name)] = proc {
14
+ require path
15
+ constant.constantize
16
+ }
17
+
18
+ @options[normalize_name(name)] = options
19
+ end
20
+
21
+ def fetch(name)
22
+ if !(driver = @registry[normalize_name(name)])
23
+ raise not_found_exception.new(name: name, available: available.keys)
24
+ end
25
+
26
+ driver.call
27
+ end
28
+
29
+ def equal?(one, two)
30
+ normalize_name(one) == normalize_name(two)
31
+ end
32
+
33
+ def available
34
+ @options
35
+ end
36
+
37
+ private
38
+
39
+ def normalize_name(name)
40
+ name.to_s.gsub(/[-|\s]/, '_').to_sym
41
+ end
42
+
43
+ def not_found_exception
44
+ @not_found_exception || Teaspoon::NotFoundInRegistry
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,11 @@
1
+ module Teaspoon
2
+ module Registry
3
+ module HasDefault
4
+ def default
5
+ available.find do |formatter,options|
6
+ options[:default]
7
+ end.first
8
+ end
9
+ end
10
+ end
11
+ end
@@ -22,10 +22,7 @@ module Teaspoon
22
22
 
23
23
  def resolve_formatter(formatter)
24
24
  formatter, output = formatter.to_s.split(">")
25
- formatter = Teaspoon::Formatters.const_get("#{formatter.camelize}Formatter")
26
- formatter.new(@suite_name, output)
27
- rescue NameError
28
- raise Teaspoon::UnknownFormatter, "Unknown formatter: \"#{formatter}\""
25
+ Teaspoon::Formatter.fetch(formatter).new(@suite_name, output)
29
26
  end
30
27
 
31
28
  def notify_formatters(event, result)
@@ -49,7 +46,7 @@ module Teaspoon
49
46
  end
50
47
 
51
48
  def on_exception(result)
52
- raise Teaspoon::RunnerException, result.message
49
+ raise Teaspoon::RunnerError.new(result.message)
53
50
  end
54
51
 
55
52
  def on_result(result)
@@ -58,8 +55,10 @@ module Teaspoon
58
55
  end
59
56
 
60
57
  def resolve_coverage(data)
61
- return unless Teaspoon.configuration.use_coverage && data.present?
62
- coverage = Teaspoon::Coverage.new(@suite_name, Teaspoon.configuration.use_coverage, data)
58
+ return unless Teaspoon.configuration.use_coverage
59
+ raise Teaspoon::IstanbulNotFoundError unless Teaspoon::Instrumentation.executable
60
+
61
+ coverage = Teaspoon::Coverage.new(@suite_name, data)
63
62
  coverage.generate_reports { |msg| notify_formatters("coverage", msg) }
64
63
  coverage.check_thresholds do |msg|
65
64
  notify_formatters("threshold_failure", msg)
@@ -20,7 +20,7 @@ module Teaspoon
20
20
  end
21
21
  wait_until_started(thread)
22
22
  rescue => e
23
- raise Teaspoon::ServerException, "Cannot start server: #{e.message}"
23
+ raise Teaspoon::ServerError.new(desc: e.message)
24
24
  end
25
25
 
26
26
  def responsive?
@@ -39,7 +39,7 @@ module Teaspoon
39
39
  def wait_until_started(thread)
40
40
  Timeout.timeout(Teaspoon.configuration.server_timeout.to_i) { thread.join(0.1) until responsive? }
41
41
  rescue Timeout::Error
42
- raise Teaspoon::ServerException, "Server failed to start. You may need to increase the timeout configuration."
42
+ raise Timeout::Error.new("consider increasing the timeout with `config.server_timeout`")
43
43
  end
44
44
 
45
45
  def disable_logging
@@ -13,7 +13,7 @@ module Teaspoon
13
13
  end
14
14
 
15
15
  attr_accessor :config, :name
16
- delegate :helper, :stylesheets, :javascripts, :boot_partial, :body_partial, :no_coverage, :hooks,
16
+ delegate :helper, :stylesheets, :javascripts, :boot_partial, :body_partial, :hooks,
17
17
  to: :config
18
18
 
19
19
  def initialize(options = {})
@@ -33,21 +33,6 @@ module Teaspoon
33
33
  asset_tree(assets)
34
34
  end
35
35
 
36
- def include_spec?(file)
37
- glob.include?(file)
38
- end
39
-
40
- def ignored_file?(file)
41
- for ignored in no_coverage
42
- if ignored.is_a?(String)
43
- return true if File.basename(file) == ignored
44
- elsif ignored.is_a?(Regexp)
45
- return true if file =~ ignored
46
- end
47
- end
48
- false
49
- end
50
-
51
36
  def include_spec_for?(file)
52
37
  return file if glob.include?(file)
53
38
  paths = glob.select { |path| path.include?(file) }
@@ -64,40 +49,53 @@ module Teaspoon
64
49
  end
65
50
 
66
51
  def asset_tree(sources)
67
- sources.map do |source|
52
+ sources.flat_map do |source|
68
53
  asset = @env.find_asset(source)
69
- if asset && asset.respond_to?(:logical_path) && config.expand_assets
70
- asset.to_a.map { |a| asset_url(a) }
54
+
55
+ if asset && asset.respond_to?(:logical_path)
56
+ assets = config.expand_assets ? asset.to_a : [asset]
57
+ assets.map { |a| asset_url(a) }
71
58
  else
72
- source unless source.blank?
59
+ source.blank? ? [] : [source]
73
60
  end
74
- end.flatten.compact.uniq
61
+ end.compact.uniq
75
62
  end
76
63
 
77
64
  def asset_url(asset)
78
- params = "?body=1"
79
- params << "&instrument=1" if instrument_file?(asset.pathname.to_s)
80
- "#{asset.logical_path}#{params}"
65
+ params = []
66
+ params << "body=1" if config.expand_assets
67
+ params << "instrument=1" if instrument_file?(asset.pathname.to_s)
68
+ url = asset.logical_path
69
+ url += "?#{params.join("&")}" if params.any?
70
+ url
81
71
  end
82
72
 
83
73
  def instrument_file?(file)
84
- return false unless @options[:coverage] || Teaspoon.configuration.use_coverage
85
- return false if include_spec?(file) || ignored_file?(file)
74
+ return false unless coverage_requested?
75
+ return false if matched_spec_file?(file)
86
76
  true
87
77
  end
88
78
 
79
+ def coverage_requested?
80
+ @options[:coverage] || Teaspoon.configuration.use_coverage
81
+ end
82
+
83
+ def matched_spec_file?(file)
84
+ glob.include?(file)
85
+ end
86
+
89
87
  def asset_from_file(original)
90
88
  filename = original
91
89
  Rails.application.config.assets.paths.each do |path|
92
90
  filename = filename.gsub(%r(^#{Regexp.escape(path.to_s)}[\/|\\]), "")
93
91
  end
94
92
 
95
- raise Teaspoon::AssetNotServable, "#{filename} is not within an asset path" if filename == original
93
+ raise Teaspoon::AssetNotServableError.new(filename: filename) if filename == original
96
94
  normalize_js_extension(filename)
97
95
  end
98
96
 
99
97
  def normalize_js_extension(filename)
100
- filename.gsub(".erb", "").gsub(/(\.js\.coffee|\.coffee)$/, ".js")
98
+ filename.gsub(".erb", "").gsub(/(\.js\.coffee|\.coffee|\.es6|\.js\.es6)$/, ".js")
101
99
  end
102
100
 
103
101
  def glob
@@ -106,8 +104,8 @@ module Teaspoon
106
104
 
107
105
  def suite_configuration
108
106
  config = Teaspoon.configuration.suite_configs[name]
109
- raise Teaspoon::UnknownSuite, "Unknown suite \"#{name}\"" unless config.present?
110
- config[:instance] ||= Teaspoon::Configuration::Suite.new(&config[:block])
107
+ raise Teaspoon::UnknownSuite.new(name: name) unless config.present?
108
+ config[:instance] ||= Teaspoon::Configuration::Suite.new(name, &config[:block])
111
109
  end
112
110
 
113
111
  def specs_from_file
@@ -1,4 +1,9 @@
1
1
  module Teaspoon
2
+ def self.abort(message = nil, code = 1)
3
+ STDOUT.print("#{message}\n") if message
4
+ exit(code)
5
+ end
6
+
2
7
  module Utility
3
8
  # Cross-platform way of finding an executable in the $PATH.
4
9
  # http://stackoverflow.com/questions/2108727/which-in-ruby-checking-if-program-exists-in-path-from-ruby
@@ -1,3 +1,3 @@
1
1
  module Teaspoon
2
- VERSION = "0.9.1"
2
+ VERSION = "1.0.0"
3
3
  end
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.9.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - jejacks0n
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2015-03-02 00:00:00.000000000 Z
14
+ date: 2015-05-04 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: railties
@@ -42,32 +42,26 @@ executables:
42
42
  extensions: []
43
43
  extra_rdoc_files: []
44
44
  files:
45
+ - CHANGELOG.md
45
46
  - MIT.LICENSE
46
47
  - README.md
47
- - app/assets/javascripts/teaspoon-jasmine.js
48
- - app/assets/javascripts/teaspoon-mocha.js
49
- - app/assets/javascripts/teaspoon-qunit.js
50
- - app/assets/javascripts/teaspoon-teaspoon.js
51
- - app/assets/javascripts/teaspoon/base/fixture.coffee
52
- - app/assets/javascripts/teaspoon/base/hook.coffee
53
- - app/assets/javascripts/teaspoon/base/reporters/console.coffee
54
- - app/assets/javascripts/teaspoon/base/reporters/html.coffee
55
- - app/assets/javascripts/teaspoon/base/reporters/html/base_view.coffee
56
- - app/assets/javascripts/teaspoon/base/reporters/html/failure_view.coffee
57
- - app/assets/javascripts/teaspoon/base/reporters/html/progress_view.coffee
58
- - app/assets/javascripts/teaspoon/base/reporters/html/spec_view.coffee
59
- - app/assets/javascripts/teaspoon/base/reporters/html/suite_view.coffee
60
- - app/assets/javascripts/teaspoon/base/reporters/html/template.coffee
61
- - app/assets/javascripts/teaspoon/base/runner.coffee
62
- - app/assets/javascripts/teaspoon/base/teaspoon.coffee
63
- - app/assets/javascripts/teaspoon/jasmine.coffee
64
- - app/assets/javascripts/teaspoon/jasmine/reporters/html.coffee
65
- - app/assets/javascripts/teaspoon/mocha.coffee
66
- - app/assets/javascripts/teaspoon/mocha/reporters/console.coffee
67
- - app/assets/javascripts/teaspoon/mocha/reporters/html.coffee
68
- - app/assets/javascripts/teaspoon/qunit.coffee
69
- - app/assets/javascripts/teaspoon/qunit/reporters/console.coffee
70
- - app/assets/javascripts/teaspoon/qunit/reporters/html.coffee
48
+ - app/assets/javascripts/support/bind-poly.js
49
+ - app/assets/javascripts/support/sinon.js
50
+ - app/assets/javascripts/teaspoon-filterer.js
51
+ - app/assets/javascripts/teaspoon/error.coffee
52
+ - app/assets/javascripts/teaspoon/fixture.coffee
53
+ - app/assets/javascripts/teaspoon/hook.coffee
54
+ - app/assets/javascripts/teaspoon/reporters/console.coffee
55
+ - app/assets/javascripts/teaspoon/reporters/html.coffee
56
+ - app/assets/javascripts/teaspoon/reporters/html/base_view.coffee
57
+ - app/assets/javascripts/teaspoon/reporters/html/failure_view.coffee
58
+ - app/assets/javascripts/teaspoon/reporters/html/progress_view.coffee
59
+ - app/assets/javascripts/teaspoon/reporters/html/radial_progress_view.coffee
60
+ - app/assets/javascripts/teaspoon/reporters/html/simple_progress_view.coffee
61
+ - app/assets/javascripts/teaspoon/reporters/html/spec_view.coffee
62
+ - app/assets/javascripts/teaspoon/reporters/html/suite_view.coffee
63
+ - app/assets/javascripts/teaspoon/reporters/html/template.coffee
64
+ - app/assets/javascripts/teaspoon/runner.coffee
71
65
  - app/assets/javascripts/teaspoon/teaspoon.coffee
72
66
  - app/assets/stylesheets/teaspoon.css
73
67
  - app/controllers/teaspoon/suite_controller.rb
@@ -77,177 +71,58 @@ files:
77
71
  - app/views/teaspoon/suite/index.html.erb
78
72
  - app/views/teaspoon/suite/show.html.erb
79
73
  - bin/teaspoon
80
- - lib/generators/teaspoon/install/POST_INSTALL
81
74
  - lib/generators/teaspoon/install/install_generator.rb
75
+ - lib/generators/teaspoon/install/templates/MISSING_FRAMEWORK
76
+ - lib/generators/teaspoon/install/templates/POST_INSTALL
82
77
  - lib/generators/teaspoon/install/templates/_body.html.erb
83
78
  - lib/generators/teaspoon/install/templates/_boot.html.erb
84
- - lib/generators/teaspoon/install/templates/jasmine/env.rb
85
- - lib/generators/teaspoon/install/templates/jasmine/env_comments.rb.tt
86
- - lib/generators/teaspoon/install/templates/jasmine/spec_helper.coffee
87
- - lib/generators/teaspoon/install/templates/jasmine/spec_helper.js
88
- - lib/generators/teaspoon/install/templates/mocha/env.rb
89
- - lib/generators/teaspoon/install/templates/mocha/env_comments.rb.tt
90
- - lib/generators/teaspoon/install/templates/mocha/spec_helper.coffee
91
- - lib/generators/teaspoon/install/templates/mocha/spec_helper.js
92
- - lib/generators/teaspoon/install/templates/qunit/env.rb
93
- - lib/generators/teaspoon/install/templates/qunit/env_comments.rb.tt
94
- - lib/generators/teaspoon/install/templates/qunit/test_helper.coffee
95
- - lib/generators/teaspoon/install/templates/qunit/test_helper.js
79
+ - lib/generators/teaspoon/install/templates/env.rb.tt
80
+ - lib/generators/teaspoon/install/templates/env_comments.rb.tt
96
81
  - lib/tasks/teaspoon.rake
82
+ - lib/tasks/teaspoon/info.rake
83
+ - lib/teaspoon-devkit.rb
97
84
  - lib/teaspoon.rb
98
85
  - lib/teaspoon/command_line.rb
99
86
  - lib/teaspoon/configuration.rb
100
87
  - lib/teaspoon/console.rb
101
88
  - lib/teaspoon/coverage.rb
102
89
  - lib/teaspoon/deprecated.rb
103
- - lib/teaspoon/drivers/base.rb
104
- - lib/teaspoon/drivers/capybara_webkit_driver.rb
105
- - lib/teaspoon/drivers/phantomjs/runner.js
106
- - lib/teaspoon/drivers/phantomjs_driver.rb
107
- - lib/teaspoon/drivers/selenium_driver.rb
90
+ - lib/teaspoon/driver.rb
91
+ - lib/teaspoon/driver/base.rb
92
+ - lib/teaspoon/driver/capybara_webkit.rb
93
+ - lib/teaspoon/driver/phantomjs.rb
94
+ - lib/teaspoon/driver/phantomjs/runner.js
95
+ - lib/teaspoon/driver/selenium.rb
108
96
  - lib/teaspoon/engine.rb
109
97
  - lib/teaspoon/environment.rb
110
98
  - lib/teaspoon/exceptions.rb
111
99
  - lib/teaspoon/exporter.rb
112
- - lib/teaspoon/formatters/base.rb
113
- - lib/teaspoon/formatters/clean_formatter.rb
114
- - lib/teaspoon/formatters/description.rb
115
- - lib/teaspoon/formatters/documentation_formatter.rb
116
- - lib/teaspoon/formatters/dot_formatter.rb
117
- - lib/teaspoon/formatters/json_formatter.rb
118
- - lib/teaspoon/formatters/junit_formatter.rb
119
- - lib/teaspoon/formatters/modules/report_module.rb
120
- - lib/teaspoon/formatters/pride_formatter.rb
121
- - lib/teaspoon/formatters/rspec_html_formatter.rb
122
- - lib/teaspoon/formatters/snowday_formatter.rb
123
- - lib/teaspoon/formatters/swayze_or_oprah_formatter.rb
124
- - lib/teaspoon/formatters/tap_formatter.rb
125
- - lib/teaspoon/formatters/tap_y_formatter.rb
126
- - lib/teaspoon/formatters/teamcity_formatter.rb
100
+ - lib/teaspoon/formatter.rb
101
+ - lib/teaspoon/formatter/base.rb
102
+ - lib/teaspoon/formatter/clean.rb
103
+ - lib/teaspoon/formatter/documentation.rb
104
+ - lib/teaspoon/formatter/dot.rb
105
+ - lib/teaspoon/formatter/json.rb
106
+ - lib/teaspoon/formatter/junit.rb
107
+ - lib/teaspoon/formatter/modules/report_module.rb
108
+ - lib/teaspoon/formatter/pride.rb
109
+ - lib/teaspoon/formatter/rspec_html.rb
110
+ - lib/teaspoon/formatter/snowday.rb
111
+ - lib/teaspoon/formatter/swayze_or_oprah.rb
112
+ - lib/teaspoon/formatter/tap.rb
113
+ - lib/teaspoon/formatter/tap_y.rb
114
+ - lib/teaspoon/formatter/teamcity.rb
115
+ - lib/teaspoon/framework.rb
116
+ - lib/teaspoon/framework/base.rb
127
117
  - lib/teaspoon/instrumentation.rb
118
+ - lib/teaspoon/registry.rb
119
+ - lib/teaspoon/registry/has_default.rb
128
120
  - lib/teaspoon/result.rb
129
121
  - lib/teaspoon/runner.rb
130
122
  - lib/teaspoon/server.rb
131
123
  - lib/teaspoon/suite.rb
132
124
  - lib/teaspoon/utility.rb
133
125
  - lib/teaspoon/version.rb
134
- - spec/dummy/Rakefile
135
- - spec/dummy/app/assets/javascripts/instrumented1.coffee
136
- - spec/dummy/app/assets/javascripts/instrumented2.coffee
137
- - spec/dummy/app/assets/javascripts/integration/integration.coffee
138
- - spec/dummy/app/assets/javascripts/integration/integration_spec.coffee
139
- - spec/dummy/app/assets/javascripts/integration/spec_helper.coffee
140
- - spec/dummy/app/assets/javascripts/specs/asset_spec.js
141
- - spec/dummy/config.ru
142
- - spec/dummy/config/application.rb
143
- - spec/dummy/config/boot.rb
144
- - spec/dummy/config/environment.rb
145
- - spec/dummy/config/environments/development.rb
146
- - spec/dummy/config/environments/production.rb
147
- - spec/dummy/config/environments/test.rb
148
- - spec/dummy/config/routes.rb
149
- - spec/dummy/config/secrets.yml
150
- - spec/dummy/log/.gitkeep
151
- - spec/dummy/public/favicon.ico
152
- - spec/dummy/script/rails
153
- - spec/features/console_reporter_spec.rb
154
- - spec/features/hooks_spec.rb
155
- - spec/features/html_reporter_spec.rb
156
- - spec/features/install_generator_spec.rb
157
- - spec/features/instrumentation_spec.rb
158
- - spec/fixtures/coverage.json
159
- - spec/javascripts/fixtures/_body.html.erb
160
- - spec/javascripts/fixtures/fixture.html.haml
161
- - spec/javascripts/fixtures/fixture.json
162
- - spec/javascripts/jasmine_helper.coffee
163
- - spec/javascripts/mocha_helper.coffee
164
- - spec/javascripts/spec_helper.coffee
165
- - spec/javascripts/stylesheets/stylesheet.css.scss
166
- - spec/javascripts/support/json2.js
167
- - spec/javascripts/support/support.js.coffee
168
- - spec/javascripts/teaspoon/base/fixture_spec.coffee
169
- - spec/javascripts/teaspoon/base/reporters/console_spec.coffee
170
- - spec/javascripts/teaspoon/base/reporters/html/base_view_spec.coffee
171
- - spec/javascripts/teaspoon/base/reporters/html/failure_view_spec.coffee
172
- - spec/javascripts/teaspoon/base/reporters/html/progress_view_spec.coffee
173
- - spec/javascripts/teaspoon/base/reporters/html/spec_view_spec.coffee
174
- - spec/javascripts/teaspoon/base/reporters/html/suite_view_spec.coffee
175
- - spec/javascripts/teaspoon/base/reporters/html_spec.coffee
176
- - spec/javascripts/teaspoon/base/runner_spec.coffee
177
- - spec/javascripts/teaspoon/base/teaspoon_spec.coffee
178
- - spec/javascripts/teaspoon/jasmine/fixture_jspec.coffee
179
- - spec/javascripts/teaspoon/jasmine/models_jspec.coffee
180
- - spec/javascripts/teaspoon/jasmine/reporters/html_jspec.coffee
181
- - spec/javascripts/teaspoon/jasmine/runner_jspec.coffee
182
- - spec/javascripts/teaspoon/jasmine/spec_jspec.coffee
183
- - spec/javascripts/teaspoon/mocha/fixture_mspec.coffee
184
- - spec/javascripts/teaspoon/mocha/models_mspec.coffee
185
- - spec/javascripts/teaspoon/mocha/reporters/console_mspec.coffee
186
- - spec/javascripts/teaspoon/mocha/reporters/html_mspec.coffee
187
- - spec/javascripts/teaspoon/mocha/runner_mspec.coffee
188
- - spec/javascripts/teaspoon/mocha/spec_mspec.coffee
189
- - spec/javascripts/teaspoon/other/erb_spec.js.coffee.erb
190
- - spec/javascripts/teaspoon/phantomjs/runner_spec.coffee
191
- - spec/javascripts/turbolinks_helper.coffee
192
- - spec/spec_helper.rb
193
- - spec/support/aruba.rb
194
- - spec/teaspoon/command_line_spec.rb
195
- - spec/teaspoon/configuration_spec.rb
196
- - spec/teaspoon/console_spec.rb
197
- - spec/teaspoon/coverage_spec.rb
198
- - spec/teaspoon/drivers/base_spec.rb
199
- - spec/teaspoon/drivers/capybara_webkit_driver_spec.rb
200
- - spec/teaspoon/drivers/phantomjs_driver_spec.rb
201
- - spec/teaspoon/drivers/selenium_driver_spec.rb
202
- - spec/teaspoon/engine_spec.rb
203
- - spec/teaspoon/environment_spec.rb
204
- - spec/teaspoon/exceptions_spec.rb
205
- - spec/teaspoon/exporter_spec.rb
206
- - spec/teaspoon/formatters/base_spec.rb
207
- - spec/teaspoon/formatters/clean_formatter_spec.rb
208
- - spec/teaspoon/formatters/documentation_formatter_spec.rb
209
- - spec/teaspoon/formatters/dot_formatter_spec.rb
210
- - spec/teaspoon/formatters/json_formatter_spec.rb
211
- - spec/teaspoon/formatters/junit_formatter_spec.rb
212
- - spec/teaspoon/formatters/pride_formatter_spec.rb
213
- - spec/teaspoon/formatters/rspec_html_formatter_spec.rb
214
- - spec/teaspoon/formatters/snowday_formatter_spec.rb
215
- - spec/teaspoon/formatters/tap_formatter_spec.rb
216
- - spec/teaspoon/formatters/tap_y_formatter_spec.rb
217
- - spec/teaspoon/formatters/teamcity_formatter_spec.rb
218
- - spec/teaspoon/instrumentation_spec.rb
219
- - spec/teaspoon/result_spec.rb
220
- - spec/teaspoon/runner_spec.rb
221
- - spec/teaspoon/server_spec.rb
222
- - spec/teaspoon/suite_spec.rb
223
- - spec/teaspoon_env.rb
224
- - test/javascripts/qunit_helper.coffee
225
- - test/javascripts/teaspoon/qunit/fixture_test.coffee
226
- - test/javascripts/teaspoon/qunit/models_test.coffee
227
- - test/javascripts/teaspoon/qunit/reporters/console_test.coffee
228
- - test/javascripts/teaspoon/qunit/reporters/html/failure_view_test.coffee
229
- - test/javascripts/teaspoon/qunit/reporters/html/spec_view_test.coffee
230
- - test/javascripts/teaspoon/qunit/reporters/html/suite_view_test.coffee
231
- - test/javascripts/teaspoon/qunit/reporters/html_test.coffee
232
- - test/javascripts/teaspoon/qunit/runner_test.coffee
233
- - vendor/assets/javascripts/jasmine/1.3.1.js
234
- - vendor/assets/javascripts/jasmine/2.0.0.js
235
- - vendor/assets/javascripts/jasmine/MIT.LICENSE
236
- - vendor/assets/javascripts/mocha/1.10.0.js
237
- - vendor/assets/javascripts/mocha/1.17.1.js
238
- - vendor/assets/javascripts/mocha/MIT.LICENSE
239
- - vendor/assets/javascripts/qunit/1.12.0.js
240
- - vendor/assets/javascripts/qunit/1.14.0.js
241
- - vendor/assets/javascripts/qunit/MIT.LICENSE
242
- - vendor/assets/javascripts/support/bind-poly.js
243
- - vendor/assets/javascripts/support/chai-1.10.0.js
244
- - vendor/assets/javascripts/support/chai-jq-0.0.7.js
245
- - vendor/assets/javascripts/support/chai.js
246
- - vendor/assets/javascripts/support/expect.js
247
- - vendor/assets/javascripts/support/jasmine-jquery-1.7.0.js
248
- - vendor/assets/javascripts/support/jasmine-jquery-2.0.0.js
249
- - vendor/assets/javascripts/support/sinon-chai.js
250
- - vendor/assets/javascripts/support/sinon.js
251
126
  homepage: https://github.com/modeset/teaspoon
252
127
  licenses:
253
128
  - MIT
@@ -272,103 +147,4 @@ rubygems_version: 2.4.5
272
147
  signing_key:
273
148
  specification_version: 4
274
149
  summary: 'Teaspoon: A Javascript test runner built on top of Rails'
275
- test_files:
276
- - spec/dummy/Rakefile
277
- - spec/dummy/app/assets/javascripts/instrumented1.coffee
278
- - spec/dummy/app/assets/javascripts/instrumented2.coffee
279
- - spec/dummy/app/assets/javascripts/integration/integration.coffee
280
- - spec/dummy/app/assets/javascripts/integration/integration_spec.coffee
281
- - spec/dummy/app/assets/javascripts/integration/spec_helper.coffee
282
- - spec/dummy/app/assets/javascripts/specs/asset_spec.js
283
- - spec/dummy/config.ru
284
- - spec/dummy/config/application.rb
285
- - spec/dummy/config/boot.rb
286
- - spec/dummy/config/environment.rb
287
- - spec/dummy/config/environments/development.rb
288
- - spec/dummy/config/environments/production.rb
289
- - spec/dummy/config/environments/test.rb
290
- - spec/dummy/config/routes.rb
291
- - spec/dummy/config/secrets.yml
292
- - spec/dummy/log/.gitkeep
293
- - spec/dummy/public/favicon.ico
294
- - spec/dummy/script/rails
295
- - spec/features/console_reporter_spec.rb
296
- - spec/features/hooks_spec.rb
297
- - spec/features/html_reporter_spec.rb
298
- - spec/features/install_generator_spec.rb
299
- - spec/features/instrumentation_spec.rb
300
- - spec/fixtures/coverage.json
301
- - spec/javascripts/fixtures/_body.html.erb
302
- - spec/javascripts/fixtures/fixture.html.haml
303
- - spec/javascripts/fixtures/fixture.json
304
- - spec/javascripts/jasmine_helper.coffee
305
- - spec/javascripts/mocha_helper.coffee
306
- - spec/javascripts/spec_helper.coffee
307
- - spec/javascripts/stylesheets/stylesheet.css.scss
308
- - spec/javascripts/support/json2.js
309
- - spec/javascripts/support/support.js.coffee
310
- - spec/javascripts/teaspoon/base/fixture_spec.coffee
311
- - spec/javascripts/teaspoon/base/reporters/console_spec.coffee
312
- - spec/javascripts/teaspoon/base/reporters/html/base_view_spec.coffee
313
- - spec/javascripts/teaspoon/base/reporters/html/failure_view_spec.coffee
314
- - spec/javascripts/teaspoon/base/reporters/html/progress_view_spec.coffee
315
- - spec/javascripts/teaspoon/base/reporters/html/spec_view_spec.coffee
316
- - spec/javascripts/teaspoon/base/reporters/html/suite_view_spec.coffee
317
- - spec/javascripts/teaspoon/base/reporters/html_spec.coffee
318
- - spec/javascripts/teaspoon/base/runner_spec.coffee
319
- - spec/javascripts/teaspoon/base/teaspoon_spec.coffee
320
- - spec/javascripts/teaspoon/jasmine/fixture_jspec.coffee
321
- - spec/javascripts/teaspoon/jasmine/models_jspec.coffee
322
- - spec/javascripts/teaspoon/jasmine/reporters/html_jspec.coffee
323
- - spec/javascripts/teaspoon/jasmine/runner_jspec.coffee
324
- - spec/javascripts/teaspoon/jasmine/spec_jspec.coffee
325
- - spec/javascripts/teaspoon/mocha/fixture_mspec.coffee
326
- - spec/javascripts/teaspoon/mocha/models_mspec.coffee
327
- - spec/javascripts/teaspoon/mocha/reporters/console_mspec.coffee
328
- - spec/javascripts/teaspoon/mocha/reporters/html_mspec.coffee
329
- - spec/javascripts/teaspoon/mocha/runner_mspec.coffee
330
- - spec/javascripts/teaspoon/mocha/spec_mspec.coffee
331
- - spec/javascripts/teaspoon/other/erb_spec.js.coffee.erb
332
- - spec/javascripts/teaspoon/phantomjs/runner_spec.coffee
333
- - spec/javascripts/turbolinks_helper.coffee
334
- - spec/spec_helper.rb
335
- - spec/support/aruba.rb
336
- - spec/teaspoon/command_line_spec.rb
337
- - spec/teaspoon/configuration_spec.rb
338
- - spec/teaspoon/console_spec.rb
339
- - spec/teaspoon/coverage_spec.rb
340
- - spec/teaspoon/drivers/base_spec.rb
341
- - spec/teaspoon/drivers/capybara_webkit_driver_spec.rb
342
- - spec/teaspoon/drivers/phantomjs_driver_spec.rb
343
- - spec/teaspoon/drivers/selenium_driver_spec.rb
344
- - spec/teaspoon/engine_spec.rb
345
- - spec/teaspoon/environment_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
351
- - spec/teaspoon/formatters/dot_formatter_spec.rb
352
- - spec/teaspoon/formatters/json_formatter_spec.rb
353
- - spec/teaspoon/formatters/junit_formatter_spec.rb
354
- - spec/teaspoon/formatters/pride_formatter_spec.rb
355
- - spec/teaspoon/formatters/rspec_html_formatter_spec.rb
356
- - spec/teaspoon/formatters/snowday_formatter_spec.rb
357
- - spec/teaspoon/formatters/tap_formatter_spec.rb
358
- - spec/teaspoon/formatters/tap_y_formatter_spec.rb
359
- - spec/teaspoon/formatters/teamcity_formatter_spec.rb
360
- - spec/teaspoon/instrumentation_spec.rb
361
- - spec/teaspoon/result_spec.rb
362
- - spec/teaspoon/runner_spec.rb
363
- - spec/teaspoon/server_spec.rb
364
- - spec/teaspoon/suite_spec.rb
365
- - spec/teaspoon_env.rb
366
- - test/javascripts/qunit_helper.coffee
367
- - test/javascripts/teaspoon/qunit/fixture_test.coffee
368
- - test/javascripts/teaspoon/qunit/models_test.coffee
369
- - test/javascripts/teaspoon/qunit/reporters/console_test.coffee
370
- - test/javascripts/teaspoon/qunit/reporters/html/failure_view_test.coffee
371
- - test/javascripts/teaspoon/qunit/reporters/html/spec_view_test.coffee
372
- - test/javascripts/teaspoon/qunit/reporters/html/suite_view_test.coffee
373
- - test/javascripts/teaspoon/qunit/reporters/html_test.coffee
374
- - test/javascripts/teaspoon/qunit/runner_test.coffee
150
+ test_files: []