teaspoon-qunit 1.18.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 (46) hide show
  1. checksums.yaml +7 -0
  2. data/lib/teaspoon-qunit.rb +4 -0
  3. data/lib/teaspoon/qunit/assets/qunit/1.12.0.js +2212 -0
  4. data/lib/teaspoon/qunit/assets/qunit/1.13.0.js +2210 -0
  5. data/lib/teaspoon/qunit/assets/qunit/1.14.0.js +2288 -0
  6. data/lib/teaspoon/qunit/assets/qunit/1.15.0.js +2495 -0
  7. data/lib/teaspoon/qunit/assets/qunit/1.16.0.js +2819 -0
  8. data/lib/teaspoon/qunit/assets/qunit/1.17.1.js +2875 -0
  9. data/lib/teaspoon/qunit/assets/qunit/1.18.0.js +3828 -0
  10. data/lib/teaspoon/qunit/assets/qunit/MIT.LICENSE +21 -0
  11. data/lib/teaspoon/qunit/assets/teaspoon-qunit.js +1529 -0
  12. data/lib/teaspoon/qunit/assets/teaspoon/qunit.coffee +19 -0
  13. data/lib/teaspoon/qunit/assets/teaspoon/qunit/initialize.coffee +11 -0
  14. data/lib/teaspoon/qunit/assets/teaspoon/qunit/reporters/html.coffee +20 -0
  15. data/lib/teaspoon/qunit/assets/teaspoon/qunit/reporters/html/failure_view.coffee +10 -0
  16. data/lib/teaspoon/qunit/assets/teaspoon/qunit/reporters/html/spec_view.coffee +21 -0
  17. data/lib/teaspoon/qunit/assets/teaspoon/qunit/reporters/html/suite_view.coffee +8 -0
  18. data/lib/teaspoon/qunit/assets/teaspoon/qunit/responder.coffee +48 -0
  19. data/lib/teaspoon/qunit/assets/teaspoon/qunit/runner.coffee +12 -0
  20. data/lib/teaspoon/qunit/assets/teaspoon/qunit/spec.coffee +45 -0
  21. data/lib/teaspoon/qunit/assets/teaspoon/qunit/suite.coffee +16 -0
  22. data/lib/teaspoon/qunit/framework.rb +36 -0
  23. data/lib/teaspoon/qunit/templates/test_helper.coffee +29 -0
  24. data/lib/teaspoon/qunit/templates/test_helper.js +30 -0
  25. data/lib/teaspoon/qunit/version.rb +5 -0
  26. data/spec/console_spec.rb +75 -0
  27. data/spec/installation_spec.rb +35 -0
  28. data/spec/integration_spec.rb +73 -0
  29. data/spec/spec_helper.rb +11 -0
  30. data/test/javascripts/integration/_implementation.coffee +1 -0
  31. data/test/javascripts/integration/first_integration.coffee +14 -0
  32. data/test/javascripts/integration/second_integration.coffee +6 -0
  33. data/test/javascripts/integration/test_helper.coffee +9 -0
  34. data/test/javascripts/qunit/fixture_test.coffee +10 -0
  35. data/test/javascripts/qunit/reporters/console_test.coffee +3 -0
  36. data/test/javascripts/qunit/reporters/html/failure_view_test.coffee +3 -0
  37. data/test/javascripts/qunit/reporters/html/spec_view_test.coffee +3 -0
  38. data/test/javascripts/qunit/reporters/html/suite_view_test.coffee +3 -0
  39. data/test/javascripts/qunit/reporters/html_test.coffee +3 -0
  40. data/test/javascripts/qunit/responder_test.coffee +153 -0
  41. data/test/javascripts/qunit/runner_test.coffee +24 -0
  42. data/test/javascripts/qunit/spec_test.coffee +53 -0
  43. data/test/javascripts/qunit/suite_test.coffee +10 -0
  44. data/test/javascripts/test_helper.coffee +4 -0
  45. data/test/teaspoon_env.rb +12 -0
  46. metadata +124 -0
