cucumber 2.0.2 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (85) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +0 -6
  3. data/CONTRIBUTING.md +3 -1
  4. data/Gemfile +1 -1
  5. data/History.md +17 -0
  6. data/README.md +3 -3
  7. data/bin/cucumber +1 -2
  8. data/cucumber.gemspec +2 -2
  9. data/examples/i18n/ht/features/adisyon.feature +7 -7
  10. data/features/docs/api/listen_for_events.feature +58 -0
  11. data/features/docs/cli/fail_fast.feature +46 -0
  12. data/features/docs/defining_steps/nested_steps_with_second_arg.feature +3 -22
  13. data/features/docs/extending_cucumber/custom_formatter.feature +40 -4
  14. data/features/docs/gherkin/doc_strings.feature +5 -5
  15. data/features/docs/gherkin/language_help.feature +15 -15
  16. data/features/docs/gherkin/using_descriptions.feature +0 -5
  17. data/lib/cucumber/cli/configuration.rb +10 -92
  18. data/lib/cucumber/cli/main.rb +1 -7
  19. data/lib/cucumber/cli/options.rb +47 -12
  20. data/lib/cucumber/configuration.rb +195 -7
  21. data/lib/cucumber/events.rb +20 -0
  22. data/lib/cucumber/events/after_test_case.rb +25 -0
  23. data/lib/cucumber/events/after_test_step.rb +30 -0
  24. data/lib/cucumber/events/before_test_case.rb +18 -0
  25. data/lib/cucumber/events/before_test_step.rb +23 -0
  26. data/lib/cucumber/events/bus.rb +86 -0
  27. data/lib/cucumber/events/step_match.rb +23 -0
  28. data/lib/cucumber/filters/prepare_world.rb +2 -2
  29. data/lib/cucumber/formatter/backtrace_filter.rb +9 -8
  30. data/lib/cucumber/formatter/console.rb +1 -1
  31. data/lib/cucumber/formatter/event_bus_report.rb +37 -0
  32. data/lib/cucumber/formatter/fail_fast.rb +18 -0
  33. data/lib/cucumber/formatter/html.rb +1 -1
  34. data/lib/cucumber/formatter/io.rb +3 -1
  35. data/lib/cucumber/formatter/json.rb +19 -1
  36. data/lib/cucumber/formatter/legacy_api/adapter.rb +5 -13
  37. data/lib/cucumber/formatter/legacy_api/ast.rb +2 -2
  38. data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +3 -1
  39. data/lib/cucumber/formatter/pretty.rb +5 -7
  40. data/lib/cucumber/formatter/progress.rb +1 -1
  41. data/lib/cucumber/formatter/rerun.rb +1 -1
  42. data/lib/cucumber/formatter/steps.rb +1 -1
  43. data/lib/cucumber/formatter/usage.rb +12 -8
  44. data/lib/cucumber/gherkin/data_table_parser.rb +23 -0
  45. data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +99 -0
  46. data/lib/cucumber/gherkin/formatter/argument.rb +17 -0
  47. data/lib/cucumber/gherkin/formatter/escaping.rb +17 -0
  48. data/lib/cucumber/gherkin/formatter/hashable.rb +27 -0
  49. data/lib/cucumber/gherkin/i18n.rb +15 -0
  50. data/lib/cucumber/gherkin/steps_parser.rb +41 -0
  51. data/lib/cucumber/language_support/language_methods.rb +6 -5
  52. data/lib/cucumber/multiline_argument.rb +0 -3
  53. data/lib/cucumber/multiline_argument/data_table.rb +6 -5
  54. data/lib/cucumber/multiline_argument/doc_string.rb +1 -2
  55. data/lib/cucumber/platform.rb +1 -1
  56. data/lib/cucumber/rake/task.rb +2 -2
  57. data/lib/cucumber/rb_support/rb_hook.rb +1 -6
  58. data/lib/cucumber/rb_support/rb_language.rb +15 -5
  59. data/lib/cucumber/rb_support/rb_step_definition.rb +11 -17
  60. data/lib/cucumber/rb_support/rb_world.rb +6 -4
  61. data/lib/cucumber/rb_support/regexp_argument_matcher.rb +2 -2
  62. data/lib/cucumber/runtime.rb +36 -16
  63. data/lib/cucumber/runtime/support_code.rb +19 -15
  64. data/lib/cucumber/step_definition_light.rb +5 -5
  65. data/lib/cucumber/step_definitions.rb +2 -2
  66. data/lib/cucumber/step_match.rb +11 -2
  67. data/lib/cucumber/wire_support/wire_protocol/requests.rb +2 -2
  68. data/lib/cucumber/wire_support/wire_step_definition.rb +4 -2
  69. data/{spec → lib}/simplecov_setup.rb +0 -0
  70. data/spec/cucumber/cli/configuration_spec.rb +2 -104
  71. data/spec/cucumber/cli/main_spec.rb +0 -22
  72. data/spec/cucumber/cli/options_spec.rb +3 -1
  73. data/spec/cucumber/configuration_spec.rb +123 -0
  74. data/spec/cucumber/events/bus_spec.rb +94 -0
  75. data/spec/cucumber/formatter/event_bus_report_spec.rb +79 -0
  76. data/spec/cucumber/formatter/fail_fast_spec.rb +88 -0
  77. data/spec/cucumber/formatter/json_spec.rb +43 -1
  78. data/spec/cucumber/formatter/rerun_spec.rb +4 -20
  79. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +29 -0
  80. data/spec/cucumber/runtime_spec.rb +2 -28
  81. data/spec/spec_helper.rb +1 -1
  82. data/spec/support/standard_step_actions.rb +18 -0
  83. metadata +37 -13
  84. data/lib/cucumber/core_ext/proc.rb +0 -36
  85. 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, [WithSteps.new]
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, [WithSteps.new]
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, [WithSteps.new]
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
- describe "#configure" do
17
- let(:support_code) { double(Runtime::SupportCode).as_null_object }
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
@@ -4,7 +4,7 @@ $:.unshift(File.dirname(__FILE__))
4
4
  # For Travis....
5
5
  require 'cucumber/encoding'
6
6
 
7
- load File.expand_path(File.dirname(__FILE__) + '/../spec/simplecov_setup.rb')
7
+ require 'simplecov_setup'
8
8
 
9
9
  require 'pry'
10
10
 
@@ -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.2
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-07-15 00:00:00.000000000 Z
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.2.0
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.2.0
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: gherkin
58
+ name: gherkin3
59
59
  requirement: !ruby/object:Gem::Requirement
60
60
  requirements:
61
61
  - - "~>"
62
62
  - !ruby/object:Gem::Version
63
- version: '2.12'
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: '2.12'
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/core_ext/proc_spec.rb
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.2
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/core_ext/proc_spec.rb
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: