cucumber 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +81 -0
- data/Manifest.txt +30 -9
- data/README.txt +1 -2
- data/bin/cucumber +1 -1
- data/examples/calculator/README.txt +5 -0
- data/examples/calculator/Rakefile +1 -2
- data/examples/calculator/features/addition.feature +1 -0
- data/examples/chinese_simplified_calculator/Rakefile +6 -0
- data/examples/chinese_simplified_calculator/features/addition.feature +17 -0
- data/examples/chinese_simplified_calculator/features/steps/calculator_steps.rb +24 -0
- data/examples/chinese_simplified_calculator/lib/calculator.rb +10 -0
- data/examples/java/features/steps/hello_steps.rb +1 -1
- data/examples/swedish_calculator/Rakefile +5 -0
- data/examples/swedish_calculator/features/steps/kalkulator_steps.rb +22 -0
- data/examples/swedish_calculator/features/summering.feature +17 -0
- data/examples/swedish_calculator/lib/kalkulator.rb +11 -0
- data/examples/tickets/Rakefile +8 -1
- data/examples/tickets/cucumber.yml +2 -0
- data/examples/tickets/features/steps/tickets_steps.rb +15 -0
- data/examples/tickets/features/tickets.feature +12 -1
- data/gem_tasks/treetop.rake +35 -23
- data/lib/cucumber.rb +1 -0
- data/lib/cucumber/cli.rb +19 -5
- data/lib/cucumber/core_ext/proc.rb +8 -5
- data/lib/cucumber/executor.rb +7 -1
- data/lib/cucumber/formatters.rb +1 -1
- data/lib/cucumber/formatters/html_formatter.rb +6 -3
- data/lib/cucumber/formatters/pretty_formatter.rb +29 -7
- data/lib/cucumber/formatters/profile_formatter.rb +92 -0
- data/lib/cucumber/languages.yml +39 -12
- data/lib/cucumber/model.rb +1 -0
- data/lib/cucumber/model/table.rb +28 -0
- data/lib/cucumber/rails/world.rb +1 -3
- data/lib/cucumber/rake/task.rb +1 -1
- data/lib/cucumber/tree/feature.rb +8 -2
- data/lib/cucumber/tree/scenario.rb +23 -6
- data/lib/cucumber/tree/step.rb +5 -4
- data/lib/cucumber/treetop_parser/feature.treetop.erb +54 -12
- data/lib/cucumber/treetop_parser/feature_da.rb +415 -74
- data/lib/cucumber/treetop_parser/feature_de.rb +415 -74
- data/lib/cucumber/treetop_parser/feature_en.rb +415 -74
- data/lib/cucumber/treetop_parser/feature_es.rb +415 -74
- data/lib/cucumber/treetop_parser/feature_et.rb +415 -74
- data/lib/cucumber/treetop_parser/feature_fr.rb +415 -74
- data/lib/cucumber/treetop_parser/feature_nl.rb +1593 -0
- data/lib/cucumber/treetop_parser/feature_no.rb +415 -74
- data/lib/cucumber/treetop_parser/feature_pt.rb +415 -74
- data/lib/cucumber/treetop_parser/feature_ru.rb +415 -74
- data/lib/cucumber/treetop_parser/feature_se.rb +419 -78
- data/lib/cucumber/treetop_parser/feature_zh-CN.rb +1593 -0
- data/lib/cucumber/version.rb +1 -1
- data/{generators → rails_generators}/cucumber/cucumber_generator.rb +0 -0
- data/{generators → rails_generators}/cucumber/templates/common_webrat.rb +1 -10
- data/{generators → rails_generators}/cucumber/templates/cucumber +0 -0
- data/{generators → rails_generators}/cucumber/templates/cucumber.rake +0 -0
- data/{generators → rails_generators}/cucumber/templates/env.rb +0 -0
- data/{generators → rails_generators}/feature/feature_generator.rb +0 -0
- data/{generators → rails_generators}/feature/templates/feature.erb +1 -0
- data/{generators → rails_generators}/feature/templates/steps.erb +0 -0
- data/spec/cucumber/cli_spec.rb +11 -3
- data/spec/cucumber/core_ext/proc_spec.rb +6 -0
- data/spec/cucumber/formatters/html_formatter_spec.rb +16 -1
- data/spec/cucumber/formatters/pretty_formatter_spec.rb +54 -25
- data/spec/cucumber/formatters/profile_formatter_spec.rb +193 -0
- data/spec/cucumber/model/table_spec.rb +20 -0
- data/spec/cucumber/rails/stubs/mini_rails.rb +17 -0
- data/spec/cucumber/rails/stubs/test_help.rb +1 -0
- data/spec/cucumber/rails/world_spec.rb +11 -0
- data/spec/cucumber/tree/feature_spec.rb +12 -0
- data/spec/cucumber/tree/scenario_spec.rb +22 -0
- data/spec/cucumber/tree/step_spec.rb +12 -2
- data/spec/cucumber/treetop_parser/empty_scenario.feature +1 -1
- data/spec/cucumber/treetop_parser/feature_parser_spec.rb +18 -0
- data/spec/cucumber/treetop_parser/fit_scenario.feature +1 -0
- data/spec/cucumber/treetop_parser/multiline_steps.feature +13 -0
- data/spec/cucumber/treetop_parser/multiple_tables.feature +2 -0
- data/spec/cucumber/treetop_parser/test_dos.feature +1 -0
- data/spec/cucumber/treetop_parser/with_comments.feature +6 -2
- metadata +34 -12
- data/examples/calculator/cucumber.yml +0 -1
@@ -0,0 +1,17 @@
|
|
1
|
+
# Define some stubs to fake Rails...
|
2
|
+
module ActiveRecord
|
3
|
+
class Base
|
4
|
+
end
|
5
|
+
end
|
6
|
+
|
7
|
+
module ActionController
|
8
|
+
class Base
|
9
|
+
end
|
10
|
+
class IntegrationTest
|
11
|
+
def self.use_transactional_fixtures=(x)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
module Dispatcher
|
17
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
# This file is loaded by rails/world.rb
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
+
|
3
|
+
module Cucumber
|
4
|
+
module Tree
|
5
|
+
describe Feature do
|
6
|
+
it "should have padding_length 2 when alone" do
|
7
|
+
feature = Feature.new('header')
|
8
|
+
feature.padding_length.should == 2
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -10,6 +10,28 @@ module Cucumber
|
|
10
10
|
scenario_2.create_step(step_a)
|
11
11
|
scenario_2.steps.should == [step_1, step_2, step_a]
|
12
12
|
end
|
13
|
+
|
14
|
+
it "should have padding_length 2 when alone" do
|
15
|
+
scenario = Scenario.new(nil, 'test', 1)
|
16
|
+
scenario.padding_length.should == 2
|
17
|
+
end
|
18
|
+
|
19
|
+
it "should include indent when padding to step" do
|
20
|
+
scenario = Scenario.new(nil, '', 1)
|
21
|
+
scenario.create_step('Given', 'a long step', 1)
|
22
|
+
|
23
|
+
#Scenario: ***********
|
24
|
+
# Given a long step
|
25
|
+
scenario.padding_length.should == 9 + 2 #Allow for indent
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should ignore step padding if scenario is longer than all steps" do
|
29
|
+
scenario = Scenario.new(nil, 'Very long scenario and then some', 1)
|
30
|
+
scenario.create_step('Given', 'test', 1)
|
31
|
+
|
32
|
+
scenario.padding_length.should == 2
|
33
|
+
end
|
34
|
+
|
13
35
|
end
|
14
36
|
end
|
15
37
|
end
|
@@ -4,17 +4,27 @@ module Cucumber
|
|
4
4
|
module Tree
|
5
5
|
describe Step do
|
6
6
|
it "should have padding_length 2 when alone" do
|
7
|
-
scenario = Scenario.new(nil, nil)
|
7
|
+
scenario = Scenario.new(nil, nil, 1)
|
8
8
|
step = scenario.create_step('Given', '666666', 98)
|
9
9
|
step.padding_length.should == 2
|
10
10
|
end
|
11
11
|
|
12
12
|
it "should have padding_length 5 when 3 shorter" do
|
13
|
-
scenario = Scenario.new(nil, nil)
|
13
|
+
scenario = Scenario.new(nil, nil, 1)
|
14
14
|
long = scenario.create_step('Given', '999999999', 80)
|
15
15
|
step = scenario.create_step('Given', '666666', 98)
|
16
16
|
step.padding_length.should == 5
|
17
17
|
end
|
18
|
+
|
19
|
+
it "should remove indent from padding_length if padding to scenario" do
|
20
|
+
scenario = Scenario.new(nil, '9', 1)
|
21
|
+
step = scenario.create_step('Given', '9', 80)
|
22
|
+
|
23
|
+
#Scenario: 9 #
|
24
|
+
# Given 9****
|
25
|
+
step.padding_length.should == 4
|
26
|
+
end
|
27
|
+
|
18
28
|
end
|
19
29
|
end
|
20
30
|
end
|
@@ -47,6 +47,18 @@ module Cucumber
|
|
47
47
|
f.scenarios[0].should have(2).steps
|
48
48
|
end
|
49
49
|
|
50
|
+
it "should skip comments in feature header" do
|
51
|
+
p = FeatureParser.new
|
52
|
+
f = p.parse_feature(File.dirname(__FILE__) + '/with_comments.feature')
|
53
|
+
f.header.should == "Some header"
|
54
|
+
end
|
55
|
+
|
56
|
+
it "should skip comments in scenario header" do
|
57
|
+
p = FeatureParser.new
|
58
|
+
f = p.parse_feature(File.dirname(__FILE__) + '/with_comments.feature')
|
59
|
+
f.scenarios[0].name.should == "Some scenario"
|
60
|
+
end
|
61
|
+
|
50
62
|
it "should allow empty scenarios" do
|
51
63
|
p = FeatureParser.new
|
52
64
|
f = p.parse_feature(File.dirname(__FILE__) + '/empty_scenario.feature')
|
@@ -73,6 +85,12 @@ module Cucumber
|
|
73
85
|
f = p.parse_feature(File.dirname(__FILE__) + '/test_dos.feature')
|
74
86
|
f.should have(5).scenarios
|
75
87
|
end
|
88
|
+
|
89
|
+
it "should parse multiline steps" do
|
90
|
+
p = FeatureParser.new
|
91
|
+
f = p.parse_feature(File.dirname(__FILE__) + '/multiline_steps.feature')
|
92
|
+
f.should have(1).scenarios
|
93
|
+
end
|
76
94
|
end
|
77
95
|
end
|
78
96
|
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Feature: Multiline steps should work
|
2
|
+
|
3
|
+
Scenario: Reading a table
|
4
|
+
Given the following table
|
5
|
+
| where | why |
|
6
|
+
| Oslo | born |
|
7
|
+
| London| working |
|
8
|
+
Then I should be working in London
|
9
|
+
And I should be born in Oslo
|
10
|
+
And I should be able to expect
|
11
|
+
"A string
|
12
|
+
that spans
|
13
|
+
several lines"
|
@@ -10,6 +10,7 @@ Feature: Addition
|
|
10
10
|
Then the result should be 120 on the screen
|
11
11
|
And the result class should be Fixnum
|
12
12
|
|
13
|
+
More Examples:
|
13
14
|
| input_1 | input_2 | button | output | class |
|
14
15
|
| 20 | 30 | add | 50 | Fixnum |
|
15
16
|
| 2 | 5 | add | 7 | Fixnum |
|
@@ -23,5 +24,6 @@ Feature: Addition
|
|
23
24
|
Then the result should be 50 on the screen
|
24
25
|
And the result class should be Fixnum
|
25
26
|
|
27
|
+
More Examples:
|
26
28
|
| input_1 | input_2 | input_3 | button | output | class |
|
27
29
|
| 1 | 2 | 3 | add | 6 | Fixnum |
|
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.1.
|
4
|
+
version: 0.1.8
|
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: 2008-10-
|
12
|
+
date: 2008-10-18 00:00:00 +02:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -60,7 +60,7 @@ dependencies:
|
|
60
60
|
requirements:
|
61
61
|
- - ">="
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 1.
|
63
|
+
version: 1.8.0
|
64
64
|
version:
|
65
65
|
description: Executable Feature scenarios
|
66
66
|
email:
|
@@ -75,6 +75,7 @@ extra_rdoc_files:
|
|
75
75
|
- Manifest.txt
|
76
76
|
- README.txt
|
77
77
|
- TODO.txt
|
78
|
+
- examples/calculator/README.txt
|
78
79
|
files:
|
79
80
|
- History.txt
|
80
81
|
- License.txt
|
@@ -86,8 +87,8 @@ files:
|
|
86
87
|
- config/hoe.rb
|
87
88
|
- config/requirements.rb
|
88
89
|
- cucumber.yml
|
90
|
+
- examples/calculator/README.txt
|
89
91
|
- examples/calculator/Rakefile
|
90
|
-
- examples/calculator/cucumber.yml
|
91
92
|
- examples/calculator/features/addition.feature
|
92
93
|
- examples/calculator/features/division.feature
|
93
94
|
- examples/calculator/features/steps/calculator_steps.rb
|
@@ -98,6 +99,10 @@ files:
|
|
98
99
|
- examples/calculatrice_francaise_avec_soit_scenario/Rakefile
|
99
100
|
- examples/calculatrice_francaise_avec_soit_scenario/features/addition.feature
|
100
101
|
- examples/calculatrice_francaise_avec_soit_scenario/features/calculatrice_steps.rb
|
102
|
+
- examples/chinese_simplified_calculator/Rakefile
|
103
|
+
- examples/chinese_simplified_calculator/features/addition.feature
|
104
|
+
- examples/chinese_simplified_calculator/features/steps/calculator_steps.rb
|
105
|
+
- examples/chinese_simplified_calculator/lib/calculator.rb
|
101
106
|
- examples/cs/README.textile
|
102
107
|
- examples/cs/Rakefile
|
103
108
|
- examples/cs/features/hello.feature
|
@@ -135,7 +140,12 @@ files:
|
|
135
140
|
- examples/spanish_calculator/features/adicion.feature
|
136
141
|
- examples/spanish_calculator/features/steps/calculador_steps.rb
|
137
142
|
- examples/spanish_calculator/lib/Calculador.rb
|
143
|
+
- examples/swedish_calculator/Rakefile
|
144
|
+
- examples/swedish_calculator/features/steps/kalkulator_steps.rb
|
145
|
+
- examples/swedish_calculator/features/summering.feature
|
146
|
+
- examples/swedish_calculator/lib/kalkulator.rb
|
138
147
|
- examples/tickets/Rakefile
|
148
|
+
- examples/tickets/cucumber.yml
|
139
149
|
- examples/tickets/features/steps/tickets_steps.rb
|
140
150
|
- examples/tickets/features/tickets.feature
|
141
151
|
- examples/watir/Rakefile
|
@@ -151,14 +161,6 @@ files:
|
|
151
161
|
- gem_tasks/gemspec.rake
|
152
162
|
- gem_tasks/rspec.rake
|
153
163
|
- gem_tasks/treetop.rake
|
154
|
-
- generators/cucumber/cucumber_generator.rb
|
155
|
-
- generators/cucumber/templates/common_webrat.rb
|
156
|
-
- generators/cucumber/templates/cucumber
|
157
|
-
- generators/cucumber/templates/cucumber.rake
|
158
|
-
- generators/cucumber/templates/env.rb
|
159
|
-
- generators/feature/feature_generator.rb
|
160
|
-
- generators/feature/templates/feature.erb
|
161
|
-
- generators/feature/templates/steps.erb
|
162
164
|
- lib/cucumber.rb
|
163
165
|
- lib/cucumber/cli.rb
|
164
166
|
- lib/cucumber/core_ext/proc.rb
|
@@ -171,8 +173,11 @@ files:
|
|
171
173
|
- lib/cucumber/formatters/html_formatter.rb
|
172
174
|
- lib/cucumber/formatters/jquery.js
|
173
175
|
- lib/cucumber/formatters/pretty_formatter.rb
|
176
|
+
- lib/cucumber/formatters/profile_formatter.rb
|
174
177
|
- lib/cucumber/formatters/progress_formatter.rb
|
175
178
|
- lib/cucumber/languages.yml
|
179
|
+
- lib/cucumber/model.rb
|
180
|
+
- lib/cucumber/model/table.rb
|
176
181
|
- lib/cucumber/rails/rspec.rb
|
177
182
|
- lib/cucumber/rails/world.rb
|
178
183
|
- lib/cucumber/rake/task.rb
|
@@ -193,12 +198,22 @@ files:
|
|
193
198
|
- lib/cucumber/treetop_parser/feature_es.rb
|
194
199
|
- lib/cucumber/treetop_parser/feature_et.rb
|
195
200
|
- lib/cucumber/treetop_parser/feature_fr.rb
|
201
|
+
- lib/cucumber/treetop_parser/feature_nl.rb
|
196
202
|
- lib/cucumber/treetop_parser/feature_no.rb
|
197
203
|
- lib/cucumber/treetop_parser/feature_parser.rb
|
198
204
|
- lib/cucumber/treetop_parser/feature_pt.rb
|
199
205
|
- lib/cucumber/treetop_parser/feature_ru.rb
|
200
206
|
- lib/cucumber/treetop_parser/feature_se.rb
|
207
|
+
- lib/cucumber/treetop_parser/feature_zh-CN.rb
|
201
208
|
- lib/cucumber/version.rb
|
209
|
+
- rails_generators/cucumber/cucumber_generator.rb
|
210
|
+
- rails_generators/cucumber/templates/common_webrat.rb
|
211
|
+
- rails_generators/cucumber/templates/cucumber
|
212
|
+
- rails_generators/cucumber/templates/cucumber.rake
|
213
|
+
- rails_generators/cucumber/templates/env.rb
|
214
|
+
- rails_generators/feature/feature_generator.rb
|
215
|
+
- rails_generators/feature/templates/feature.erb
|
216
|
+
- rails_generators/feature/templates/steps.erb
|
202
217
|
- script/console
|
203
218
|
- script/console.cmd
|
204
219
|
- script/destroy
|
@@ -216,9 +231,15 @@ files:
|
|
216
231
|
- spec/cucumber/formatters/features.html
|
217
232
|
- spec/cucumber/formatters/html_formatter_spec.rb
|
218
233
|
- spec/cucumber/formatters/pretty_formatter_spec.rb
|
234
|
+
- spec/cucumber/formatters/profile_formatter_spec.rb
|
219
235
|
- spec/cucumber/formatters/progress_formatter_spec.rb
|
236
|
+
- spec/cucumber/model/table_spec.rb
|
237
|
+
- spec/cucumber/rails/stubs/mini_rails.rb
|
238
|
+
- spec/cucumber/rails/stubs/test_help.rb
|
239
|
+
- spec/cucumber/rails/world_spec.rb
|
220
240
|
- spec/cucumber/sell_cucumbers.feature
|
221
241
|
- spec/cucumber/step_mother_spec.rb
|
242
|
+
- spec/cucumber/tree/feature_spec.rb
|
222
243
|
- spec/cucumber/tree/scenario_spec.rb
|
223
244
|
- spec/cucumber/tree/step_spec.rb
|
224
245
|
- spec/cucumber/treetop_parser/empty_feature.feature
|
@@ -226,6 +247,7 @@ files:
|
|
226
247
|
- spec/cucumber/treetop_parser/feature_parser_spec.rb
|
227
248
|
- spec/cucumber/treetop_parser/fit_scenario.feature
|
228
249
|
- spec/cucumber/treetop_parser/given_scenario.feature
|
250
|
+
- spec/cucumber/treetop_parser/multiline_steps.feature
|
229
251
|
- spec/cucumber/treetop_parser/multiple_tables.feature
|
230
252
|
- spec/cucumber/treetop_parser/spaces.feature
|
231
253
|
- spec/cucumber/treetop_parser/test_dos.feature
|
@@ -1 +0,0 @@
|
|
1
|
-
default: --format pretty features
|