teaspoon 0.9.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +141 -0
- data/README.md +9 -19
- data/{vendor → app}/assets/javascripts/support/bind-poly.js +0 -0
- data/{vendor → app}/assets/javascripts/support/sinon.js +0 -0
- data/app/assets/javascripts/teaspoon-filterer.js +55 -0
- data/app/assets/javascripts/teaspoon/error.coffee +5 -0
- data/app/assets/javascripts/teaspoon/{base/fixture.coffee → fixture.coffee} +15 -15
- data/app/assets/javascripts/teaspoon/{base/hook.coffee → hook.coffee} +0 -0
- data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/console.coffee +18 -10
- data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html.coffee +43 -40
- data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/base_view.coffee +0 -0
- data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/failure_view.coffee +2 -0
- data/app/assets/javascripts/teaspoon/reporters/html/progress_view.coffee +18 -0
- data/app/assets/javascripts/teaspoon/{base/reporters/html/progress_view.coffee → reporters/html/radial_progress_view.coffee} +1 -34
- data/app/assets/javascripts/teaspoon/reporters/html/simple_progress_view.coffee +15 -0
- data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/spec_view.coffee +5 -3
- data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/suite_view.coffee +4 -2
- data/app/assets/javascripts/teaspoon/{base/reporters → reporters}/html/template.coffee +0 -0
- data/app/assets/javascripts/teaspoon/{base/runner.coffee → runner.coffee} +7 -3
- data/app/assets/javascripts/teaspoon/teaspoon.coffee +90 -32
- data/app/controllers/teaspoon/suite_controller.rb +5 -0
- data/app/views/teaspoon/suite/index.html.erb +1 -1
- data/lib/generators/teaspoon/install/install_generator.rb +67 -37
- data/lib/generators/teaspoon/install/templates/MISSING_FRAMEWORK +14 -0
- data/lib/generators/teaspoon/install/{POST_INSTALL → templates/POST_INSTALL} +0 -0
- data/lib/generators/teaspoon/install/templates/env.rb.tt +14 -0
- data/lib/generators/teaspoon/install/templates/{jasmine/env_comments.rb.tt → env_comments.rb.tt} +34 -43
- data/lib/tasks/teaspoon/info.rake +17 -0
- data/lib/teaspoon-devkit.rb +61 -0
- data/lib/teaspoon.rb +2 -0
- data/lib/teaspoon/command_line.rb +19 -14
- data/lib/teaspoon/configuration.rb +24 -35
- data/lib/teaspoon/console.rb +11 -21
- data/lib/teaspoon/coverage.rb +14 -7
- data/lib/teaspoon/deprecated.rb +22 -4
- data/lib/teaspoon/driver.rb +15 -0
- data/lib/teaspoon/driver/base.rb +7 -0
- data/lib/teaspoon/{drivers/capybara_webkit_driver.rb → driver/capybara_webkit.rb} +8 -5
- data/lib/teaspoon/{drivers/phantomjs_driver.rb → driver/phantomjs.rb} +8 -4
- data/lib/teaspoon/{drivers → driver}/phantomjs/runner.js +0 -0
- data/lib/teaspoon/{drivers/selenium_driver.rb → driver/selenium.rb} +11 -9
- data/lib/teaspoon/engine.rb +38 -25
- data/lib/teaspoon/environment.rb +24 -15
- data/lib/teaspoon/exceptions.rb +154 -41
- data/lib/teaspoon/exporter.rb +2 -2
- data/lib/teaspoon/formatter.rb +30 -0
- data/lib/teaspoon/{formatters → formatter}/base.rb +2 -36
- data/lib/teaspoon/{formatters/clean_formatter.rb → formatter/clean.rb} +4 -2
- data/lib/teaspoon/{formatters/documentation_formatter.rb → formatter/documentation.rb} +4 -3
- data/lib/teaspoon/{formatters/dot_formatter.rb → formatter/dot.rb} +4 -3
- data/lib/teaspoon/{formatters/json_formatter.rb → formatter/json.rb} +4 -2
- data/lib/teaspoon/{formatters/junit_formatter.rb → formatter/junit.rb} +3 -2
- data/lib/teaspoon/{formatters → formatter}/modules/report_module.rb +1 -1
- data/lib/teaspoon/{formatters/pride_formatter.rb → formatter/pride.rb} +4 -2
- data/lib/teaspoon/{formatters/rspec_html_formatter.rb → formatter/rspec_html.rb} +3 -2
- data/lib/teaspoon/{formatters/snowday_formatter.rb → formatter/snowday.rb} +3 -2
- data/lib/teaspoon/formatter/swayze_or_oprah.rb +111 -0
- data/lib/teaspoon/{formatters/tap_formatter.rb → formatter/tap.rb} +4 -2
- data/lib/teaspoon/{formatters/tap_y_formatter.rb → formatter/tap_y.rb} +3 -2
- data/lib/teaspoon/{formatters/teamcity_formatter.rb → formatter/teamcity.rb} +4 -2
- data/lib/teaspoon/framework.rb +17 -0
- data/lib/teaspoon/framework/base.rb +88 -0
- data/lib/teaspoon/instrumentation.rb +12 -2
- data/lib/teaspoon/registry.rb +47 -0
- data/lib/teaspoon/registry/has_default.rb +11 -0
- data/lib/teaspoon/runner.rb +6 -7
- data/lib/teaspoon/server.rb +2 -2
- data/lib/teaspoon/suite.rb +28 -30
- data/lib/teaspoon/utility.rb +5 -0
- data/lib/teaspoon/version.rb +1 -1
- metadata +52 -276
- data/app/assets/javascripts/teaspoon-jasmine.js +0 -1344
- data/app/assets/javascripts/teaspoon-mocha.js +0 -1350
- data/app/assets/javascripts/teaspoon-qunit.js +0 -1415
- data/app/assets/javascripts/teaspoon-teaspoon.js +0 -51
- data/app/assets/javascripts/teaspoon/base/teaspoon.coffee +0 -69
- data/app/assets/javascripts/teaspoon/jasmine.coffee +0 -119
- data/app/assets/javascripts/teaspoon/jasmine/reporters/html.coffee +0 -11
- data/app/assets/javascripts/teaspoon/mocha.coffee +0 -90
- data/app/assets/javascripts/teaspoon/mocha/reporters/console.coffee +0 -16
- data/app/assets/javascripts/teaspoon/mocha/reporters/html.coffee +0 -27
- data/app/assets/javascripts/teaspoon/qunit.coffee +0 -81
- data/app/assets/javascripts/teaspoon/qunit/reporters/console.coffee +0 -25
- data/app/assets/javascripts/teaspoon/qunit/reporters/html.coffee +0 -80
- data/lib/generators/teaspoon/install/templates/jasmine/env.rb +0 -11
- data/lib/generators/teaspoon/install/templates/jasmine/spec_helper.coffee +0 -31
- data/lib/generators/teaspoon/install/templates/jasmine/spec_helper.js +0 -31
- data/lib/generators/teaspoon/install/templates/mocha/env.rb +0 -11
- data/lib/generators/teaspoon/install/templates/mocha/env_comments.rb.tt +0 -187
- data/lib/generators/teaspoon/install/templates/mocha/spec_helper.coffee +0 -40
- data/lib/generators/teaspoon/install/templates/mocha/spec_helper.js +0 -40
- data/lib/generators/teaspoon/install/templates/qunit/env.rb +0 -11
- data/lib/generators/teaspoon/install/templates/qunit/env_comments.rb.tt +0 -187
- data/lib/generators/teaspoon/install/templates/qunit/test_helper.coffee +0 -29
- data/lib/generators/teaspoon/install/templates/qunit/test_helper.js +0 -30
- data/lib/teaspoon/drivers/base.rb +0 -10
- data/lib/teaspoon/formatters/description.rb +0 -36
- data/lib/teaspoon/formatters/swayze_or_oprah_formatter.rb +0 -101
- data/spec/dummy/Rakefile +0 -7
- data/spec/dummy/app/assets/javascripts/instrumented1.coffee +0 -1
- data/spec/dummy/app/assets/javascripts/instrumented2.coffee +0 -1
- data/spec/dummy/app/assets/javascripts/integration/integration.coffee +0 -1
- data/spec/dummy/app/assets/javascripts/integration/integration_spec.coffee +0 -32
- data/spec/dummy/app/assets/javascripts/integration/spec_helper.coffee +0 -7
- data/spec/dummy/app/assets/javascripts/specs/asset_spec.js +0 -11
- data/spec/dummy/config.ru +0 -15
- data/spec/dummy/config/application.rb +0 -29
- data/spec/dummy/config/boot.rb +0 -3
- data/spec/dummy/config/environment.rb +0 -5
- data/spec/dummy/config/environments/development.rb +0 -41
- data/spec/dummy/config/environments/production.rb +0 -79
- data/spec/dummy/config/environments/test.rb +0 -42
- data/spec/dummy/config/routes.rb +0 -2
- data/spec/dummy/config/secrets.yml +0 -22
- data/spec/dummy/log/.gitkeep +0 -0
- data/spec/dummy/public/favicon.ico +0 -0
- data/spec/dummy/script/rails +0 -6
- data/spec/features/console_reporter_spec.rb +0 -62
- data/spec/features/hooks_spec.rb +0 -60
- data/spec/features/html_reporter_spec.rb +0 -81
- data/spec/features/install_generator_spec.rb +0 -54
- data/spec/features/instrumentation_spec.rb +0 -21
- data/spec/fixtures/coverage.json +0 -243
- data/spec/javascripts/fixtures/_body.html.erb +0 -1
- data/spec/javascripts/fixtures/fixture.html.haml +0 -4
- data/spec/javascripts/fixtures/fixture.json +0 -4
- data/spec/javascripts/jasmine_helper.coffee +0 -3
- data/spec/javascripts/mocha_helper.coffee +0 -4
- data/spec/javascripts/spec_helper.coffee +0 -7
- data/spec/javascripts/stylesheets/stylesheet.css.scss +0 -0
- data/spec/javascripts/support/json2.js +0 -486
- data/spec/javascripts/support/support.js.coffee +0 -0
- data/spec/javascripts/teaspoon/base/fixture_spec.coffee +0 -93
- data/spec/javascripts/teaspoon/base/reporters/console_spec.coffee +0 -162
- data/spec/javascripts/teaspoon/base/reporters/html/base_view_spec.coffee +0 -88
- data/spec/javascripts/teaspoon/base/reporters/html/failure_view_spec.coffee +0 -28
- data/spec/javascripts/teaspoon/base/reporters/html/progress_view_spec.coffee +0 -1
- data/spec/javascripts/teaspoon/base/reporters/html/spec_view_spec.coffee +0 -1
- data/spec/javascripts/teaspoon/base/reporters/html/suite_view_spec.coffee +0 -1
- data/spec/javascripts/teaspoon/base/reporters/html_spec.coffee +0 -372
- data/spec/javascripts/teaspoon/base/runner_spec.coffee +0 -58
- data/spec/javascripts/teaspoon/base/teaspoon_spec.coffee +0 -47
- data/spec/javascripts/teaspoon/jasmine/fixture_jspec.coffee +0 -13
- data/spec/javascripts/teaspoon/jasmine/models_jspec.coffee +0 -101
- data/spec/javascripts/teaspoon/jasmine/reporters/html_jspec.coffee +0 -17
- data/spec/javascripts/teaspoon/jasmine/runner_jspec.coffee +0 -59
- data/spec/javascripts/teaspoon/jasmine/spec_jspec.coffee +0 -3
- data/spec/javascripts/teaspoon/mocha/fixture_mspec.coffee +0 -12
- data/spec/javascripts/teaspoon/mocha/models_mspec.coffee +0 -93
- data/spec/javascripts/teaspoon/mocha/reporters/console_mspec.coffee +0 -24
- data/spec/javascripts/teaspoon/mocha/reporters/html_mspec.coffee +0 -41
- data/spec/javascripts/teaspoon/mocha/runner_mspec.coffee +0 -23
- data/spec/javascripts/teaspoon/mocha/spec_mspec.coffee +0 -9
- data/spec/javascripts/teaspoon/other/erb_spec.js.coffee.erb +0 -4
- data/spec/javascripts/teaspoon/phantomjs/runner_spec.coffee +0 -161
- data/spec/javascripts/turbolinks_helper.coffee +0 -2
- data/spec/spec_helper.rb +0 -25
- data/spec/support/aruba.rb +0 -15
- data/spec/teaspoon/command_line_spec.rb +0 -157
- data/spec/teaspoon/configuration_spec.rb +0 -236
- data/spec/teaspoon/console_spec.rb +0 -224
- data/spec/teaspoon/coverage_spec.rb +0 -118
- data/spec/teaspoon/drivers/base_spec.rb +0 -5
- data/spec/teaspoon/drivers/capybara_webkit_driver_spec.rb +0 -39
- data/spec/teaspoon/drivers/phantomjs_driver_spec.rb +0 -66
- data/spec/teaspoon/drivers/selenium_driver_spec.rb +0 -68
- data/spec/teaspoon/engine_spec.rb +0 -22
- data/spec/teaspoon/environment_spec.rb +0 -109
- data/spec/teaspoon/exceptions_spec.rb +0 -57
- data/spec/teaspoon/exporter_spec.rb +0 -96
- data/spec/teaspoon/formatters/base_spec.rb +0 -259
- data/spec/teaspoon/formatters/clean_formatter_spec.rb +0 -37
- data/spec/teaspoon/formatters/documentation_formatter_spec.rb +0 -127
- data/spec/teaspoon/formatters/dot_formatter_spec.rb +0 -116
- data/spec/teaspoon/formatters/json_formatter_spec.rb +0 -77
- data/spec/teaspoon/formatters/junit_formatter_spec.rb +0 -114
- data/spec/teaspoon/formatters/pride_formatter_spec.rb +0 -37
- data/spec/teaspoon/formatters/rspec_html_formatter_spec.rb +0 -107
- data/spec/teaspoon/formatters/snowday_formatter_spec.rb +0 -35
- data/spec/teaspoon/formatters/tap_formatter_spec.rb +0 -72
- data/spec/teaspoon/formatters/tap_y_formatter_spec.rb +0 -80
- data/spec/teaspoon/formatters/teamcity_formatter_spec.rb +0 -148
- data/spec/teaspoon/instrumentation_spec.rb +0 -113
- data/spec/teaspoon/result_spec.rb +0 -98
- data/spec/teaspoon/runner_spec.rb +0 -116
- data/spec/teaspoon/server_spec.rb +0 -105
- data/spec/teaspoon/suite_spec.rb +0 -138
- data/spec/teaspoon_env.rb +0 -39
- data/test/javascripts/qunit_helper.coffee +0 -3
- data/test/javascripts/teaspoon/qunit/fixture_test.coffee +0 -10
- data/test/javascripts/teaspoon/qunit/models_test.coffee +0 -66
- data/test/javascripts/teaspoon/qunit/reporters/console_test.coffee +0 -3
- data/test/javascripts/teaspoon/qunit/reporters/html/failure_view_test.coffee +0 -3
- data/test/javascripts/teaspoon/qunit/reporters/html/spec_view_test.coffee +0 -3
- data/test/javascripts/teaspoon/qunit/reporters/html/suite_view_test.coffee +0 -3
- data/test/javascripts/teaspoon/qunit/reporters/html_test.coffee +0 -3
- data/test/javascripts/teaspoon/qunit/runner_test.coffee +0 -18
- data/vendor/assets/javascripts/jasmine/1.3.1.js +0 -2602
- data/vendor/assets/javascripts/jasmine/2.0.0.js +0 -2412
- data/vendor/assets/javascripts/jasmine/MIT.LICENSE +0 -20
- data/vendor/assets/javascripts/mocha/1.10.0.js +0 -5374
- data/vendor/assets/javascripts/mocha/1.17.1.js +0 -5813
- data/vendor/assets/javascripts/mocha/MIT.LICENSE +0 -22
- data/vendor/assets/javascripts/qunit/1.12.0.js +0 -2212
- data/vendor/assets/javascripts/qunit/1.14.0.js +0 -2288
- data/vendor/assets/javascripts/qunit/MIT.LICENSE +0 -21
- data/vendor/assets/javascripts/support/chai-1.10.0.js +0 -4800
- data/vendor/assets/javascripts/support/chai-jq-0.0.7.js +0 -524
- data/vendor/assets/javascripts/support/chai.js +0 -4782
- data/vendor/assets/javascripts/support/expect.js +0 -1284
- data/vendor/assets/javascripts/support/jasmine-jquery-1.7.0.js +0 -720
- data/vendor/assets/javascripts/support/jasmine-jquery-2.0.0.js +0 -812
- data/vendor/assets/javascripts/support/sinon-chai.js +0 -126
@@ -1,58 +0,0 @@
|
|
1
|
-
describe "Teaspoon.Runner", ->
|
2
|
-
|
3
|
-
beforeEach ->
|
4
|
-
spyOn(jasmine.getEnv(), "execute")
|
5
|
-
Teaspoon.Runner.run = false # reset this so we can use it
|
6
|
-
@setupSpy = spyOn(Teaspoon.Runner.prototype, "setup")
|
7
|
-
|
8
|
-
describe "constructor", ->
|
9
|
-
|
10
|
-
it "calls setup", ->
|
11
|
-
new Teaspoon.Runner()
|
12
|
-
expect(@setupSpy).toHaveBeenCalled()
|
13
|
-
|
14
|
-
it "sets Teaspoon.Runner.run to true", ->
|
15
|
-
new Teaspoon.Runner()
|
16
|
-
expect(Teaspoon.Runner.run).toEqual(true)
|
17
|
-
|
18
|
-
it "sets @fixturePath to whatever was in Teaspoon.root", ->
|
19
|
-
originalRoot = Teaspoon.root
|
20
|
-
Teaspoon.root = "/path/to"
|
21
|
-
runner = new Teaspoon.Runner()
|
22
|
-
expect(runner.fixturePath).toEqual("/path/to/fixtures")
|
23
|
-
Teaspoon.root = originalRoot
|
24
|
-
|
25
|
-
it "doesn't call setup if already run", ->
|
26
|
-
Teaspoon.Runner.run = true
|
27
|
-
new Teaspoon.Runner()
|
28
|
-
expect(@setupSpy).wasNotCalled()
|
29
|
-
|
30
|
-
|
31
|
-
describe "#getParams", ->
|
32
|
-
|
33
|
-
it "gets the params out of the window.location.search", ->
|
34
|
-
spyOn(String.prototype, "substring").andReturn("grep=foo&bar=baz")
|
35
|
-
runner = new Teaspoon.Runner()
|
36
|
-
expect(runner.params).toEqual(grep: "foo", bar: "baz")
|
37
|
-
|
38
|
-
|
39
|
-
describe "#getReporter", ->
|
40
|
-
|
41
|
-
it "returns the correct reporter when using PhantomJS", ->
|
42
|
-
runner = new Teaspoon.Runner()
|
43
|
-
runner.params = {}
|
44
|
-
spyOn(String.prototype, 'match').andReturn(20)
|
45
|
-
expect(runner.getReporter()).toBe(Teaspoon.Reporters.Console)
|
46
|
-
|
47
|
-
it "returns the correct reporter when using the browser", ->
|
48
|
-
runner = new Teaspoon.Runner()
|
49
|
-
runner.params = {}
|
50
|
-
spyOn(String.prototype, 'match').andReturn(0)
|
51
|
-
expect(runner.getReporter()).toBe(Teaspoon.Reporters.HTML)
|
52
|
-
|
53
|
-
it "allows setting the param", ->
|
54
|
-
runner = new Teaspoon.Runner()
|
55
|
-
runner.params = {reporter: "Console"}
|
56
|
-
expect(runner.getReporter()).toBe(Teaspoon.Reporters.Console)
|
57
|
-
runner.params = {reporter: "HTML"}
|
58
|
-
expect(runner.getReporter()).toBe(Teaspoon.Reporters.HTML)
|
@@ -1,47 +0,0 @@
|
|
1
|
-
describe "Teaspoon", ->
|
2
|
-
|
3
|
-
describe "class level API", ->
|
4
|
-
|
5
|
-
it "has the expected API", ->
|
6
|
-
return unless Object.keys # can't test in ie
|
7
|
-
keys = Object.keys(Teaspoon)
|
8
|
-
# common
|
9
|
-
expect(keys).toContain("defer")
|
10
|
-
expect(keys).toContain("slow")
|
11
|
-
expect(keys).toContain("root")
|
12
|
-
expect(keys).toContain("finished")
|
13
|
-
expect(keys).toContain("execute")
|
14
|
-
expect(keys).toContain("version")
|
15
|
-
# caching
|
16
|
-
expect(keys).toContain("Date")
|
17
|
-
expect(keys).toContain("location")
|
18
|
-
|
19
|
-
|
20
|
-
describe ".execute", ->
|
21
|
-
|
22
|
-
beforeEach ->
|
23
|
-
Teaspoon.defer = false
|
24
|
-
spyOn(Teaspoon, 'reload')
|
25
|
-
@spy = spyOn(Teaspoon, "Runner")
|
26
|
-
|
27
|
-
it "allows deferring (thus not instantiating the runner)", ->
|
28
|
-
Teaspoon.defer = true
|
29
|
-
Teaspoon.execute()
|
30
|
-
expect(@spy).wasNotCalled()
|
31
|
-
|
32
|
-
it "will execute if it should", ->
|
33
|
-
Teaspoon.execute()
|
34
|
-
expect(@spy).toHaveBeenCalled()
|
35
|
-
|
36
|
-
|
37
|
-
describe ".hook", ->
|
38
|
-
|
39
|
-
beforeEach ->
|
40
|
-
@xhr = jasmine.createSpyObj("xhr", ["open", "setRequestHeader", "send"])
|
41
|
-
spyOn(window, "XMLHttpRequest").andReturn(@xhr)
|
42
|
-
|
43
|
-
it "makes the proper ajax request", ->
|
44
|
-
Teaspoon.hook("foo", {bar: "baz"})
|
45
|
-
expect(@xhr.open).toHaveBeenCalledWith("POST", "/teaspoon/default/foo", false)
|
46
|
-
expect(@xhr.setRequestHeader).toHaveBeenCalledWith("Content-Type", "application/json")
|
47
|
-
expect(@xhr.send).toHaveBeenCalledWith('{"args":{"bar":"baz"}}')
|
@@ -1,13 +0,0 @@
|
|
1
|
-
fixture.preload("fixture.html", "fixture.json") # make the actual requests for the files
|
2
|
-
describe "Using fixtures", ->
|
3
|
-
|
4
|
-
fixture.set("<h2>Another Title</h2>") # create some markup manually (will be in a beforeEach)
|
5
|
-
|
6
|
-
beforeEach ->
|
7
|
-
@fixtures = fixture.load("fixture.html", "fixture.json", true) # append these fixtures
|
8
|
-
|
9
|
-
it "loads fixtures", ->
|
10
|
-
expect($("h1", fixture.el).text()).toBe("Title") # using fixture.el as a jquery scope
|
11
|
-
expect($("h2", fixture.el).text()).toBe("Another Title")
|
12
|
-
expect(@fixtures[0]).toBe(fixture.el) # the element is available as a return value and through fixture.el
|
13
|
-
expect(@fixtures[1]).toEqual(fixture.json[0]) # the json for json fixtures is returned, and available in fixture.json
|
@@ -1,101 +0,0 @@
|
|
1
|
-
describe "Jasmine Teaspoon.Spec", ->
|
2
|
-
|
3
|
-
beforeEach ->
|
4
|
-
@mockSuite =
|
5
|
-
getFullName: -> "_full jasmine name_"
|
6
|
-
@mockSpecResultsItems = [
|
7
|
-
{message: "_jasmine_message1_", trace: {stack: "_jasmine_stack_trace1_"}, passed: -> false}
|
8
|
-
{message: "_jasmine_message2_", trace: {stack: "_jasmine_stack_trace2_"}, passed: -> false}
|
9
|
-
]
|
10
|
-
@mockSpecResults =
|
11
|
-
skipped: false
|
12
|
-
passed: -> true
|
13
|
-
getItems: => @mockSpecResultsItems
|
14
|
-
@mockSpec =
|
15
|
-
description: "_jasmine_description_"
|
16
|
-
viewId: 42
|
17
|
-
pending: false
|
18
|
-
suite: @mockSuite
|
19
|
-
getFullName: -> "_full jasmine description_"
|
20
|
-
results: => @mockSpecResults
|
21
|
-
|
22
|
-
describe "constructor", ->
|
23
|
-
|
24
|
-
it "has the expected properties", ->
|
25
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
26
|
-
expect(spec.fullDescription).toBe("_full jasmine description_")
|
27
|
-
expect(spec.description).toBe("_jasmine_description_")
|
28
|
-
expect(spec.link).toBe("?grep=_full%20jasmine%20description_")
|
29
|
-
expect(spec.parent).toBe(@mockSuite)
|
30
|
-
expect(spec.suiteName).toBe("_full jasmine name_")
|
31
|
-
expect(spec.viewId).toBe(42)
|
32
|
-
expect(spec.pending).toBe(false)
|
33
|
-
|
34
|
-
|
35
|
-
describe "#errors", ->
|
36
|
-
|
37
|
-
it "returns the expected object", ->
|
38
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
39
|
-
expect(spec.errors()).toEqual([{message: "_jasmine_message1_", stack: "_jasmine_stack_trace1_"}, {message: "_jasmine_message2_", stack: "_jasmine_stack_trace2_"}])
|
40
|
-
spyOn(@mockSpecResultsItems[0], "passed").andReturn(true)
|
41
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
42
|
-
expect(spec.errors()).toEqual([{message: "_jasmine_message2_", stack: "_jasmine_stack_trace2_"}])
|
43
|
-
|
44
|
-
|
45
|
-
describe "#getParents", ->
|
46
|
-
|
47
|
-
it "gets the parent suites", ->
|
48
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
49
|
-
expect(spec.getParents()[0].fullDescription).toEqual("_full jasmine name_")
|
50
|
-
|
51
|
-
|
52
|
-
describe "#result", ->
|
53
|
-
|
54
|
-
describe "passing", ->
|
55
|
-
|
56
|
-
it "returns the expected object", ->
|
57
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
58
|
-
expect(spec.result()).toEqual({status: "passed", skipped: false})
|
59
|
-
|
60
|
-
describe "skipped", ->
|
61
|
-
|
62
|
-
it "returns the expected object", ->
|
63
|
-
@mockSpecResults.skipped = true
|
64
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
65
|
-
expect(spec.result()).toEqual({status: "passed", skipped: true})
|
66
|
-
|
67
|
-
describe "pending", ->
|
68
|
-
|
69
|
-
it "returns the expected object", ->
|
70
|
-
@mockSpec.pending = true
|
71
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
72
|
-
expect(spec.result()).toEqual({status: "pending", skipped: false})
|
73
|
-
|
74
|
-
describe "failing", ->
|
75
|
-
|
76
|
-
it "returns the expected object", ->
|
77
|
-
spyOn(@mockSpecResults, "passed").andReturn(false)
|
78
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
79
|
-
expect(spec.result()).toEqual({status: "failed", skipped: false})
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
describe "Jasmine Teaspoon.Suite", ->
|
84
|
-
|
85
|
-
beforeEach ->
|
86
|
-
@mockParentSuite = {}
|
87
|
-
@mockSuite =
|
88
|
-
description: "_jasmine_description_"
|
89
|
-
parentSuite: @mockParentSuite
|
90
|
-
viewId: 42
|
91
|
-
getFullName: -> "_full jasmine description_"
|
92
|
-
|
93
|
-
describe "constructor", ->
|
94
|
-
|
95
|
-
it "has the expected properties", ->
|
96
|
-
suite = new Teaspoon.Suite(@mockSuite)
|
97
|
-
expect(suite.fullDescription).toBe("_full jasmine description_")
|
98
|
-
expect(suite.description).toBe("_jasmine_description_")
|
99
|
-
expect(suite.link).toBe("?grep=_full%20jasmine%20description_")
|
100
|
-
expect(suite.parent).toBe(@mockParentSuite)
|
101
|
-
expect(suite.viewId).toBe(42)
|
@@ -1,17 +0,0 @@
|
|
1
|
-
describe "Jasmine Teaspoon.Reporters.HTML", ->
|
2
|
-
|
3
|
-
beforeEach ->
|
4
|
-
spyOn(Teaspoon.Reporters.HTML.prototype, "build")
|
5
|
-
@reporter = new Teaspoon.Reporters.HTML()
|
6
|
-
|
7
|
-
describe "#readConfig", ->
|
8
|
-
|
9
|
-
it "sets jasmine.CATCH_EXCEPTIONS", ->
|
10
|
-
@reporter.readConfig()
|
11
|
-
expect(jasmine.CATCH_EXCEPTIONS).toBe(@reporter.config["use-catch"])
|
12
|
-
|
13
|
-
|
14
|
-
describe "#envInfo", ->
|
15
|
-
|
16
|
-
it "returns jasmine version information", ->
|
17
|
-
expect(@reporter.envInfo()).toBe("jasmine 1.3.1 revision 1354556913")
|
@@ -1,59 +0,0 @@
|
|
1
|
-
describe "Jasmine Teaspoon.Runner", ->
|
2
|
-
|
3
|
-
beforeEach ->
|
4
|
-
@env = jasmine.getEnv()
|
5
|
-
@originalFilter = @env.specFilter
|
6
|
-
@executeSpy = spyOn(@env, "execute")
|
7
|
-
@runner = new Teaspoon.Runner()
|
8
|
-
|
9
|
-
afterEach ->
|
10
|
-
@env.specFilter = @originalFilter
|
11
|
-
|
12
|
-
describe "constructor", ->
|
13
|
-
|
14
|
-
it "calls execute on the jasmine env", ->
|
15
|
-
expect(@executeSpy).toHaveBeenCalled()
|
16
|
-
|
17
|
-
|
18
|
-
describe "#setup", ->
|
19
|
-
|
20
|
-
beforeEach ->
|
21
|
-
@runner.params = {grep: "foo"}
|
22
|
-
if window.navigator.userAgent.match(/PhantomJS/)
|
23
|
-
@reporterSpy = spyOn(Teaspoon.Reporters, "Console").andReturn(@instance)
|
24
|
-
else
|
25
|
-
@reporterSpy = spyOn(Teaspoon.Reporters, "HTML").andReturn(@instance)
|
26
|
-
@addReporterSpy = spyOn(@env, "addReporter")
|
27
|
-
|
28
|
-
it "sets the updateInterval", ->
|
29
|
-
expect(@env.updateInterval).toEqual(1000)
|
30
|
-
|
31
|
-
it "adds the reporter to the env", ->
|
32
|
-
@runner.setup()
|
33
|
-
expect(@reporterSpy).toHaveBeenCalled()
|
34
|
-
expect(@addReporterSpy).toHaveBeenCalled()
|
35
|
-
|
36
|
-
it "adds fixture support", ->
|
37
|
-
spy = spyOn(@runner, "addFixtureSupport")
|
38
|
-
@runner.setup()
|
39
|
-
expect(spy).toHaveBeenCalled()
|
40
|
-
|
41
|
-
|
42
|
-
describe "#addFixtureSupport", ->
|
43
|
-
|
44
|
-
beforeEach ->
|
45
|
-
@fixtureObj = {cleanUp: ->}
|
46
|
-
@styleFixtureObj = {cleanUp: ->}
|
47
|
-
@jsonFixtureSpyObj = {cleanUp: ->}
|
48
|
-
@fixtureSpy = spyOn(jasmine, "getFixtures").andReturn(@fixtureObj)
|
49
|
-
@styleFixtureSpy = spyOn(jasmine, "getStyleFixtures").andReturn(@styleFixtureObj)
|
50
|
-
@jsonFixtureSpy = spyOn(jasmine, "getJSONFixtures").andReturn(@jsonFixtureSpyObj)
|
51
|
-
|
52
|
-
it "adds fixture support", ->
|
53
|
-
expect(jasmine.getFixtures).toBeDefined()
|
54
|
-
@runner.fixturePath = "/path/to/fixtures"
|
55
|
-
@runner.addFixtureSupport()
|
56
|
-
expect(@fixtureObj.containerId).toBe("teaspoon-fixtures")
|
57
|
-
expect(@fixtureObj.fixturesPath).toBe("/path/to/fixtures")
|
58
|
-
expect(@styleFixtureObj.fixturesPath).toBe("/path/to/fixtures")
|
59
|
-
expect(@jsonFixtureSpyObj.fixturesPath).toBe("/path/to/fixtures")
|
@@ -1,12 +0,0 @@
|
|
1
|
-
fixture.preload("fixture.html", "fixture.json") # make the actual requests for the files
|
2
|
-
describe "Using fixtures", ->
|
3
|
-
|
4
|
-
fixture.set("<h2>Another Title</h2>") # create some markup manually (will be in a beforeEach)
|
5
|
-
|
6
|
-
beforeEach ->
|
7
|
-
@fixtures = fixture.load("fixture.html", "fixture.json", true) # append these fixtures
|
8
|
-
|
9
|
-
it "loads fixtures", ->
|
10
|
-
expect(document.getElementById("fixture_view").tagName).to.be("DIV")
|
11
|
-
expect(@fixtures[0]).to.be(fixture.el) # the element is available as a return value and through fixture.el
|
12
|
-
expect(@fixtures[1]).to.eql(fixture.json[0]) # the json for json fixtures is returned, and available in fixture.json
|
@@ -1,93 +0,0 @@
|
|
1
|
-
describe "Mocha Teaspoon.Spec", ->
|
2
|
-
|
3
|
-
beforeEach ->
|
4
|
-
@mockSuite =
|
5
|
-
fullTitle: -> "_full mocha name_"
|
6
|
-
parent:
|
7
|
-
root: true
|
8
|
-
@mockSpec =
|
9
|
-
title: "_mocha_description_"
|
10
|
-
parent: @mockSuite
|
11
|
-
viewId: 420
|
12
|
-
pending: false
|
13
|
-
state: "passed"
|
14
|
-
err: {message: "_mocha_message_", stack: "_mocha_stack_trace_"}
|
15
|
-
fullTitle: -> "_full mocha description_"
|
16
|
-
|
17
|
-
describe "constructor", ->
|
18
|
-
|
19
|
-
it "has the expected properties", ->
|
20
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
21
|
-
expect(spec.fullDescription).to.be("_full mocha description_")
|
22
|
-
expect(spec.description).to.be("_mocha_description_")
|
23
|
-
expect(spec.link).to.be("?grep=_full%20mocha%20description_")
|
24
|
-
expect(spec.parent).to.be(@mockSuite)
|
25
|
-
expect(spec.suiteName).to.be("_full mocha name_")
|
26
|
-
expect(spec.viewId).to.be(420)
|
27
|
-
expect(spec.pending).to.be(false)
|
28
|
-
|
29
|
-
|
30
|
-
describe "#errors", ->
|
31
|
-
|
32
|
-
it "returns the expected object", ->
|
33
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
34
|
-
expect(spec.errors()).to.eql([{message: "_mocha_message_", stack: "_mocha_stack_trace_"}])
|
35
|
-
|
36
|
-
|
37
|
-
describe "#getParents", ->
|
38
|
-
|
39
|
-
it "gets the parent suites", ->
|
40
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
41
|
-
expect(spec.getParents()[0].fullDescription).to.be("_full mocha name_")
|
42
|
-
|
43
|
-
|
44
|
-
describe "#result", ->
|
45
|
-
|
46
|
-
describe "passing", ->
|
47
|
-
|
48
|
-
it "returns the expected object", ->
|
49
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
50
|
-
expect(spec.result()).to.eql({status: "passed", skipped: false})
|
51
|
-
|
52
|
-
describe "skipped", ->
|
53
|
-
|
54
|
-
it "returns the expected object", ->
|
55
|
-
@mockSpec.state = "skipped"
|
56
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
57
|
-
expect(spec.result()).to.eql({status: "passed", skipped: true})
|
58
|
-
|
59
|
-
describe "pending", ->
|
60
|
-
|
61
|
-
it "returns the expected object", ->
|
62
|
-
@mockSpec.pending = true
|
63
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
64
|
-
expect(spec.result()).to.eql({status: "pending", skipped: false})
|
65
|
-
|
66
|
-
describe "failing", ->
|
67
|
-
|
68
|
-
it "returns the expected object", ->
|
69
|
-
@mockSpec.state = "failed"
|
70
|
-
spec = new Teaspoon.Spec(@mockSpec)
|
71
|
-
expect(spec.result()).to.eql({status: "failed", skipped: false})
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
describe "Mocha Teaspoon.Suite", ->
|
76
|
-
|
77
|
-
beforeEach ->
|
78
|
-
@mockParentSuite = {root: false}
|
79
|
-
@mockSuite =
|
80
|
-
fullTitle: -> "_full mocha description_"
|
81
|
-
title: "_mocha_description_"
|
82
|
-
viewId: 420
|
83
|
-
parent: @mockParentSuite
|
84
|
-
|
85
|
-
describe "constructor", ->
|
86
|
-
|
87
|
-
it "has the expected properties", ->
|
88
|
-
suite = new Teaspoon.Suite(@mockSuite)
|
89
|
-
expect(suite.fullDescription).to.be("_full mocha description_")
|
90
|
-
expect(suite.description).to.be("_mocha_description_")
|
91
|
-
expect(suite.link).to.be("?grep=_full%20mocha%20description_")
|
92
|
-
expect(suite.parent).to.be(@mockParentSuite)
|
93
|
-
expect(suite.viewId).to.be(420)
|
@@ -1,24 +0,0 @@
|
|
1
|
-
describe "Mocha Teaspoon.Reporters.Console", ->
|
2
|
-
|
3
|
-
beforeEach ->
|
4
|
-
@runner = {on: @onSpy = sinon.spy()}
|
5
|
-
@reportRunnerStartingSpy = Teaspoon.Reporters.Console.prototype.reportRunnerStarting = sinon.spy()
|
6
|
-
@reporter = new Teaspoon.Reporters.Console(@runner)
|
7
|
-
|
8
|
-
describe "constructor", ->
|
9
|
-
|
10
|
-
it "calls reporterRunnerStarting", ->
|
11
|
-
assert.calledOnce(@reportRunnerStartingSpy, "foo")
|
12
|
-
|
13
|
-
it "registers for 'fail', 'test end', and 'end'", ->
|
14
|
-
assert.calledWith(@onSpy, "fail", @reporter.reportSpecResults)
|
15
|
-
assert.calledWith(@onSpy, "test end", @reporter.reportSpecResults)
|
16
|
-
assert.calledWith(@onSpy, "end", @reporter.reportRunnerResults)
|
17
|
-
|
18
|
-
|
19
|
-
describe "#reportSpecResults", ->
|
20
|
-
|
21
|
-
it "sets the error if one is passed in", ->
|
22
|
-
spec = {}
|
23
|
-
@reporter.reportSpecResults(spec, foo: "bar")
|
24
|
-
expect(spec.err).to.eql(foo: "bar")
|
@@ -1,41 +0,0 @@
|
|
1
|
-
describe "Mocha Teaspoon.Reporters.HTML", ->
|
2
|
-
|
3
|
-
beforeEach ->
|
4
|
-
@runner = {on: @onSpy = sinon.spy()}
|
5
|
-
@superSpy = Teaspoon.Reporters.HTML.__super__.constructor = sinon.spy()
|
6
|
-
Teaspoon.Reporters.HTML.filter = "foo"
|
7
|
-
@reportRunnerStartingSpy = Teaspoon.Reporters.HTML.prototype.reportRunnerStarting = sinon.spy()
|
8
|
-
@reporter = new Teaspoon.Reporters.HTML(@runner)
|
9
|
-
|
10
|
-
describe "constructor", ->
|
11
|
-
|
12
|
-
it "calls reporterRunnerStarting", ->
|
13
|
-
assert.calledOnce(@reportRunnerStartingSpy, "foo")
|
14
|
-
|
15
|
-
it "registers for 'fail', 'test end', and 'end'", ->
|
16
|
-
assert.calledWith(@onSpy, "fail", @reporter.reportSpecResults)
|
17
|
-
assert.calledWith(@onSpy, "test end", @reporter.reportSpecResults)
|
18
|
-
assert.calledWith(@onSpy, "end", @reporter.reportRunnerResults)
|
19
|
-
|
20
|
-
|
21
|
-
describe "#reportSpecResults", ->
|
22
|
-
|
23
|
-
it "sets the error if one is passed in", ->
|
24
|
-
spec = {}
|
25
|
-
@reporter.reportSpecResults(spec, foo: "bar")
|
26
|
-
expect(spec.err).to.eql(foo: "bar")
|
27
|
-
|
28
|
-
|
29
|
-
describe "Mocha Teaspoon.Reporters.HTML.SpecView", ->
|
30
|
-
|
31
|
-
describe "#updateState", ->
|
32
|
-
|
33
|
-
it "calls super with the duration of the spec", ->
|
34
|
-
# this can't be tested, I tried a lot....
|
35
|
-
#@superSpy = Teaspoon.Reporters.HTML.SpecView.__super__.updateState = sinon.spy()
|
36
|
-
#@buildSpy = Teaspoon.Reporters.HTML.SpecView.prototype.build = sinon.spy()
|
37
|
-
#view = new Teaspoon.Reporters.HTML.SpecView({viewId: 1000000}, {views: []})
|
38
|
-
#view.spec.duration = 1000
|
39
|
-
#view.updateState("passed")
|
40
|
-
#assert.calledWith(@superSpy, "passed", 1000)
|
41
|
-
|