cucumber 0.8.0 → 0.8.1
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/.gitignore +1 -0
- data/.rspec +1 -0
- data/History.txt +8 -0
- data/Rakefile +12 -13
- data/VERSION.yml +1 -1
- data/cucumber.gemspec +42 -42
- data/examples/i18n/hu/features/{addition.feature → osszeadas.feature} +1 -1
- data/examples/i18n/hu/features/{division.feature → osztas.feature} +2 -2
- data/examples/json/features/embed.feature +4 -0
- data/examples/json/features/step_definitions/steps.rb +5 -0
- data/features/html_formatter/a.html +2 -2
- data/features/json_formatter.feature +61 -9
- data/features/snippet.feature +1 -0
- data/gem_tasks/rspec.rake +6 -18
- data/lib/autotest/cucumber_mixin.rb +6 -2
- data/lib/cucumber/ast/outline_table.rb +1 -0
- data/lib/cucumber/ast/table.rb +5 -2
- data/lib/cucumber/feature_file.rb +7 -5
- data/lib/cucumber/formatter/json.rb +13 -1
- data/lib/cucumber/formatter/pdf.rb +9 -26
- data/lib/cucumber/parser/gherkin_builder.rb +44 -71
- data/lib/cucumber/rb_support/rb_language.rb +10 -11
- data/lib/cucumber/rb_support/rb_world.rb +1 -1
- data/lib/cucumber/step_mother.rb +7 -3
- data/spec/cucumber/ast/table_spec.rb +12 -12
- data/spec/cucumber/rb_support/rb_language_spec.rb +69 -0
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +0 -38
- metadata +42 -55
- data/examples/json/tmp/out.json +0 -1
@@ -0,0 +1,69 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
2
|
+
|
3
|
+
require 'cucumber/step_mother'
|
4
|
+
require 'cucumber/rb_support/rb_language'
|
5
|
+
|
6
|
+
module Cucumber
|
7
|
+
module RbSupport
|
8
|
+
describe RbStepDefinition do
|
9
|
+
before do
|
10
|
+
@step_mother = Cucumber::StepMother.new
|
11
|
+
@rb = @step_mother.load_programming_language('rb')
|
12
|
+
end
|
13
|
+
|
14
|
+
def unindented(s)
|
15
|
+
s.split("\n")[1..-2].join("\n").indent(-10)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should recognise numbers in name and make according regexp" do
|
19
|
+
@rb.snippet_text('Given', 'Cloud 9 yeah', nil).should == unindented(%{
|
20
|
+
Given /^Cloud (\\d+) yeah$/ do |arg1|
|
21
|
+
pending # express the regexp above with the code you wish you had
|
22
|
+
end
|
23
|
+
})
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should recognise a mix of ints, strings and why not a table too" do
|
27
|
+
@rb.snippet_text('Given', 'I have 9 "awesome" cukes in 37 "boxes"', Cucumber::Ast::Table).should == unindented(%{
|
28
|
+
Given /^I have (\\d+) "([^"]*)" cukes in (\\d+) "([^"]*)"$/ do |arg1, arg2, arg3, arg4, table|
|
29
|
+
# table is a Cucumber::Ast::Table
|
30
|
+
pending # express the regexp above with the code you wish you had
|
31
|
+
end
|
32
|
+
})
|
33
|
+
end
|
34
|
+
|
35
|
+
it "should recognise quotes in name and make according regexp" do
|
36
|
+
@rb.snippet_text('Given', 'A "first" arg', nil).should == unindented(%{
|
37
|
+
Given /^A "([^"]*)" arg$/ do |arg1|
|
38
|
+
pending # express the regexp above with the code you wish you had
|
39
|
+
end
|
40
|
+
})
|
41
|
+
end
|
42
|
+
|
43
|
+
it "should recognise several quoted words in name and make according regexp and args" do
|
44
|
+
@rb.snippet_text('Given', 'A "first" and "second" arg', nil).should == unindented(%{
|
45
|
+
Given /^A "([^"]*)" and "([^"]*)" arg$/ do |arg1, arg2|
|
46
|
+
pending # express the regexp above with the code you wish you had
|
47
|
+
end
|
48
|
+
})
|
49
|
+
end
|
50
|
+
|
51
|
+
it "should not use quote group when there are no quotes" do
|
52
|
+
@rb.snippet_text('Given', 'A first arg', nil).should == unindented(%{
|
53
|
+
Given /^A first arg$/ do
|
54
|
+
pending # express the regexp above with the code you wish you had
|
55
|
+
end
|
56
|
+
})
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should be helpful with tables" do
|
60
|
+
@rb.snippet_text('Given', 'A "first" arg', Cucumber::Ast::Table).should == unindented(%{
|
61
|
+
Given /^A "([^"]*)" arg$/ do |arg1, table|
|
62
|
+
# table is a Cucumber::Ast::Table
|
63
|
+
pending # express the regexp above with the code you wish you had
|
64
|
+
end
|
65
|
+
})
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -88,44 +88,6 @@ module Cucumber
|
|
88
88
|
|
89
89
|
@step_mother.step_match('capture this: this').invoke(nil)
|
90
90
|
end
|
91
|
-
|
92
|
-
|
93
|
-
def unindented(s)
|
94
|
-
s.split("\n")[1..-2].join("\n").indent(-10)
|
95
|
-
end
|
96
|
-
|
97
|
-
it "should recognise quotes in name and make according regexp" do
|
98
|
-
@rb.snippet_text('Given', 'A "first" arg', nil).should == unindented(%{
|
99
|
-
Given /^A "([^"]*)" arg$/ do |arg1|
|
100
|
-
pending # express the regexp above with the code you wish you had
|
101
|
-
end
|
102
|
-
})
|
103
|
-
end
|
104
|
-
|
105
|
-
it "should recognise several quoted words in name and make according regexp and args" do
|
106
|
-
@rb.snippet_text('Given', 'A "first" and "second" arg', nil).should == unindented(%{
|
107
|
-
Given /^A "([^"]*)" and "([^"]*)" arg$/ do |arg1, arg2|
|
108
|
-
pending # express the regexp above with the code you wish you had
|
109
|
-
end
|
110
|
-
})
|
111
|
-
end
|
112
|
-
|
113
|
-
it "should not use quote group when there are no quotes" do
|
114
|
-
@rb.snippet_text('Given', 'A first arg', nil).should == unindented(%{
|
115
|
-
Given /^A first arg$/ do
|
116
|
-
pending # express the regexp above with the code you wish you had
|
117
|
-
end
|
118
|
-
})
|
119
|
-
end
|
120
|
-
|
121
|
-
it "should be helpful with tables" do
|
122
|
-
@rb.snippet_text('Given', 'A "first" arg', Cucumber::Ast::Table).should == unindented(%{
|
123
|
-
Given /^A "([^"]*)" arg$/ do |arg1, table|
|
124
|
-
# table is a Cucumber::Ast::Table
|
125
|
-
pending # express the regexp above with the code you wish you had
|
126
|
-
end
|
127
|
-
})
|
128
|
-
end
|
129
91
|
end
|
130
92
|
end
|
131
93
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 61
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 8
|
9
|
-
-
|
10
|
-
version: 0.8.
|
9
|
+
- 1
|
10
|
+
version: 0.8.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- "Aslak Helles\xC3\xB8y"
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-06-
|
18
|
+
date: 2010-06-15 00:00:00 +02:00
|
19
19
|
default_executable: cucumber
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -24,14 +24,14 @@ dependencies:
|
|
24
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
25
|
none: false
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
hash:
|
29
|
+
hash: 15
|
30
30
|
segments:
|
31
|
-
-
|
31
|
+
- 2
|
32
|
+
- 0
|
32
33
|
- 0
|
33
|
-
|
34
|
-
version: 1.0.30
|
34
|
+
version: 2.0.0
|
35
35
|
type: :runtime
|
36
36
|
version_requirements: *id001
|
37
37
|
- !ruby/object:Gem::Dependency
|
@@ -40,7 +40,7 @@ dependencies:
|
|
40
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
41
|
none: false
|
42
42
|
requirements:
|
43
|
-
- -
|
43
|
+
- - ~>
|
44
44
|
- !ruby/object:Gem::Version
|
45
45
|
hash: 31
|
46
46
|
segments:
|
@@ -56,7 +56,7 @@ dependencies:
|
|
56
56
|
requirement: &id003 !ruby/object:Gem::Requirement
|
57
57
|
none: false
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ~>
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
hash: 15
|
62
62
|
segments:
|
@@ -72,7 +72,7 @@ dependencies:
|
|
72
72
|
requirement: &id004 !ruby/object:Gem::Requirement
|
73
73
|
none: false
|
74
74
|
requirements:
|
75
|
-
- -
|
75
|
+
- - ~>
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
hash: 23
|
78
78
|
segments:
|
@@ -88,7 +88,7 @@ dependencies:
|
|
88
88
|
requirement: &id005 !ruby/object:Gem::Requirement
|
89
89
|
none: false
|
90
90
|
requirements:
|
91
|
-
- -
|
91
|
+
- - ~>
|
92
92
|
- !ruby/object:Gem::Version
|
93
93
|
hash: 1
|
94
94
|
segments:
|
@@ -104,7 +104,7 @@ dependencies:
|
|
104
104
|
requirement: &id006 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
|
-
- -
|
107
|
+
- - ~>
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
hash: 3
|
110
110
|
segments:
|
@@ -122,71 +122,55 @@ dependencies:
|
|
122
122
|
requirements:
|
123
123
|
- - "="
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
hash:
|
125
|
+
hash: 55
|
126
126
|
segments:
|
127
127
|
- 0
|
128
|
-
-
|
129
|
-
-
|
130
|
-
version: 0.
|
128
|
+
- 8
|
129
|
+
- 4
|
130
|
+
version: 0.8.4
|
131
131
|
type: :development
|
132
132
|
version_requirements: *id007
|
133
133
|
- !ruby/object:Gem::Dependency
|
134
|
-
name: prawn-
|
134
|
+
name: prawn-layout
|
135
135
|
prerelease: false
|
136
136
|
requirement: &id008 !ruby/object:Gem::Requirement
|
137
137
|
none: false
|
138
138
|
requirements:
|
139
139
|
- - "="
|
140
140
|
- !ruby/object:Gem::Version
|
141
|
-
hash:
|
141
|
+
hash: 55
|
142
142
|
segments:
|
143
143
|
- 0
|
144
|
-
-
|
145
|
-
- 3
|
146
|
-
version: 0.2.3
|
147
|
-
type: :development
|
148
|
-
version_requirements: *id008
|
149
|
-
- !ruby/object:Gem::Dependency
|
150
|
-
name: htmlentities
|
151
|
-
prerelease: false
|
152
|
-
requirement: &id009 !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
|
-
requirements:
|
155
|
-
- - ">="
|
156
|
-
- !ruby/object:Gem::Version
|
157
|
-
hash: 53
|
158
|
-
segments:
|
144
|
+
- 8
|
159
145
|
- 4
|
160
|
-
|
161
|
-
- 1
|
162
|
-
version: 4.2.1
|
146
|
+
version: 0.8.4
|
163
147
|
type: :development
|
164
|
-
version_requirements: *
|
148
|
+
version_requirements: *id008
|
165
149
|
- !ruby/object:Gem::Dependency
|
166
150
|
name: rspec
|
167
151
|
prerelease: false
|
168
|
-
requirement: &
|
152
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
169
153
|
none: false
|
170
154
|
requirements:
|
171
|
-
- -
|
155
|
+
- - ~>
|
172
156
|
- !ruby/object:Gem::Version
|
173
|
-
hash:
|
157
|
+
hash: 62196469
|
174
158
|
segments:
|
175
159
|
- 2
|
176
160
|
- 0
|
177
161
|
- 0
|
178
162
|
- beta
|
179
|
-
-
|
180
|
-
version: 2.0.0.beta.
|
163
|
+
- 11
|
164
|
+
version: 2.0.0.beta.11
|
181
165
|
type: :development
|
182
|
-
version_requirements: *
|
166
|
+
version_requirements: *id009
|
183
167
|
- !ruby/object:Gem::Dependency
|
184
168
|
name: syntax
|
185
169
|
prerelease: false
|
186
|
-
requirement: &
|
170
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
187
171
|
none: false
|
188
172
|
requirements:
|
189
|
-
- -
|
173
|
+
- - ~>
|
190
174
|
- !ruby/object:Gem::Version
|
191
175
|
hash: 23
|
192
176
|
segments:
|
@@ -195,14 +179,14 @@ dependencies:
|
|
195
179
|
- 0
|
196
180
|
version: 1.0.0
|
197
181
|
type: :development
|
198
|
-
version_requirements: *
|
182
|
+
version_requirements: *id010
|
199
183
|
- !ruby/object:Gem::Dependency
|
200
184
|
name: spork
|
201
185
|
prerelease: false
|
202
|
-
requirement: &
|
186
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
203
187
|
none: false
|
204
188
|
requirements:
|
205
|
-
- -
|
189
|
+
- - ~>
|
206
190
|
- !ruby/object:Gem::Version
|
207
191
|
hash: 57
|
208
192
|
segments:
|
@@ -211,7 +195,7 @@ dependencies:
|
|
211
195
|
- 3
|
212
196
|
version: 0.8.3
|
213
197
|
type: :development
|
214
|
-
version_requirements: *
|
198
|
+
version_requirements: *id011
|
215
199
|
description: Behaviour Driven Development with elegance and joy
|
216
200
|
email: cukes@googlegroups.com
|
217
201
|
executables:
|
@@ -224,6 +208,7 @@ extra_rdoc_files:
|
|
224
208
|
files:
|
225
209
|
- .gitattributes
|
226
210
|
- .gitignore
|
211
|
+
- .rspec
|
227
212
|
- Caliper.yml
|
228
213
|
- History.txt
|
229
214
|
- LICENSE
|
@@ -309,8 +294,8 @@ files:
|
|
309
294
|
- examples/i18n/he/lib/calculator.rb
|
310
295
|
- examples/i18n/hu/.gitignore
|
311
296
|
- examples/i18n/hu/Rakefile
|
312
|
-
- examples/i18n/hu/features/
|
313
|
-
- examples/i18n/hu/features/
|
297
|
+
- examples/i18n/hu/features/osszeadas.feature
|
298
|
+
- examples/i18n/hu/features/osztas.feature
|
314
299
|
- examples/i18n/hu/features/step_definitons/calculator_steps.rb
|
315
300
|
- examples/i18n/hu/lib/calculator.rb
|
316
301
|
- examples/i18n/id/.gitignore
|
@@ -428,11 +413,11 @@ files:
|
|
428
413
|
- examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb
|
429
414
|
- examples/i18n/zh-TW/lib/calculator.rb
|
430
415
|
- examples/json/features/background.feature
|
416
|
+
- examples/json/features/embed.feature
|
431
417
|
- examples/json/features/one_passing_one_failing.feature
|
432
418
|
- examples/json/features/pystring.feature
|
433
419
|
- examples/json/features/step_definitions/steps.rb
|
434
420
|
- examples/json/features/tables.feature
|
435
|
-
- examples/json/tmp/out.json
|
436
421
|
- examples/junit/features/one_passing_one_failing.feature
|
437
422
|
- examples/junit/features/pending.feature
|
438
423
|
- examples/junit/features/step_definitions/steps.rb
|
@@ -735,6 +720,7 @@ files:
|
|
735
720
|
- spec/cucumber/formatter/junit_spec.rb
|
736
721
|
- spec/cucumber/formatter/progress_spec.rb
|
737
722
|
- spec/cucumber/formatter/spec_helper.rb
|
723
|
+
- spec/cucumber/rb_support/rb_language_spec.rb
|
738
724
|
- spec/cucumber/rb_support/rb_step_definition_spec.rb
|
739
725
|
- spec/cucumber/rb_support/regexp_argument_matcher_spec.rb
|
740
726
|
- spec/cucumber/sell_cucumbers.feature
|
@@ -759,7 +745,7 @@ post_install_message: |+
|
|
759
745
|
|
760
746
|
(::) U P G R A D I N G (::)
|
761
747
|
|
762
|
-
Thank you for installing cucumber-0.8.
|
748
|
+
Thank you for installing cucumber-0.8.1.
|
763
749
|
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
764
750
|
for important information about this release. Happy cuking!
|
765
751
|
|
@@ -819,6 +805,7 @@ test_files:
|
|
819
805
|
- spec/cucumber/formatter/junit_spec.rb
|
820
806
|
- spec/cucumber/formatter/progress_spec.rb
|
821
807
|
- spec/cucumber/formatter/spec_helper.rb
|
808
|
+
- spec/cucumber/rb_support/rb_language_spec.rb
|
822
809
|
- spec/cucumber/rb_support/rb_step_definition_spec.rb
|
823
810
|
- spec/cucumber/rb_support/regexp_argument_matcher_spec.rb
|
824
811
|
- spec/cucumber/step_match_spec.rb
|
data/examples/json/tmp/out.json
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"features":[{"tags":["@a"],"file":"features/one_passing_one_failing.feature","elements":[{"tags":["@b"],"keyword":"Scenario","steps":[{"status":"passed","file_colon_line":"features/step_definitions/steps.rb:1","name":"Given a passing step"}],"file_colon_line":"features/one_passing_one_failing.feature:5","name":"Passing"},{"tags":["@c"],"keyword":"Scenario","steps":[{"status":"failed","exception":{"class":"RuntimeError","message":"","backtrace":["./features/step_definitions/steps.rb:6:in `/a failing step/'","features/one_passing_one_failing.feature:10:in `Given a failing step'"]},"file_colon_line":"features/step_definitions/steps.rb:5","name":"Given a failing step"}],"file_colon_line":"features/one_passing_one_failing.feature:9","name":"Failing"}],"name":"One passing scenario, one failing scenario"}]}
|