teaspoon 0.9.1 → 1.0.0

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