teaspoon-qunit 1.18.0

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