@@ -0,0 +1,73 @@
1
+ require_relative "./spec_helper"
2
+
3
+ feature "Running in the browser", browser: true do
4
+ before do
5
+ path = File.expand_path("../../test/javascripts", __FILE__)
6
+ set_teaspoon_suite do |c|
7
+ c.use_framework :qunit
8
+ c.matcher = "#{path}/**/*_integration.{js,js.coffee,coffee}"
9
+ end
10
+ end
11
+
12
+ describe "when on the suites page" do
13
+ it "lists the suites" do
14
+ visit "/teaspoon"
15
+
16
+ within("#teaspoon-suite-list") do
17
+ expect(page).to have_text("default")
18
+ expect(page).to have_text("first_integration.js")
19
+ expect(page).to have_text("second_integration.js")
20
+ end
21
+ end
22
+ end
23
+
24
+ describe "when running specs" do
25
+ it "generates the expected results" do
26
+ visit "/teaspoon/default"
27
+
28
+ within("#teaspoon-progress") do
29
+ expect(find("em")).to have_text("100%")
30
+ end
31
+
32
+ within("#teaspoon-stats") do
33
+ expect(find("li:nth-child(1)")).to have_text("passes: 2")
34
+ expect(find("li:nth-child(2)")).to have_text("failures: 3")
35
+ expect(find("li:nth-child(3)")).to have_text("skipped: 0")
36
+ end
37
+
38
+ within("#teaspoon-report-failures") do
39
+ expect(find("li.spec:nth-child(1)")).
40
+ to have_text("global failure TypeError: foo is not a function")
41
+ expect(find("li.spec:nth-child(2)")).
42
+ to have_text("Integration tests allows failing specs fails correctly")
43
+ end
44
+ end
45
+
46
+ it "allows toggling the progress indicator" do
47
+ visit "/teaspoon/default"
48
+
49
+ find("#teaspoon-display-progress").click
50
+ expect(page).not_to have_text("100%")
51
+
52
+ find("#teaspoon-display-progress").click
53
+ expect(page).to have_text("100%")
54
+ end
55
+
56
+ it "allows toggling full reports" do
57
+ visit "/teaspoon/default"
58
+
59
+ expect(page).not_to have_selector("#teaspoon-report-all")
60
+
61
+ find("#teaspoon-build-full-report").click
62
+ text = find("#teaspoon-report-all").text
63
+ expect(text).to include("global failure")
64
+ expect(text).to include("Integration tests allows failing specs")
65
+ expect(text).to include("allows erroring specs")
66
+ expect(text).to include("allows passing specs")
67
+ expect(text).to include("Another top level integration test allows passing specs")
68
+
69
+ find("#teaspoon-build-full-report").click
70
+ expect(page).not_to have_selector("#teaspoon-report-all")
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,11 @@
1
+ require "teaspoon-devkit"
2
+
3
+ # Set the path for our teaspoon_env.
4
+ # This is used within the dummy app, and allows us to tailor the teasooon
5
+ # configuration to our specific needs.
6
+ ENV["TEASPOON_ENV"] = File.expand_path("../../test/teaspoon_env.rb", __FILE__)
7
+
8
+ # Require the teaspoon-devkit spec_helper.
9
+ # This does several things, likes gives us a dummy application, capybara, aruba
10
+ # and other spec support libraries.
11
+ require Teaspoon::SPEC_HELPER
@@ -0,0 +1 @@
1
+ implementation = -> 'foo'
@@ -0,0 +1,14 @@
1
+ #= require integration/test_helper
2
+
3
+ module "Integration tests"
4
+
5
+ test "allows failing specs", ->
6
+ ok(true == false, "fails correctly")
7
+
8
+ test "allows erroring specs", ->
9
+ # todo: calling foo() isn't really possible as it stops the suite
10
+ ok(true == false, "errors correctly")
11
+
12
+ test "allows passing specs", ->
13
+ console.log('it can log to the console')
14
+ ok(true == true)
@@ -0,0 +1,6 @@
1
+ #= require integration/test_helper
2
+
3
+ module "Another top level integration test"
4
+
5
+ test "allows passing specs", ->
6
+ ok(true == true)
@@ -0,0 +1,9 @@
1
+ #= require integration/_implementation
2
+
3
+ window.onload = ->
4
+ el = document.createElement("DIV")
5
+ el.id = "spec_helper_el"
6
+ el.innerHTML = "this was generated by the spec_helper"
7
+ document.body.appendChild(el)
8
+
9
+ foo = foo()
@@ -0,0 +1,10 @@
1
+ fixture.preload("fixture.html", "fixture.json") # make the actual requests for the files
2
+ module "Using fixtures",
3
+ setup: ->
4
+ fixture.set("<h2>Another Title</h2>") # create some markup manually
5
+ @fixtures = fixture.load("fixture.html", "fixture.json", true) # append these fixtures
6
+
7
+ test "loads fixtures", ->
8
+ ok(document.getElementById("fixture_view").tagName == "DIV", "is in the dom")
9
+ ok(@fixtures[0] == fixture.el, "has return values for the el") # the element is available as a return value and through fixture.el
10
+ ok(@fixtures[1].title == fixture.json[0].title, "has return values for json") # the json for json fixtures is returned, and available in fixture.json
@@ -0,0 +1,3 @@
1
+ module "QUnit Teaspoon.Resporters.Console"
2
+
3
+ test "constructor", 0, ->
@@ -0,0 +1,3 @@
1
+ module "QUnit Teaspoon.Reporters.HTML.FailureView"
2
+
3
+ test "constructor", 0, ->
@@ -0,0 +1,3 @@
1
+ module "QUnit Teaspoon.Reporters.HTML.SpecView"
2
+
3
+ test "constructor", 0, ->
@@ -0,0 +1,3 @@
1
+ module "QUnit Teaspoon.Reporters.HTML.SuiteView"
2
+
3
+ test "constructor", 0, ->
@@ -0,0 +1,3 @@
1
+ module "QUnit Teaspoon.Reporters.HTML"
2
+
3
+ test "constructor", 0, ->
@@ -0,0 +1,153 @@
1
+ module "Teaspoon.Qunit.Responder",
2
+ setup: ->
3
+ @beginDetails =
4
+ totalTests: 42
5
+ @doneDetails =
6
+ failed: 20
7
+ passed: 22
8
+ total: 42
9
+ runtime: 999
10
+ @moduleStartedDetails =
11
+ name: "module1"
12
+ @moduleDoneDetails =
13
+ name: "module1"
14
+ failed: 20
15
+ passed: 22
16
+ total: 42
17
+ runtime: 999
18
+ @testStartedDetails =
19
+ name: "test1"
20
+ module: "module1"
21
+ @testDoneDetails =
22
+ name: "test1"
23
+ module: "module1"
24
+ failed: 20
25
+ passed: 22
26
+ total: 42
27
+ runtime: 999
28
+ @logDetails =
29
+ name: "test1"
30
+ module: "module1"
31
+ result: true
32
+ message: "1 == 1"
33
+
34
+ @qunit =
35
+ begin: ->
36
+ done: ->
37
+ moduleStart: ->
38
+ moduleDone: ->
39
+ testStart: ->
40
+ testDone: ->
41
+ log: ->
42
+ @reporter =
43
+ reportRunnerStarting: ->
44
+ reportRunnerResults: ->
45
+ reportSuiteStarting: ->
46
+ reportSuiteResults: ->
47
+ reportSpecStarting: ->
48
+ reportSpecResults: ->
49
+ @responder = new Teaspoon.Qunit.Responder(@qunit, @reporter)
50
+
51
+
52
+ test "constructor sets up test callbacks", ->
53
+ sinon.stub(@qunit, "done")
54
+ sinon.stub(@qunit, "moduleStart")
55
+ sinon.stub(@qunit, "moduleDone")
56
+ sinon.stub(@qunit, "testDone")
57
+ sinon.stub(@qunit, "log")
58
+
59
+ responder = new Teaspoon.Qunit.Responder(@qunit, @reporter)
60
+
61
+ ok(@qunit.done.calledWith(responder.runnerDone), "done hook was established")
62
+ ok(@qunit.moduleStart.calledWith(responder.suiteStarted), "moduleStart hook was established")
63
+ ok(@qunit.moduleDone.calledWith(responder.suiteDone), "moduleDone hook was established")
64
+ ok(@qunit.testDone.calledWith(responder.specDone), "testDone hook was established")
65
+ ok(@qunit.log.calledWith(responder.assertionDone), "log hook was established")
66
+
67
+
68
+ test "constructor reports the runner starting if QUnit version is <= 1.15.0", ->
69
+ sinon.stub(Teaspoon.Qunit, "rawVersion", -> "0.15.0")
70
+ sinon.stub(@qunit, "begin")
71
+ sinon.stub(@reporter, "reportRunnerStarting")
72
+
73
+ new Teaspoon.Qunit.Responder(@qunit, @reporter)
74
+
75
+ ok(!@qunit.begin.called, "begin hook was not established")
76
+ ok(@reporter.reportRunnerStarting.calledWith(total: null), "reportRunnerStarting was called")
77
+
78
+ Teaspoon.Qunit.rawVersion.restore()
79
+
80
+
81
+ test "constructor sets up the begin callback if QUnit version is >= 1.16.0", ->
82
+ sinon.stub(Teaspoon.Qunit, "rawVersion", -> "0.16.0")
83
+ sinon.stub(@qunit, "begin")
84
+ sinon.stub(@reporter, "reportRunnerStarting")
85
+
86
+ responder = new Teaspoon.Qunit.Responder(@qunit, @reporter)
87
+
88
+ ok(@qunit.begin.calledWith(responder.runnerStarted), "begin hook was established")
89
+ ok(!@reporter.reportRunnerStarting.called, "reportRunnerStarting was not called")
90
+
91
+ Teaspoon.Qunit.rawVersion.restore()
92
+
93
+
94
+ test "QUnit.begin reports the runner starting", ->
95
+ sinon.stub(@reporter, "reportRunnerStarting")
96
+
97
+ @responder.runnerStarted(@beginDetails)
98
+
99
+ ok(@reporter.reportRunnerStarting.calledWith(total: 42), "reportRunnerStarting was called")
100
+
101
+
102
+ test "QUnit.done reports the runner finishing", ->
103
+ sinon.stub(@reporter, "reportRunnerResults")
104
+
105
+ @responder.runnerDone(@doneDetails)
106
+
107
+ ok(@reporter.reportRunnerResults.calledWith(@doneDetails), "reportRunnerResults was called")
108
+
109
+
110
+ test "QUnit.moduleStart reports the suite starting", ->
111
+ sinon.stub(@reporter, "reportSuiteStarting")
112
+
113
+ @responder.suiteStarted(@moduleStartedDetails)
114
+
115
+ suiteArg = @reporter.reportSuiteStarting.args[0][0]
116
+ ok(suiteArg instanceof Teaspoon.Qunit.Suite, "a suite instance is passed")
117
+ equal(suiteArg.description, "module1", "the suite has a description")
118
+
119
+
120
+ test "QUnit.moduleDone reports the suite finishing", ->
121
+ sinon.stub(@reporter, "reportSuiteResults")
122
+
123
+ @responder.suiteDone(@moduleDoneDetails)
124
+
125
+ suiteArg = @reporter.reportSuiteResults.args[0][0]
126
+ ok(suiteArg instanceof Teaspoon.Qunit.Suite, "a suite instance is passed")
127
+ equal(suiteArg.description, "module1", "the suite has a description")
128
+
129
+
130
+ test "QUnit.testDone reports the spec starting and finishing", ->
131
+ sinon.stub(@reporter, "reportSpecStarting")
132
+ sinon.stub(@reporter, "reportSpecResults")
133
+
134
+ @responder.specDone(@testDoneDetails)
135
+
136
+ specArg = @reporter.reportSpecStarting.args[0][0]
137
+ ok(specArg instanceof Teaspoon.Qunit.Spec, "a test instance is passed")
138
+ ok(/test1/.test(specArg.description), "the test has a description")
139
+
140
+ specArg = @reporter.reportSpecResults.args[0][0]
141
+ ok(specArg instanceof Teaspoon.Qunit.Spec, "a test instance is passed")
142
+ ok(/test1/.test(specArg.description), "the test has a description")
143
+
144
+
145
+ test "QUnit.testDone associates accumulated assertions", ->
146
+ sinon.stub(@reporter, "reportSpecResults")
147
+
148
+ @responder.assertionDone(@logDetails)
149
+ @responder.specDone(@testDoneDetails)
150
+
151
+ specArg = @reporter.reportSpecResults.args[0][0]
152
+ equal(specArg.spec.assertions.length, 1, "reportSpecResults was called with one assertion")
153
+ equal(specArg.spec.assertions[0], @logDetails, "reportSpecResults was called with reported assertions")
@@ -0,0 +1,24 @@
1
+ module "Teaspoon.Qunit.Runner",
2
+ setup: ->
3
+ QUnit.start = sinon.spy()
4
+ Teaspoon.Qunit.Runner.prototype.reportRunnerStarting = sinon.spy()
5
+
6
+ test "constructor tells QUnit to start", 1, ->
7
+ new Teaspoon.Qunit.Runner()
8
+ ok(QUnit.start.called, "QUnit.start was called")
9
+
10
+ test "#setup fetches the reporter", ->
11
+ runner = new Teaspoon.Qunit.Runner()
12
+ runner.params = {grep: "foo"}
13
+ reporter = ->
14
+ reportRunnerStarting: ->
15
+ reportRunnerResults: ->
16
+ reportSuiteStarting: ->
17
+ reportSuiteResults: ->
18
+ reportSpecStarting: ->
19
+ reportSpecResults: ->
20
+ runner.getReporter = sinon.spy(-> reporter)
21
+
22
+ runner.setup()
23
+
24
+ ok(runner.getReporter.called, "#getReporter was called")
@@ -0,0 +1,53 @@
1
+ module "Teaspoon.Qunit.Spec",
2
+ setup: ->
3
+ @mockAssertions = [
4
+ {message: "_qunit_message1_", source: "_source1_"}
5
+ {message: "_qunit_message2_", source: "_source2_"}
6
+ {source: "_source3_", expected: 1, actual: 2}
7
+ {source: "_source4_"}
8
+ ]
9
+ @mockSpec =
10
+ module: "_full qunit name_"
11
+ name: "_description_"
12
+ failed: 1
13
+ passed: 2
14
+ total: 3
15
+ viewId: 420
16
+ assertions: @mockAssertions
17
+
18
+ test "constructor", 7, ->
19
+ spec = new Teaspoon.Qunit.Spec(@mockSpec)
20
+ ok(spec.fullDescription == "_full qunit name_ _description_", "sets fullDescription")
21
+ ok(spec.description == "_description_ (1, 2, 3)", "sets description")
22
+ ok(spec.link == "?grep=_full%20qunit%20name_%3A%20_description_", "sets link")
23
+ ok(spec.parent.description == "_full qunit name_", "builds a parent suite")
24
+ ok(spec.suiteName == "_full qunit name_", "sets suiteName")
25
+ ok(spec.viewId == 420, "sets viewId")
26
+ ok(spec.pending == false, "sets pending to false") # no pending support
27
+
28
+ test "#errors", 5, ->
29
+ errors = new Teaspoon.Qunit.Spec(@mockSpec).errors()
30
+ ok(errors.length == 4, "returns the correct length array")
31
+ equal(errors[0].message, "_qunit_message1_", "the first item in the returned array is correct")
32
+ equal(errors[0].stack, "_source1_", "the first item in the returned array is correct")
33
+ equal(errors[2].message, "Expected 2 to equal 1", "a nice fallback message is provided if QUnit does not provide one")
34
+ equal(errors[3].message, "failed", "some fallback message is provided if QUnit does not provide any information")
35
+
36
+ test "#getParents", 3, ->
37
+ spec = new Teaspoon.Qunit.Spec(@mockSpec)
38
+ ok(spec.getParents().length == 1, "returns the right number of parents")
39
+ ok(spec.getParents()[0].description == "_full qunit name_", "the parent has a description")
40
+
41
+ delete(@mockSpec.module)
42
+ spec = new Teaspoon.Qunit.Spec(@mockSpec)
43
+ ok(spec.getParents().length == 0, "returns an empty array")
44
+
45
+ test "#result", 3, ->
46
+ @mockSpec.failed = 0
47
+ result = new Teaspoon.Qunit.Spec(@mockSpec).result()
48
+ ok(result.status == "passed", "sets the status to passed")
49
+ ok(result.skipped == false, "sets skipped to false") # ever skipped?
50
+
51
+ @mockSpec.failed = 1
52
+ result = new Teaspoon.Qunit.Spec(@mockSpec).result()
53
+ ok(result.status == "failed", "sets the status to failed")
@@ -0,0 +1,10 @@
1
+ module "Teaspoon.Qunit.Suite",
2
+ setup: ->
3
+ @mockSuite = description: "_full qunit description_"
4
+
5
+ test "constructor", 4, ->
6
+ suite = new Teaspoon.Qunit.Suite(@mockSuite)
7
+ ok(suite.fullDescription == "_full qunit description_", "sets fullDescription")
8
+ ok(suite.description == "_full qunit description_", "sets description")
9
+ ok(suite.link == "?grep=_full%20qunit%20description_", "sets link")
10
+ ok(suite.parent == null, "sets parent to null") # no structure to consider
@@ -0,0 +1,4 @@
1
+ #= require support/sinon
2
+
3
+ window.passing = true
4
+ window.failing = false
@@ -0,0 +1,12 @@
1
+ require "teaspoon-devkit"
2
+ Teaspoon.require_dummy!
3
+
4
+ Teaspoon.configure do |config|
5
+ config.asset_paths << path = File.expand_path("../javascripts", __FILE__)
6
+ config.fixture_paths << Teaspoon::FIXTURE_PATH
7
+
8
+ config.suite do |suite|
9
+ suite.use_framework :qunit, "1.18.0"
10
+ suite.matcher = "#{path}/**/*_test.{js,js.coffee,coffee}"
11
+ end
12
+ end
metadata ADDED
@@ -0,0 +1,124 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: teaspoon-qunit
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.18.0
5
+ platform: ruby
6
+ authors:
7
+ - jejacks0n
8
+ - mikepack
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2015-05-04 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: teaspoon
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: 1.0.0
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: 1.0.0
28
+ description: Run QUnit specs in the browser or headless with PhantomJS, Selenium Webdriver,
29
+ or Capybara Webkit
30
+ email:
31
+ - info@modeset.com
32
+ executables: []
33
+ extensions: []
34
+ extra_rdoc_files: []
35
+ files:
36
+ - lib/teaspoon-qunit.rb
37
+ - lib/teaspoon/qunit/assets/qunit/1.12.0.js
38
+ - lib/teaspoon/qunit/assets/qunit/1.13.0.js
39
+ - lib/teaspoon/qunit/assets/qunit/1.14.0.js
40
+ - lib/teaspoon/qunit/assets/qunit/1.15.0.js
41
+ - lib/teaspoon/qunit/assets/qunit/1.16.0.js
42
+ - lib/teaspoon/qunit/assets/qunit/1.17.1.js
43
+ - lib/teaspoon/qunit/assets/qunit/1.18.0.js
44
+ - lib/teaspoon/qunit/assets/qunit/MIT.LICENSE
45
+ - lib/teaspoon/qunit/assets/teaspoon-qunit.js
46
+ - lib/teaspoon/qunit/assets/teaspoon/qunit.coffee
47
+ - lib/teaspoon/qunit/assets/teaspoon/qunit/initialize.coffee
48
+ - lib/teaspoon/qunit/assets/teaspoon/qunit/reporters/html.coffee
49
+ - lib/teaspoon/qunit/assets/teaspoon/qunit/reporters/html/failure_view.coffee
50
+ - lib/teaspoon/qunit/assets/teaspoon/qunit/reporters/html/spec_view.coffee
51
+ - lib/teaspoon/qunit/assets/teaspoon/qunit/reporters/html/suite_view.coffee
52
+ - lib/teaspoon/qunit/assets/teaspoon/qunit/responder.coffee
53
+ - lib/teaspoon/qunit/assets/teaspoon/qunit/runner.coffee
54
+ - lib/teaspoon/qunit/assets/teaspoon/qunit/spec.coffee
55
+ - lib/teaspoon/qunit/assets/teaspoon/qunit/suite.coffee
56
+ - lib/teaspoon/qunit/framework.rb
57
+ - lib/teaspoon/qunit/templates/test_helper.coffee
58
+ - lib/teaspoon/qunit/templates/test_helper.js
59
+ - lib/teaspoon/qunit/version.rb
60
+ - spec/console_spec.rb
61
+ - spec/installation_spec.rb
62
+ - spec/integration_spec.rb
63
+ - spec/spec_helper.rb
64
+ - test/javascripts/integration/_implementation.coffee
65
+ - test/javascripts/integration/first_integration.coffee
66
+ - test/javascripts/integration/second_integration.coffee
67
+ - test/javascripts/integration/test_helper.coffee
68
+ - test/javascripts/qunit/fixture_test.coffee
69
+ - test/javascripts/qunit/reporters/console_test.coffee
70
+ - test/javascripts/qunit/reporters/html/failure_view_test.coffee
71
+ - test/javascripts/qunit/reporters/html/spec_view_test.coffee
72
+ - test/javascripts/qunit/reporters/html/suite_view_test.coffee
73
+ - test/javascripts/qunit/reporters/html_test.coffee
74
+ - test/javascripts/qunit/responder_test.coffee
75
+ - test/javascripts/qunit/runner_test.coffee
76
+ - test/javascripts/qunit/spec_test.coffee
77
+ - test/javascripts/qunit/suite_test.coffee
78
+ - test/javascripts/test_helper.coffee
79
+ - test/teaspoon_env.rb
80
+ homepage: https://github.com/modeset/teaspoon
81
+ licenses:
82
+ - MIT
83
+ metadata: {}
84
+ post_install_message:
85
+ rdoc_options: []
86
+ require_paths:
87
+ - lib
88
+ required_ruby_version: !ruby/object:Gem::Requirement
89
+ requirements:
90
+ - - ">="
91
+ - !ruby/object:Gem::Version
92
+ version: '0'
93
+ required_rubygems_version: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ requirements: []
99
+ rubyforge_project:
100
+ rubygems_version: 2.4.5
101
+ signing_key:
102
+ specification_version: 4
103
+ summary: 'Teaspoon QUnit: A Javascript test runner built on top of Rails for QUnit'
104
+ test_files:
105
+ - spec/console_spec.rb
106
+ - spec/installation_spec.rb
107
+ - spec/integration_spec.rb
108
+ - spec/spec_helper.rb
109
+ - test/javascripts/integration/_implementation.coffee
110
+ - test/javascripts/integration/first_integration.coffee
111
+ - test/javascripts/integration/second_integration.coffee
112
+ - test/javascripts/integration/test_helper.coffee
113
+ - test/javascripts/qunit/fixture_test.coffee
114
+ - test/javascripts/qunit/reporters/console_test.coffee
115
+ - test/javascripts/qunit/reporters/html/failure_view_test.coffee
116
+ - test/javascripts/qunit/reporters/html/spec_view_test.coffee
117
+ - test/javascripts/qunit/reporters/html/suite_view_test.coffee
118
+ - test/javascripts/qunit/reporters/html_test.coffee
119
+ - test/javascripts/qunit/responder_test.coffee
120
+ - test/javascripts/qunit/runner_test.coffee
121
+ - test/javascripts/qunit/spec_test.coffee
122
+ - test/javascripts/qunit/suite_test.coffee
123
+ - test/javascripts/test_helper.coffee
124
+ - test/teaspoon_env.rb