cucumber 2.0.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +0 -6
- data/CONTRIBUTING.md +3 -1
- data/Gemfile +1 -1
- data/History.md +17 -0
- data/README.md +3 -3
- data/bin/cucumber +1 -2
- data/cucumber.gemspec +2 -2
- data/examples/i18n/ht/features/adisyon.feature +7 -7
- data/features/docs/api/listen_for_events.feature +58 -0
- data/features/docs/cli/fail_fast.feature +46 -0
- data/features/docs/defining_steps/nested_steps_with_second_arg.feature +3 -22
- data/features/docs/extending_cucumber/custom_formatter.feature +40 -4
- data/features/docs/gherkin/doc_strings.feature +5 -5
- data/features/docs/gherkin/language_help.feature +15 -15
- data/features/docs/gherkin/using_descriptions.feature +0 -5
- data/lib/cucumber/cli/configuration.rb +10 -92
- data/lib/cucumber/cli/main.rb +1 -7
- data/lib/cucumber/cli/options.rb +47 -12
- data/lib/cucumber/configuration.rb +195 -7
- data/lib/cucumber/events.rb +20 -0
- data/lib/cucumber/events/after_test_case.rb +25 -0
- data/lib/cucumber/events/after_test_step.rb +30 -0
- data/lib/cucumber/events/before_test_case.rb +18 -0
- data/lib/cucumber/events/before_test_step.rb +23 -0
- data/lib/cucumber/events/bus.rb +86 -0
- data/lib/cucumber/events/step_match.rb +23 -0
- data/lib/cucumber/filters/prepare_world.rb +2 -2
- data/lib/cucumber/formatter/backtrace_filter.rb +9 -8
- data/lib/cucumber/formatter/console.rb +1 -1
- data/lib/cucumber/formatter/event_bus_report.rb +37 -0
- data/lib/cucumber/formatter/fail_fast.rb +18 -0
- data/lib/cucumber/formatter/html.rb +1 -1
- data/lib/cucumber/formatter/io.rb +3 -1
- data/lib/cucumber/formatter/json.rb +19 -1
- data/lib/cucumber/formatter/legacy_api/adapter.rb +5 -13
- data/lib/cucumber/formatter/legacy_api/ast.rb +2 -2
- data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +3 -1
- data/lib/cucumber/formatter/pretty.rb +5 -7
- data/lib/cucumber/formatter/progress.rb +1 -1
- data/lib/cucumber/formatter/rerun.rb +1 -1
- data/lib/cucumber/formatter/steps.rb +1 -1
- data/lib/cucumber/formatter/usage.rb +12 -8
- data/lib/cucumber/gherkin/data_table_parser.rb +23 -0
- data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +99 -0
- data/lib/cucumber/gherkin/formatter/argument.rb +17 -0
- data/lib/cucumber/gherkin/formatter/escaping.rb +17 -0
- data/lib/cucumber/gherkin/formatter/hashable.rb +27 -0
- data/lib/cucumber/gherkin/i18n.rb +15 -0
- data/lib/cucumber/gherkin/steps_parser.rb +41 -0
- data/lib/cucumber/language_support/language_methods.rb +6 -5
- data/lib/cucumber/multiline_argument.rb +0 -3
- data/lib/cucumber/multiline_argument/data_table.rb +6 -5
- data/lib/cucumber/multiline_argument/doc_string.rb +1 -2
- data/lib/cucumber/platform.rb +1 -1
- data/lib/cucumber/rake/task.rb +2 -2
- data/lib/cucumber/rb_support/rb_hook.rb +1 -6
- data/lib/cucumber/rb_support/rb_language.rb +15 -5
- data/lib/cucumber/rb_support/rb_step_definition.rb +11 -17
- data/lib/cucumber/rb_support/rb_world.rb +6 -4
- data/lib/cucumber/rb_support/regexp_argument_matcher.rb +2 -2
- data/lib/cucumber/runtime.rb +36 -16
- data/lib/cucumber/runtime/support_code.rb +19 -15
- data/lib/cucumber/step_definition_light.rb +5 -5
- data/lib/cucumber/step_definitions.rb +2 -2
- data/lib/cucumber/step_match.rb +11 -2
- data/lib/cucumber/wire_support/wire_protocol/requests.rb +2 -2
- data/lib/cucumber/wire_support/wire_step_definition.rb +4 -2
- data/{spec → lib}/simplecov_setup.rb +0 -0
- data/spec/cucumber/cli/configuration_spec.rb +2 -104
- data/spec/cucumber/cli/main_spec.rb +0 -22
- data/spec/cucumber/cli/options_spec.rb +3 -1
- data/spec/cucumber/configuration_spec.rb +123 -0
- data/spec/cucumber/events/bus_spec.rb +94 -0
- data/spec/cucumber/formatter/event_bus_report_spec.rb +79 -0
- data/spec/cucumber/formatter/fail_fast_spec.rb +88 -0
- data/spec/cucumber/formatter/json_spec.rb +43 -1
- data/spec/cucumber/formatter/rerun_spec.rb +4 -20
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +29 -0
- data/spec/cucumber/runtime_spec.rb +2 -28
- data/spec/spec_helper.rb +1 -1
- data/spec/support/standard_step_actions.rb +18 -0
- metadata +37 -13
- data/lib/cucumber/core_ext/proc.rb +0 -36
- data/spec/cucumber/core_ext/proc_spec.rb +0 -69
@@ -0,0 +1,79 @@
|
|
1
|
+
require 'cucumber/configuration'
|
2
|
+
require 'cucumber/runtime'
|
3
|
+
require 'cucumber/formatter/spec_helper'
|
4
|
+
require 'cucumber/formatter/event_bus_report'
|
5
|
+
|
6
|
+
module Cucumber
|
7
|
+
module Formatter
|
8
|
+
describe EventBusReport do
|
9
|
+
extend SpecHelperDsl
|
10
|
+
include SpecHelper
|
11
|
+
|
12
|
+
context "With no options" do
|
13
|
+
let(:config) { Cucumber::Configuration.new }
|
14
|
+
|
15
|
+
before(:each) do
|
16
|
+
@formatter = EventBusReport.new(config)
|
17
|
+
end
|
18
|
+
|
19
|
+
describe "given a single feature" do
|
20
|
+
|
21
|
+
describe "a scenario with a single passing step" do
|
22
|
+
define_feature <<-FEATURE
|
23
|
+
Feature:
|
24
|
+
Scenario: Test Scenario
|
25
|
+
Given passing
|
26
|
+
FEATURE
|
27
|
+
|
28
|
+
define_steps do
|
29
|
+
Given(/pass/) {}
|
30
|
+
end
|
31
|
+
|
32
|
+
it "emits a BeforeTestCase event" do
|
33
|
+
received_event = nil
|
34
|
+
config.on_event Cucumber::Events::BeforeTestCase do |event|
|
35
|
+
received_event = event
|
36
|
+
end
|
37
|
+
run_defined_feature
|
38
|
+
expect(received_event.test_case.name).to eq "Test Scenario"
|
39
|
+
end
|
40
|
+
|
41
|
+
it "emits a BeforeTestStep event" do
|
42
|
+
received_event = nil
|
43
|
+
config.on_event Cucumber::Events::BeforeTestStep do |event|
|
44
|
+
received_event = event
|
45
|
+
end
|
46
|
+
run_defined_feature
|
47
|
+
expect(received_event.test_case.name).to eq "Test Scenario"
|
48
|
+
expect(received_event.test_step.name).to eq "passing"
|
49
|
+
end
|
50
|
+
|
51
|
+
it "emits an AfterTestStep event with a passed result" do
|
52
|
+
received_event = nil
|
53
|
+
config.on_event Cucumber::Events::AfterTestStep do |event|
|
54
|
+
received_event = event
|
55
|
+
end
|
56
|
+
run_defined_feature
|
57
|
+
expect(received_event.test_case.name).to eq "Test Scenario"
|
58
|
+
expect(received_event.test_step.name).to eq "passing"
|
59
|
+
expect(received_event.result).to be_passed
|
60
|
+
end
|
61
|
+
|
62
|
+
it "emits an AfterTestCase event with a passed result" do
|
63
|
+
received_event = nil
|
64
|
+
config.on_event Cucumber::Events::AfterTestCase do |event|
|
65
|
+
received_event = event
|
66
|
+
end
|
67
|
+
run_defined_feature
|
68
|
+
expect(received_event.test_case.name).to eq "Test Scenario"
|
69
|
+
expect(received_event.result).to be_passed
|
70
|
+
end
|
71
|
+
end
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
|
79
|
+
|
@@ -0,0 +1,88 @@
|
|
1
|
+
require 'cucumber/formatter/fail_fast'
|
2
|
+
require 'cucumber/core'
|
3
|
+
require 'cucumber/core/gherkin/writer'
|
4
|
+
require 'cucumber/core/test/result'
|
5
|
+
require 'cucumber/core/filter'
|
6
|
+
require 'cucumber/core/ast'
|
7
|
+
require 'cucumber'
|
8
|
+
require 'support/standard_step_actions'
|
9
|
+
|
10
|
+
module Cucumber::Formatter
|
11
|
+
describe FailFast do
|
12
|
+
include Cucumber::Core
|
13
|
+
include Cucumber::Core::Gherkin::Writer
|
14
|
+
|
15
|
+
let(:configuration) { Cucumber::Configuration.new }
|
16
|
+
before { FailFast.new(configuration) }
|
17
|
+
let(:report) { EventBusReport.new(configuration) }
|
18
|
+
|
19
|
+
context 'failing scenario' do
|
20
|
+
before(:each) do
|
21
|
+
@gherkin = gherkin('foo.feature') do
|
22
|
+
feature do
|
23
|
+
scenario do
|
24
|
+
step 'failing'
|
25
|
+
end
|
26
|
+
|
27
|
+
scenario do
|
28
|
+
step 'failing'
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
after(:each) do
|
35
|
+
Cucumber.wants_to_quit = false
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'sets Cucumber.wants_to_quit' do
|
39
|
+
execute([@gherkin], report, [StandardStepActions.new])
|
40
|
+
expect(Cucumber.wants_to_quit).to be true
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
context 'passing scenario' do
|
45
|
+
before(:each) do
|
46
|
+
@gherkin = gherkin('foo.feature') do
|
47
|
+
feature do
|
48
|
+
scenario do
|
49
|
+
step 'passing'
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'doesn\'t set Cucumber.wants_to_quit' do
|
56
|
+
execute([@gherkin], report, [StandardStepActions.new])
|
57
|
+
expect(Cucumber.wants_to_quit).to be_falsey
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context 'undefined scenario' do
|
62
|
+
before(:each) do
|
63
|
+
@gherkin = gherkin('foo.feature') do
|
64
|
+
feature do
|
65
|
+
scenario do
|
66
|
+
step 'undefined'
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
it 'doesn\'t set Cucumber.wants_to_quit' do
|
73
|
+
execute([@gherkin], report, [StandardStepActions.new])
|
74
|
+
expect(Cucumber.wants_to_quit).to be_falsey
|
75
|
+
end
|
76
|
+
|
77
|
+
context 'in strict mode' do
|
78
|
+
let(:configuration) { Cucumber::Configuration.new strict: true }
|
79
|
+
|
80
|
+
it 'sets Cucumber.wants_to_quit' do
|
81
|
+
execute([@gherkin], report, [StandardStepActions.new])
|
82
|
+
expect(Cucumber.wants_to_quit).to be_truthy
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
end
|
88
|
+
end
|
@@ -715,6 +715,48 @@ module Cucumber
|
|
715
715
|
end
|
716
716
|
end
|
717
717
|
|
718
|
+
describe "with a scenario when only an around hook is failing" do
|
719
|
+
define_feature <<-FEATURE
|
720
|
+
Feature: Banana party
|
721
|
+
|
722
|
+
Scenario: Monkey eats bananas
|
723
|
+
Given there are bananas
|
724
|
+
FEATURE
|
725
|
+
|
726
|
+
define_steps do
|
727
|
+
Around() { |scenario, block| block.call; raise RuntimeError, "error" }
|
728
|
+
Given(/^there are bananas$/) {}
|
729
|
+
end
|
730
|
+
|
731
|
+
it "includes the around hook result in the json data" do
|
732
|
+
expect(load_normalised_json(@out)).to eq MultiJson.load(%{
|
733
|
+
[{"id": "banana-party",
|
734
|
+
"uri": "spec.feature",
|
735
|
+
"keyword": "Feature",
|
736
|
+
"name": "Banana party",
|
737
|
+
"line": 1,
|
738
|
+
"description": "",
|
739
|
+
"elements":
|
740
|
+
[{"id": "banana-party;monkey-eats-bananas",
|
741
|
+
"keyword": "Scenario",
|
742
|
+
"name": "Monkey eats bananas",
|
743
|
+
"line": 3,
|
744
|
+
"description": "",
|
745
|
+
"type": "scenario",
|
746
|
+
"steps":
|
747
|
+
[{"keyword": "Given ",
|
748
|
+
"name": "there are bananas",
|
749
|
+
"line": 4,
|
750
|
+
"match": {"location": "spec/cucumber/formatter/json_spec.rb:728"},
|
751
|
+
"result": {"status": "passed",
|
752
|
+
"duration": 1}}],
|
753
|
+
"around":
|
754
|
+
[{"match": {"location": "unknown_hook_location:1"},
|
755
|
+
"result": {"status": "failed",
|
756
|
+
"error_message": "error (RuntimeError)\\n./spec/cucumber/formatter/json_spec.rb:727:in `Around'",
|
757
|
+
"duration": 1}}]}]}]})
|
758
|
+
end
|
759
|
+
end
|
718
760
|
end
|
719
761
|
|
720
762
|
def load_normalised_json(out)
|
@@ -727,7 +769,7 @@ module Cucumber
|
|
727
769
|
json.each do |feature|
|
728
770
|
elements = feature.fetch('elements') { [] }
|
729
771
|
elements.each do |scenario|
|
730
|
-
['steps', 'before', 'after'].each do |type|
|
772
|
+
['steps', 'before', 'after', 'around'].each do |type|
|
731
773
|
if scenario[type]
|
732
774
|
scenario[type].each do |step_or_hook|
|
733
775
|
normalise_json_step_or_hook(step_or_hook)
|
@@ -2,6 +2,7 @@ require 'cucumber/formatter/rerun'
|
|
2
2
|
require 'cucumber/core'
|
3
3
|
require 'cucumber/core/gherkin/writer'
|
4
4
|
require 'cucumber/core/filter'
|
5
|
+
require 'support/standard_step_actions'
|
5
6
|
|
6
7
|
module Cucumber::Formatter
|
7
8
|
describe Rerun do
|
@@ -10,23 +11,6 @@ module Cucumber::Formatter
|
|
10
11
|
|
11
12
|
# after_test_case
|
12
13
|
context 'when 2 scenarios fail in the same file' do
|
13
|
-
class WithSteps < Cucumber::Core::Filter.new
|
14
|
-
def test_case(test_case)
|
15
|
-
test_steps = test_case.test_steps.map do |step|
|
16
|
-
case step.name
|
17
|
-
when /fail/
|
18
|
-
step.with_action { raise Failure }
|
19
|
-
when /pass/
|
20
|
-
step.with_action {}
|
21
|
-
else
|
22
|
-
step
|
23
|
-
end
|
24
|
-
end
|
25
|
-
|
26
|
-
test_case.with_steps(test_steps).describe_to(receiver)
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
14
|
it 'Prints the locations of the failed scenarios' do
|
31
15
|
gherkin = gherkin('foo.feature') do
|
32
16
|
feature do
|
@@ -46,7 +30,7 @@ module Cucumber::Formatter
|
|
46
30
|
io = StringIO.new
|
47
31
|
report = Rerun.new(double, io, {})
|
48
32
|
|
49
|
-
execute [gherkin], report, [
|
33
|
+
execute [gherkin], report, [StandardStepActions.new]
|
50
34
|
|
51
35
|
expect( io.string ).to eq 'foo.feature:3:6'
|
52
36
|
end
|
@@ -81,7 +65,7 @@ module Cucumber::Formatter
|
|
81
65
|
io = StringIO.new
|
82
66
|
report = Rerun.new(double, io, {})
|
83
67
|
|
84
|
-
execute [foo, bar], report, [
|
68
|
+
execute [foo, bar], report, [StandardStepActions.new]
|
85
69
|
|
86
70
|
expect(io.string).to eq 'foo.feature:3:6 bar.feature:3'
|
87
71
|
end
|
@@ -100,7 +84,7 @@ module Cucumber::Formatter
|
|
100
84
|
io = StringIO.new
|
101
85
|
report = Rerun.new(double, io, {})
|
102
86
|
|
103
|
-
execute [gherkin], report, [
|
87
|
+
execute [gherkin], report, [StandardStepActions.new]
|
104
88
|
end
|
105
89
|
end
|
106
90
|
end
|
@@ -114,6 +114,35 @@ module Cucumber
|
|
114
114
|
}).to raise_error(Cucumber::UndefinedDynamicStep)
|
115
115
|
end
|
116
116
|
|
117
|
+
it "raises UndefinedDynamicStep when an undefined step with doc string is parsed dynamically" do
|
118
|
+
dsl.Given(/Outside/) do
|
119
|
+
steps %{
|
120
|
+
Given Inside
|
121
|
+
"""
|
122
|
+
abc
|
123
|
+
"""
|
124
|
+
}
|
125
|
+
end
|
126
|
+
|
127
|
+
expect(-> {
|
128
|
+
run_step "Outside"
|
129
|
+
}).to raise_error(Cucumber::UndefinedDynamicStep)
|
130
|
+
end
|
131
|
+
|
132
|
+
it "raises UndefinedDynamicStep when an undefined step with data table is parsed dynamically" do
|
133
|
+
dsl.Given(/Outside/) do
|
134
|
+
steps %{
|
135
|
+
Given Inside
|
136
|
+
| a |
|
137
|
+
| 1 |
|
138
|
+
}
|
139
|
+
end
|
140
|
+
|
141
|
+
expect(-> {
|
142
|
+
run_step "Outside"
|
143
|
+
}).to raise_error(Cucumber::UndefinedDynamicStep)
|
144
|
+
end
|
145
|
+
|
117
146
|
it "allows forced pending" do
|
118
147
|
dsl.Given(/Outside/) do
|
119
148
|
pending("Do me!")
|
@@ -13,34 +13,8 @@ module Cucumber
|
|
13
13
|
end
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
let(:new_configuration) { double('New configuration')}
|
19
|
-
|
20
|
-
before(:each) do
|
21
|
-
allow(Runtime::SupportCode).to receive(:new) { support_code }
|
22
|
-
end
|
23
|
-
|
24
|
-
it "tells the support_code about the new configuration" do
|
25
|
-
expect(support_code).to receive(:configure).with(new_configuration)
|
26
|
-
subject.configure(new_configuration)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "replaces the existing configuration" do
|
30
|
-
# not really sure how to test this. Maybe we should just expose
|
31
|
-
# Runtime#configuration with an attr_reader?
|
32
|
-
some_new_paths = ['foo/bar', 'baz']
|
33
|
-
|
34
|
-
allow(new_configuration).to receive(:paths) { some_new_paths }
|
35
|
-
|
36
|
-
subject.configure(new_configuration)
|
37
|
-
|
38
|
-
expect(subject.features_paths).to eq some_new_paths
|
39
|
-
end
|
40
|
-
|
41
|
-
it '#doc_string' do
|
42
|
-
expect(subject.doc_string('Text')).to eq 'Text'
|
43
|
-
end
|
16
|
+
it '#doc_string' do
|
17
|
+
expect(subject.doc_string('Text')).to eq 'Text'
|
44
18
|
end
|
45
19
|
end
|
46
20
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -0,0 +1,18 @@
|
|
1
|
+
# Filter that activates steps with obvious pass / fail behaviour
|
2
|
+
class StandardStepActions < Cucumber::Core::Filter.new
|
3
|
+
def test_case(test_case)
|
4
|
+
test_steps = test_case.test_steps.map do |step|
|
5
|
+
case step.name
|
6
|
+
when /fail/
|
7
|
+
step.with_action { raise Failure }
|
8
|
+
when /pass/
|
9
|
+
step.with_action {}
|
10
|
+
else
|
11
|
+
step
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
test_case.with_steps(test_steps).describe_to(receiver)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aslak Hellesøy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2015-
|
13
|
+
date: 2015-09-11 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: cucumber-core
|
@@ -18,14 +18,14 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - "~>"
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 1.
|
21
|
+
version: 1.3.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - "~>"
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 1.
|
28
|
+
version: 1.3.0
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: builder
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
@@ -55,19 +55,19 @@ dependencies:
|
|
55
55
|
- !ruby/object:Gem::Version
|
56
56
|
version: 1.1.3
|
57
57
|
- !ruby/object:Gem::Dependency
|
58
|
-
name:
|
58
|
+
name: gherkin3
|
59
59
|
requirement: !ruby/object:Gem::Requirement
|
60
60
|
requirements:
|
61
61
|
- - "~>"
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version:
|
63
|
+
version: 3.1.0
|
64
64
|
type: :runtime
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - "~>"
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version:
|
70
|
+
version: 3.1.0
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: multi_json
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
@@ -562,11 +562,13 @@ files:
|
|
562
562
|
- examples/watir/features/support/env.rb
|
563
563
|
- examples/watir/features/support/screenshots.rb
|
564
564
|
- features/docs/api/list_step_defs_as_json.feature
|
565
|
+
- features/docs/api/listen_for_events.feature
|
565
566
|
- features/docs/api/run_cli_main_with_existing_runtime.feature
|
566
567
|
- features/docs/cli/backtraces.feature
|
567
568
|
- features/docs/cli/dry_run.feature
|
568
569
|
- features/docs/cli/exclude_files.feature
|
569
570
|
- features/docs/cli/execute_with_tag_filter.feature
|
571
|
+
- features/docs/cli/fail_fast.feature
|
570
572
|
- features/docs/cli/finding_steps.feature
|
571
573
|
- features/docs/cli/randomize.feature
|
572
574
|
- features/docs/cli/require.feature
|
@@ -674,10 +676,16 @@ files:
|
|
674
676
|
- lib/cucumber/configuration.rb
|
675
677
|
- lib/cucumber/constantize.rb
|
676
678
|
- lib/cucumber/core_ext/instance_exec.rb
|
677
|
-
- lib/cucumber/core_ext/proc.rb
|
678
679
|
- lib/cucumber/core_ext/string.rb
|
679
680
|
- lib/cucumber/encoding.rb
|
680
681
|
- lib/cucumber/errors.rb
|
682
|
+
- lib/cucumber/events.rb
|
683
|
+
- lib/cucumber/events/after_test_case.rb
|
684
|
+
- lib/cucumber/events/after_test_step.rb
|
685
|
+
- lib/cucumber/events/before_test_case.rb
|
686
|
+
- lib/cucumber/events/before_test_step.rb
|
687
|
+
- lib/cucumber/events/bus.rb
|
688
|
+
- lib/cucumber/events/step_match.rb
|
681
689
|
- lib/cucumber/file_specs.rb
|
682
690
|
- lib/cucumber/filters.rb
|
683
691
|
- lib/cucumber/filters/activate_steps.rb
|
@@ -700,6 +708,8 @@ files:
|
|
700
708
|
- lib/cucumber/formatter/debug.rb
|
701
709
|
- lib/cucumber/formatter/duration.rb
|
702
710
|
- lib/cucumber/formatter/duration_extractor.rb
|
711
|
+
- lib/cucumber/formatter/event_bus_report.rb
|
712
|
+
- lib/cucumber/formatter/fail_fast.rb
|
703
713
|
- lib/cucumber/formatter/fanout.rb
|
704
714
|
- lib/cucumber/formatter/hook_query_visitor.rb
|
705
715
|
- lib/cucumber/formatter/html.rb
|
@@ -722,6 +732,13 @@ files:
|
|
722
732
|
- lib/cucumber/formatter/summary.rb
|
723
733
|
- lib/cucumber/formatter/unicode.rb
|
724
734
|
- lib/cucumber/formatter/usage.rb
|
735
|
+
- lib/cucumber/gherkin/data_table_parser.rb
|
736
|
+
- lib/cucumber/gherkin/formatter/ansi_escapes.rb
|
737
|
+
- lib/cucumber/gherkin/formatter/argument.rb
|
738
|
+
- lib/cucumber/gherkin/formatter/escaping.rb
|
739
|
+
- lib/cucumber/gherkin/formatter/hashable.rb
|
740
|
+
- lib/cucumber/gherkin/i18n.rb
|
741
|
+
- lib/cucumber/gherkin/steps_parser.rb
|
725
742
|
- lib/cucumber/hooks.rb
|
726
743
|
- lib/cucumber/language_support.rb
|
727
744
|
- lib/cucumber/language_support/language_methods.rb
|
@@ -764,6 +781,7 @@ files:
|
|
764
781
|
- lib/cucumber/wire_support/wire_protocol.rb
|
765
782
|
- lib/cucumber/wire_support/wire_protocol/requests.rb
|
766
783
|
- lib/cucumber/wire_support/wire_step_definition.rb
|
784
|
+
- lib/simplecov_setup.rb
|
767
785
|
- spec/cucumber/cli/configuration_spec.rb
|
768
786
|
- spec/cucumber/cli/main_spec.rb
|
769
787
|
- spec/cucumber/cli/options_spec.rb
|
@@ -772,7 +790,7 @@ files:
|
|
772
790
|
- spec/cucumber/configuration_spec.rb
|
773
791
|
- spec/cucumber/constantize_spec.rb
|
774
792
|
- spec/cucumber/core_ext/instance_exec_spec.rb
|
775
|
-
- spec/cucumber/
|
793
|
+
- spec/cucumber/events/bus_spec.rb
|
776
794
|
- spec/cucumber/file_specs_spec.rb
|
777
795
|
- spec/cucumber/filters/activate_steps_spec.rb
|
778
796
|
- spec/cucumber/filters/gated_receiver_spec.rb
|
@@ -782,6 +800,8 @@ files:
|
|
782
800
|
- spec/cucumber/formatter/ansicolor_spec.rb
|
783
801
|
- spec/cucumber/formatter/debug_spec.rb
|
784
802
|
- spec/cucumber/formatter/duration_spec.rb
|
803
|
+
- spec/cucumber/formatter/event_bus_report_spec.rb
|
804
|
+
- spec/cucumber/formatter/fail_fast_spec.rb
|
785
805
|
- spec/cucumber/formatter/html_spec.rb
|
786
806
|
- spec/cucumber/formatter/interceptor_spec.rb
|
787
807
|
- spec/cucumber/formatter/json_spec.rb
|
@@ -812,8 +832,8 @@ files:
|
|
812
832
|
- spec/cucumber/wire_support/wire_language_spec.rb
|
813
833
|
- spec/cucumber/wire_support/wire_packet_spec.rb
|
814
834
|
- spec/cucumber/world/pending_spec.rb
|
815
|
-
- spec/simplecov_setup.rb
|
816
835
|
- spec/spec_helper.rb
|
836
|
+
- spec/support/standard_step_actions.rb
|
817
837
|
homepage: http://cukes.info
|
818
838
|
licenses:
|
819
839
|
- MIT
|
@@ -838,14 +858,16 @@ rubyforge_project:
|
|
838
858
|
rubygems_version: 2.2.2
|
839
859
|
signing_key:
|
840
860
|
specification_version: 4
|
841
|
-
summary: cucumber-2.0
|
861
|
+
summary: cucumber-2.1.0
|
842
862
|
test_files:
|
843
863
|
- features/docs/api/list_step_defs_as_json.feature
|
864
|
+
- features/docs/api/listen_for_events.feature
|
844
865
|
- features/docs/api/run_cli_main_with_existing_runtime.feature
|
845
866
|
- features/docs/cli/backtraces.feature
|
846
867
|
- features/docs/cli/dry_run.feature
|
847
868
|
- features/docs/cli/exclude_files.feature
|
848
869
|
- features/docs/cli/execute_with_tag_filter.feature
|
870
|
+
- features/docs/cli/fail_fast.feature
|
849
871
|
- features/docs/cli/finding_steps.feature
|
850
872
|
- features/docs/cli/randomize.feature
|
851
873
|
- features/docs/cli/require.feature
|
@@ -931,7 +953,7 @@ test_files:
|
|
931
953
|
- spec/cucumber/configuration_spec.rb
|
932
954
|
- spec/cucumber/constantize_spec.rb
|
933
955
|
- spec/cucumber/core_ext/instance_exec_spec.rb
|
934
|
-
- spec/cucumber/
|
956
|
+
- spec/cucumber/events/bus_spec.rb
|
935
957
|
- spec/cucumber/file_specs_spec.rb
|
936
958
|
- spec/cucumber/filters/activate_steps_spec.rb
|
937
959
|
- spec/cucumber/filters/gated_receiver_spec.rb
|
@@ -941,6 +963,8 @@ test_files:
|
|
941
963
|
- spec/cucumber/formatter/ansicolor_spec.rb
|
942
964
|
- spec/cucumber/formatter/debug_spec.rb
|
943
965
|
- spec/cucumber/formatter/duration_spec.rb
|
966
|
+
- spec/cucumber/formatter/event_bus_report_spec.rb
|
967
|
+
- spec/cucumber/formatter/fail_fast_spec.rb
|
944
968
|
- spec/cucumber/formatter/html_spec.rb
|
945
969
|
- spec/cucumber/formatter/interceptor_spec.rb
|
946
970
|
- spec/cucumber/formatter/json_spec.rb
|
@@ -971,6 +995,6 @@ test_files:
|
|
971
995
|
- spec/cucumber/wire_support/wire_language_spec.rb
|
972
996
|
- spec/cucumber/wire_support/wire_packet_spec.rb
|
973
997
|
- spec/cucumber/world/pending_spec.rb
|
974
|
-
- spec/simplecov_setup.rb
|
975
998
|
- spec/spec_helper.rb
|
999
|
+
- spec/support/standard_step_actions.rb
|
976
1000
|
has_rdoc:
|