cucumber 0.3.96 → 0.3.97
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +22 -3
- data/License.txt +2 -0
- data/Manifest.txt +9 -5
- data/config/hoe.rb +1 -0
- data/examples/i18n/Rakefile +5 -3
- data/examples/i18n/fi/features/yhteenlasku.feature +5 -4
- data/examples/python/features/step_definitions/fib_steps.py +3 -0
- data/examples/python/features/support/env.rb +21 -21
- data/gem_tasks/contributors.rake +8 -0
- data/gem_tasks/features.rake +1 -0
- data/gem_tasks/sdoc.rake +7 -0
- data/lib/README.rdoc +12 -0
- data/lib/cucumber/ast/background.rb +1 -1
- data/lib/cucumber/ast/comment.rb +1 -1
- data/lib/cucumber/ast/examples.rb +9 -4
- data/lib/cucumber/ast/feature.rb +1 -1
- data/lib/cucumber/ast/feature_element.rb +1 -1
- data/lib/cucumber/ast/features.rb +1 -1
- data/lib/cucumber/ast/outline_table.rb +2 -2
- data/lib/cucumber/ast/py_string.rb +1 -1
- data/lib/cucumber/ast/scenario.rb +1 -1
- data/lib/cucumber/ast/scenario_outline.rb +8 -7
- data/lib/cucumber/ast/step.rb +1 -1
- data/lib/cucumber/ast/step_collection.rb +1 -1
- data/lib/cucumber/ast/step_invocation.rb +1 -1
- data/lib/cucumber/ast/table.rb +65 -45
- data/lib/cucumber/ast/tags.rb +2 -2
- data/lib/cucumber/ast/visitor.rb +6 -8
- data/lib/cucumber/broadcaster.rb +1 -1
- data/lib/cucumber/cli/language_help_formatter.rb +1 -1
- data/lib/cucumber/cli/main.rb +15 -52
- data/lib/cucumber/constantize.rb +1 -1
- data/lib/cucumber/core_ext/exception.rb +1 -1
- data/lib/cucumber/core_ext/instance_exec.rb +8 -3
- data/lib/cucumber/core_ext/proc.rb +1 -1
- data/lib/cucumber/core_ext/string.rb +1 -1
- data/lib/cucumber/feature_file.rb +4 -3
- data/lib/cucumber/filter.rb +2 -1
- data/lib/cucumber/formatter/ansicolor.rb +6 -5
- data/lib/cucumber/formatter/color_io.rb +2 -2
- data/lib/cucumber/formatter/console.rb +2 -0
- data/lib/cucumber/formatter/duration.rb +3 -0
- data/lib/cucumber/formatter/html.rb +1 -0
- data/lib/cucumber/formatter/junit.rb +1 -0
- data/lib/cucumber/formatter/ordered_xml_markup.rb +1 -1
- data/lib/cucumber/formatter/pretty.rb +18 -4
- data/lib/cucumber/formatter/profile.rb +1 -0
- data/lib/cucumber/formatter/progress.rb +1 -0
- data/lib/cucumber/formatter/rerun.rb +2 -0
- data/lib/cucumber/formatter/steps.rb +1 -0
- data/lib/cucumber/formatter/tag_cloud.rb +2 -1
- data/lib/cucumber/formatter/unicode.rb +1 -1
- data/lib/cucumber/formatter/usage.rb +1 -0
- data/lib/cucumber/language_support.rb +30 -0
- data/lib/cucumber/language_support/language_methods.rb +34 -12
- data/lib/cucumber/parser/feature.rb +81 -57
- data/lib/cucumber/parser/feature.tt +3 -3
- data/lib/cucumber/parser/natural_language.rb +1 -1
- data/lib/cucumber/parser/table.rb +3 -0
- data/lib/cucumber/parser/treetop_ext.rb +6 -5
- data/lib/cucumber/platform.rb +1 -2
- data/lib/cucumber/py_support/py_dsl.py +8 -0
- data/lib/cucumber/py_support/py_language.py +2 -0
- data/lib/cucumber/py_support/py_language.rb +68 -0
- data/lib/cucumber/rails/world.rb +2 -1
- data/lib/cucumber/rake/task.rb +13 -11
- data/lib/cucumber/rb_support/rb_dsl.rb +27 -15
- data/lib/cucumber/rb_support/rb_hook.rb +1 -2
- data/lib/cucumber/rb_support/rb_language.rb +57 -33
- data/lib/cucumber/rb_support/rb_step_definition.rb +42 -38
- data/lib/cucumber/rb_support/rb_world.rb +93 -0
- data/lib/cucumber/rspec_neuter.rb +3 -3
- data/lib/cucumber/step_match.rb +2 -2
- data/lib/cucumber/step_mother.rb +91 -65
- data/lib/cucumber/version.rb +1 -1
- data/lib/cucumber/webrat/element_locator.rb +3 -3
- data/rails_generators/cucumber/templates/cucumber.rake +2 -0
- data/rails_generators/cucumber/templates/webrat_steps.rb +4 -0
- data/spec/cucumber/ast/background_spec.rb +8 -1
- data/spec/cucumber/ast/scenario_outline_spec.rb +1 -0
- data/spec/cucumber/ast/table_spec.rb +10 -0
- data/spec/cucumber/cli/options_spec.rb +1 -1
- data/spec/cucumber/parser/feature_parser_spec.rb +4 -0
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +114 -0
- data/spec/cucumber/step_mother_spec.rb +29 -10
- data/spec/cucumber/treetop_parser/with_comments.feature +14 -1
- data/spec/cucumber/world/pending_spec.rb +1 -1
- metadata +21 -7
- data/gem_tasks/yard.rake +0 -8
- data/lib/cucumber/language_support/hook_methods.rb +0 -9
- data/lib/cucumber/world.rb +0 -89
- data/spec/cucumber/ast/visitor_spec.rb +0 -27
- data/spec/cucumber/step_definition_spec.rb +0 -102
@@ -27,6 +27,10 @@ When /^I fill in "([^\"]*)" with "([^\"]*)"$/ do |field, value|
|
|
27
27
|
fill_in(field, :with => value)
|
28
28
|
end
|
29
29
|
|
30
|
+
When /^I fill in "([^\"]*)" for "([^\"]*)"$/ do |value, field|
|
31
|
+
fill_in(field, :with => value)
|
32
|
+
end
|
33
|
+
|
30
34
|
# Use this to fill in an entire form with data from a table. Example:
|
31
35
|
#
|
32
36
|
# When I fill in the following:
|
@@ -10,7 +10,7 @@ module Cucumber
|
|
10
10
|
extend(RbSupport::RbDsl)
|
11
11
|
@step_mother = StepMother.new
|
12
12
|
@step_mother.load_natural_language('en')
|
13
|
-
@step_mother.load_programming_language('rb')
|
13
|
+
@rb = @step_mother.load_programming_language('rb')
|
14
14
|
|
15
15
|
$x = $y = nil
|
16
16
|
Before do
|
@@ -19,12 +19,19 @@ module Cucumber
|
|
19
19
|
Given /y is (\d+)/ do |n|
|
20
20
|
$y = $x * n.to_i
|
21
21
|
end
|
22
|
+
|
23
|
+
register
|
24
|
+
|
22
25
|
@visitor = Visitor.new(@step_mother)
|
23
26
|
@visitor.options = {}
|
24
27
|
|
25
28
|
@feature = mock('feature', :visit? => true).as_null_object
|
26
29
|
end
|
27
30
|
|
31
|
+
def register
|
32
|
+
@step_mother.register_step_definitions(@rb.step_definitions)
|
33
|
+
end
|
34
|
+
|
28
35
|
it "should execute Before blocks before background steps" do
|
29
36
|
background = Background.new(
|
30
37
|
comment=Comment.new(''),
|
@@ -285,6 +285,16 @@ module Cucumber
|
|
285
285
|
| aslak | true |
|
286
286
|
}
|
287
287
|
end
|
288
|
+
|
289
|
+
it "should not allow mappings that match more than 1 column" do
|
290
|
+
t1 = Table.new([
|
291
|
+
['Cuke', 'Duke'],
|
292
|
+
['Foo', 'Bar']
|
293
|
+
])
|
294
|
+
lambda do
|
295
|
+
t1.map_headers!(/uk/ => 'u')
|
296
|
+
end.should raise_error(%{2 headers matched /uk/: ["Cuke", "Duke"]})
|
297
|
+
end
|
288
298
|
|
289
299
|
describe "raising" do
|
290
300
|
before do
|
@@ -46,7 +46,7 @@ module Cli
|
|
46
46
|
|
47
47
|
context '-r or --require' do
|
48
48
|
it "collects all specified files into an array" do
|
49
|
-
after_parsing
|
49
|
+
after_parsing('--require some_file.rb -r another_file.rb') do
|
50
50
|
options[:require].should == ['some_file.rb', 'another_file.rb']
|
51
51
|
end
|
52
52
|
end
|
@@ -0,0 +1,114 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
|
3
|
+
require 'cucumber/ast'
|
4
|
+
require 'cucumber/step_mother'
|
5
|
+
require 'cucumber/rb_support/rb_language'
|
6
|
+
|
7
|
+
module Cucumber
|
8
|
+
module RbSupport
|
9
|
+
describe RbStepDefinition do
|
10
|
+
before do
|
11
|
+
@step_mother = StepMother.new
|
12
|
+
@step_mother.load_natural_language('en')
|
13
|
+
@rb = @step_mother.load_programming_language('rb')
|
14
|
+
@dsl = Object.new
|
15
|
+
@dsl.extend RbSupport::RbDsl
|
16
|
+
@step_mother.before(nil)
|
17
|
+
|
18
|
+
$inside = nil
|
19
|
+
end
|
20
|
+
|
21
|
+
def register
|
22
|
+
@step_mother.register_step_definitions(@rb.step_definitions)
|
23
|
+
end
|
24
|
+
|
25
|
+
it "should allow calling of other steps" do
|
26
|
+
@dsl.Given /Outside/ do
|
27
|
+
Given "Inside"
|
28
|
+
end
|
29
|
+
@dsl.Given /Inside/ do
|
30
|
+
$inside = true
|
31
|
+
end
|
32
|
+
register
|
33
|
+
|
34
|
+
@step_mother.step_match("Outside").invoke(nil)
|
35
|
+
$inside.should == true
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should allow calling of other steps with inline arg" do
|
39
|
+
@dsl.Given /Outside/ do
|
40
|
+
Given "Inside", Ast::Table.new([['inside']])
|
41
|
+
end
|
42
|
+
@dsl.Given /Inside/ do |table|
|
43
|
+
$inside = table.raw[0][0]
|
44
|
+
end
|
45
|
+
register
|
46
|
+
|
47
|
+
@step_mother.step_match("Outside").invoke(nil)
|
48
|
+
$inside.should == 'inside'
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should raise Undefined when inside step is not defined" do
|
52
|
+
@dsl.Given /Outside/ do
|
53
|
+
Given 'Inside'
|
54
|
+
end
|
55
|
+
register
|
56
|
+
|
57
|
+
lambda do
|
58
|
+
@step_mother.step_match('Outside').invoke(nil)
|
59
|
+
end.should raise_error(Undefined, 'Undefined step: "Inside"')
|
60
|
+
end
|
61
|
+
|
62
|
+
it "should allow forced pending" do
|
63
|
+
@dsl.Given /Outside/ do
|
64
|
+
pending("Do me!")
|
65
|
+
end
|
66
|
+
register
|
67
|
+
|
68
|
+
lambda do
|
69
|
+
@step_mother.step_match("Outside").invoke(nil)
|
70
|
+
end.should raise_error(Pending, "Do me!")
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should allow announce" do
|
74
|
+
v = mock('visitor')
|
75
|
+
v.should_receive(:announce).with('wasup')
|
76
|
+
@step_mother.visitor = v
|
77
|
+
@dsl.Given /Loud/ do
|
78
|
+
announce 'wasup'
|
79
|
+
end
|
80
|
+
register
|
81
|
+
|
82
|
+
@step_mother.step_match("Loud").invoke(nil)
|
83
|
+
end
|
84
|
+
|
85
|
+
def unindented(s)
|
86
|
+
s.split("\n")[1..-2].join("\n").indent(-10)
|
87
|
+
end
|
88
|
+
|
89
|
+
it "should recognise quotes in name and make according regexp" do
|
90
|
+
@rb.snippet_text('Given', 'A "first" arg').should == unindented(%{
|
91
|
+
Given /^A "([^\\"]*)" arg$/ do |arg1|
|
92
|
+
pending
|
93
|
+
end
|
94
|
+
})
|
95
|
+
end
|
96
|
+
|
97
|
+
it "should recognise several quoted words in name and make according regexp and args" do
|
98
|
+
@rb.snippet_text('Given', 'A "first" and "second" arg').should == unindented(%{
|
99
|
+
Given /^A "([^\\"]*)" and "([^\\"]*)" arg$/ do |arg1, arg2|
|
100
|
+
pending
|
101
|
+
end
|
102
|
+
})
|
103
|
+
end
|
104
|
+
|
105
|
+
it "should not use quote group when there are no quotes" do
|
106
|
+
@rb.snippet_text('Given', 'A first arg').should == unindented(%{
|
107
|
+
Given /^A first arg$/ do
|
108
|
+
pending
|
109
|
+
end
|
110
|
+
})
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
end
|
@@ -16,11 +16,17 @@ module Cucumber
|
|
16
16
|
@visitor = mock('Visitor')
|
17
17
|
end
|
18
18
|
|
19
|
+
def register
|
20
|
+
@step_mother.register_step_definitions(@rb.step_definitions)
|
21
|
+
end
|
22
|
+
|
19
23
|
it "should format step names" do
|
20
24
|
@dsl.Given(/it (.*) in (.*)/) do |what, month|
|
21
25
|
end
|
22
26
|
@dsl.Given(/nope something else/) do |what, month|
|
23
27
|
end
|
28
|
+
register
|
29
|
+
|
24
30
|
format = @step_mother.step_match("it snows in april").format_args("[%s]")
|
25
31
|
format.should == "it [snows] in [april]"
|
26
32
|
end
|
@@ -28,13 +34,14 @@ module Cucumber
|
|
28
34
|
it "should raise Ambiguous error with guess hint when multiple step definitions match" do
|
29
35
|
@dsl.Given(/Three (.*) mice/) {|disability|}
|
30
36
|
@dsl.Given(/Three blind (.*)/) {|animal|}
|
37
|
+
register
|
31
38
|
|
32
39
|
lambda do
|
33
40
|
@step_mother.step_match("Three blind mice")
|
34
41
|
end.should raise_error(Ambiguous, %{Ambiguous match of "Three blind mice":
|
35
42
|
|
36
|
-
spec/cucumber/step_mother_spec.rb:
|
37
|
-
spec/cucumber/step_mother_spec.rb:
|
43
|
+
spec/cucumber/step_mother_spec.rb:35:in `/Three (.*) mice/'
|
44
|
+
spec/cucumber/step_mother_spec.rb:36:in `/Three blind (.*)/'
|
38
45
|
|
39
46
|
You can run again with --guess to make Cucumber be more smart about it
|
40
47
|
})
|
@@ -42,15 +49,17 @@ You can run again with --guess to make Cucumber be more smart about it
|
|
42
49
|
|
43
50
|
it "should not show --guess hint when --guess is used" do
|
44
51
|
@step_mother.options = {:guess => true}
|
52
|
+
|
45
53
|
@dsl.Given(/Three (.*) mice/) {|disability|}
|
46
54
|
@dsl.Given(/Three cute (.*)/) {|animal|}
|
55
|
+
register
|
47
56
|
|
48
57
|
lambda do
|
49
58
|
@step_mother.step_match("Three cute mice")
|
50
59
|
end.should raise_error(Ambiguous, %{Ambiguous match of "Three cute mice":
|
51
60
|
|
52
|
-
spec/cucumber/step_mother_spec.rb:
|
53
|
-
spec/cucumber/step_mother_spec.rb:
|
61
|
+
spec/cucumber/step_mother_spec.rb:53:in `/Three (.*) mice/'
|
62
|
+
spec/cucumber/step_mother_spec.rb:54:in `/Three cute (.*)/'
|
54
63
|
|
55
64
|
})
|
56
65
|
end
|
@@ -59,6 +68,7 @@ spec/cucumber/step_mother_spec.rb:46:in `/Three cute (.*)/'
|
|
59
68
|
@step_mother.options = {:guess => true}
|
60
69
|
@dsl.Given(/Three (.*) mice/) {|disability|}
|
61
70
|
@dsl.Given(/Three (.*)/) {|animal|}
|
71
|
+
register
|
62
72
|
|
63
73
|
lambda do
|
64
74
|
@step_mother.step_match("Three blind mice")
|
@@ -69,6 +79,8 @@ spec/cucumber/step_mother_spec.rb:46:in `/Three cute (.*)/'
|
|
69
79
|
@step_mother.options = {:guess => true}
|
70
80
|
right = @dsl.Given(/Three (.*) mice/) {|disability|}
|
71
81
|
wrong = @dsl.Given(/Three (.*)/) {|animal|}
|
82
|
+
register
|
83
|
+
|
72
84
|
@step_mother.step_match("Three blind mice").step_definition.should == right
|
73
85
|
end
|
74
86
|
|
@@ -76,6 +88,8 @@ spec/cucumber/step_mother_spec.rb:46:in `/Three cute (.*)/'
|
|
76
88
|
@step_mother.options = {:guess => true}
|
77
89
|
right = @dsl.Given(/Three (.*) mice ran (.*)/) {|disability|}
|
78
90
|
wrong = @dsl.Given(/Three (.*)/) {|animal|}
|
91
|
+
register
|
92
|
+
|
79
93
|
@step_mother.step_match("Three blind mice ran far").step_definition.should == right
|
80
94
|
end
|
81
95
|
|
@@ -84,6 +98,8 @@ spec/cucumber/step_mother_spec.rb:46:in `/Three cute (.*)/'
|
|
84
98
|
general = @dsl.Given(/Three (.*) mice ran (.*)/) {|disability|}
|
85
99
|
specific = @dsl.Given(/Three blind mice ran far/) {}
|
86
100
|
more_specific = @dsl.Given(/^Three blind mice ran far$/) {}
|
101
|
+
register
|
102
|
+
|
87
103
|
@step_mother.step_match("Three blind mice ran far").step_definition.should == more_specific
|
88
104
|
end
|
89
105
|
|
@@ -97,6 +113,7 @@ spec/cucumber/step_mother_spec.rb:46:in `/Three cute (.*)/'
|
|
97
113
|
@dsl.Given(/Three (.*) mice/) {|disability|}
|
98
114
|
lambda do
|
99
115
|
@dsl.Given(/Three (.*) mice/) {|disability|}
|
116
|
+
register
|
100
117
|
end.should raise_error(Redundant)
|
101
118
|
end
|
102
119
|
|
@@ -104,6 +121,7 @@ spec/cucumber/step_mother_spec.rb:46:in `/Three cute (.*)/'
|
|
104
121
|
it "should not raise Redundant unless it's really redundant" do
|
105
122
|
@dsl.Given(/^(.*) (.*) user named '(.*)'$/) {|a,b,c|}
|
106
123
|
@dsl.Given(/^there is no (.*) user named '(.*)'$/) {|a,b|}
|
124
|
+
register
|
107
125
|
end
|
108
126
|
|
109
127
|
it "should raise an error if the world is nil" do
|
@@ -115,7 +133,7 @@ spec/cucumber/step_mother_spec.rb:46:in `/Three cute (.*)/'
|
|
115
133
|
raise "Should fail"
|
116
134
|
rescue RbSupport::NilWorld => e
|
117
135
|
e.message.should == "World procs should never return nil"
|
118
|
-
e.backtrace.should == ["spec/cucumber/step_mother_spec.rb:
|
136
|
+
e.backtrace.should == ["spec/cucumber/step_mother_spec.rb:128:in `World'"]
|
119
137
|
end
|
120
138
|
end
|
121
139
|
|
@@ -130,7 +148,7 @@ spec/cucumber/step_mother_spec.rb:46:in `/Three cute (.*)/'
|
|
130
148
|
|
131
149
|
it "should implicitly extend world with modules" do
|
132
150
|
@dsl.World(ModuleOne, ModuleTwo)
|
133
|
-
@step_mother.
|
151
|
+
@step_mother.before(nil)
|
134
152
|
class << @rb.current_world
|
135
153
|
included_modules.index(ModuleOne).should_not == nil
|
136
154
|
included_modules.index(ModuleTwo).should_not == nil
|
@@ -145,10 +163,10 @@ spec/cucumber/step_mother_spec.rb:46:in `/Three cute (.*)/'
|
|
145
163
|
end.should raise_error(RbSupport::MultipleWorld, %{You can only pass a proc to #World once, but it's happening
|
146
164
|
in 2 places:
|
147
165
|
|
148
|
-
spec/cucumber/step_mother_spec.rb:
|
149
|
-
spec/cucumber/step_mother_spec.rb:
|
166
|
+
spec/cucumber/step_mother_spec.rb:160:in `World'
|
167
|
+
spec/cucumber/step_mother_spec.rb:162:in `World'
|
150
168
|
|
151
|
-
Use Ruby modules instead to extend your worlds. See the Cucumber::
|
169
|
+
Use Ruby modules instead to extend your worlds. See the Cucumber::RbSupport::RbDsl#World RDoc
|
152
170
|
or http://wiki.github.com/aslakhellesoy/cucumber/a-whole-new-world.
|
153
171
|
|
154
172
|
})
|
@@ -157,12 +175,13 @@ or http://wiki.github.com/aslakhellesoy/cucumber/a-whole-new-world.
|
|
157
175
|
it "should find before hooks" do
|
158
176
|
fish = @dsl.Before('@fish'){}
|
159
177
|
meat = @dsl.Before('@meat'){}
|
178
|
+
register
|
160
179
|
|
161
180
|
scenario = mock('Scenario')
|
162
181
|
scenario.should_receive(:accept_hook?).with(fish).and_return(true)
|
163
182
|
scenario.should_receive(:accept_hook?).with(meat).and_return(false)
|
164
183
|
|
165
|
-
@
|
184
|
+
@rb.hooks_for(:before, scenario).should == [fish]
|
166
185
|
end
|
167
186
|
end
|
168
187
|
end
|
@@ -2,9 +2,22 @@
|
|
2
2
|
# Two lines
|
3
3
|
Feature: Some header
|
4
4
|
|
5
|
+
Background:
|
6
|
+
# comment
|
7
|
+
Given whatever
|
8
|
+
|
5
9
|
# Scenario header
|
6
10
|
# on two lines
|
7
11
|
Scenario: Some scenario
|
8
12
|
Given one
|
9
13
|
# When two
|
10
|
-
Then three
|
14
|
+
Then three
|
15
|
+
|
16
|
+
Scenario Outline: Some outline
|
17
|
+
Given <one>
|
18
|
+
Then <two>
|
19
|
+
|
20
|
+
# Examples group comment
|
21
|
+
Examples:
|
22
|
+
| one | two |
|
23
|
+
| a | b |
|
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: 0.3.
|
4
|
+
version: 0.3.97
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- "Aslak Helles\xC3\xB8y"
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-08-
|
12
|
+
date: 2009-08-23 00:00:00 -05:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -32,6 +32,16 @@ dependencies:
|
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: 1.3.0
|
34
34
|
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: polyglot
|
37
|
+
type: :runtime
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 0.2.8
|
44
|
+
version:
|
35
45
|
- !ruby/object:Gem::Dependency
|
36
46
|
name: diff-lcs
|
37
47
|
type: :runtime
|
@@ -235,6 +245,7 @@ files:
|
|
235
245
|
- examples/junit/features/step_definitions/steps.rb
|
236
246
|
- examples/pure_java/README.textile
|
237
247
|
- examples/python/features/fibonacci.feature
|
248
|
+
- examples/python/features/step_definitions/fib_steps.py
|
238
249
|
- examples/python/features/step_definitions/fib_steps.rb
|
239
250
|
- examples/python/features/support/env.rb
|
240
251
|
- examples/python/lib/fib.py
|
@@ -356,7 +367,8 @@ files:
|
|
356
367
|
- gem_tasks/gemspec.rake
|
357
368
|
- gem_tasks/rspec.rake
|
358
369
|
- gem_tasks/sass.rake
|
359
|
-
- gem_tasks/
|
370
|
+
- gem_tasks/sdoc.rake
|
371
|
+
- lib/README.rdoc
|
360
372
|
- lib/autotest/cucumber.rb
|
361
373
|
- lib/autotest/cucumber_mixin.rb
|
362
374
|
- lib/autotest/cucumber_rails.rb
|
@@ -413,7 +425,7 @@ files:
|
|
413
425
|
- lib/cucumber/formatter/unicode.rb
|
414
426
|
- lib/cucumber/formatter/usage.rb
|
415
427
|
- lib/cucumber/formatters/unicode.rb
|
416
|
-
- lib/cucumber/language_support
|
428
|
+
- lib/cucumber/language_support.rb
|
417
429
|
- lib/cucumber/language_support/language_methods.rb
|
418
430
|
- lib/cucumber/language_support/step_definition_methods.rb
|
419
431
|
- lib/cucumber/languages.yml
|
@@ -426,6 +438,9 @@ files:
|
|
426
438
|
- lib/cucumber/parser/table.tt
|
427
439
|
- lib/cucumber/parser/treetop_ext.rb
|
428
440
|
- lib/cucumber/platform.rb
|
441
|
+
- lib/cucumber/py_support/py_dsl.py
|
442
|
+
- lib/cucumber/py_support/py_language.py
|
443
|
+
- lib/cucumber/py_support/py_language.rb
|
429
444
|
- lib/cucumber/rails/rspec.rb
|
430
445
|
- lib/cucumber/rails/world.rb
|
431
446
|
- lib/cucumber/rake/task.rb
|
@@ -433,13 +448,13 @@ files:
|
|
433
448
|
- lib/cucumber/rb_support/rb_hook.rb
|
434
449
|
- lib/cucumber/rb_support/rb_language.rb
|
435
450
|
- lib/cucumber/rb_support/rb_step_definition.rb
|
451
|
+
- lib/cucumber/rb_support/rb_world.rb
|
436
452
|
- lib/cucumber/rspec_neuter.rb
|
437
453
|
- lib/cucumber/step_match.rb
|
438
454
|
- lib/cucumber/step_mother.rb
|
439
455
|
- lib/cucumber/version.rb
|
440
456
|
- lib/cucumber/webrat/element_locator.rb
|
441
457
|
- lib/cucumber/webrat/table_locator.rb
|
442
|
-
- lib/cucumber/world.rb
|
443
458
|
- rails_generators/cucumber/USAGE
|
444
459
|
- rails_generators/cucumber/cucumber_generator.rb
|
445
460
|
- rails_generators/cucumber/templates/cucumber
|
@@ -463,7 +478,6 @@ files:
|
|
463
478
|
- spec/cucumber/ast/step_collection_spec.rb
|
464
479
|
- spec/cucumber/ast/step_spec.rb
|
465
480
|
- spec/cucumber/ast/table_spec.rb
|
466
|
-
- spec/cucumber/ast/visitor_spec.rb
|
467
481
|
- spec/cucumber/broadcaster_spec.rb
|
468
482
|
- spec/cucumber/cli/configuration_spec.rb
|
469
483
|
- spec/cucumber/cli/drb_client_spec.rb
|
@@ -482,8 +496,8 @@ files:
|
|
482
496
|
- spec/cucumber/rails/stubs/mini_rails.rb
|
483
497
|
- spec/cucumber/rails/stubs/test_help.rb
|
484
498
|
- spec/cucumber/rails/world_spec.rb
|
499
|
+
- spec/cucumber/rb_support/rb_step_definition_spec.rb
|
485
500
|
- spec/cucumber/sell_cucumbers.feature
|
486
|
-
- spec/cucumber/step_definition_spec.rb
|
487
501
|
- spec/cucumber/step_mother_spec.rb
|
488
502
|
- spec/cucumber/treetop_parser/empty_feature.feature
|
489
503
|
- spec/cucumber/treetop_parser/empty_scenario.feature
|