cucumber 0.1.9 → 0.1.10
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 +31 -1
- data/Manifest.txt +15 -0
- data/bin/cucumber +2 -1
- data/config/hoe.rb +2 -1
- data/examples/calculator_ruby_features/features/addition.rb +1 -1
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -0
- data/examples/i18n/de/Rakefile +6 -0
- data/examples/i18n/de/features/addition.feature +17 -0
- data/examples/i18n/de/features/division.feature +10 -0
- data/examples/i18n/de/features/step_definitons/calculator_steps.rb +30 -0
- data/examples/i18n/de/lib/calculator.rb +14 -0
- data/examples/i18n/en/Rakefile +1 -0
- data/examples/i18n/lt/Rakefile +6 -0
- data/examples/i18n/lt/features/addition.feature +17 -0
- data/examples/i18n/lt/features/division.feature +10 -0
- data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +31 -0
- data/examples/i18n/lt/lib/calculator.rb +14 -0
- data/examples/test_unit/Rakefile +6 -0
- data/examples/test_unit/features/step_definitions/test_unit_steps.rb +26 -0
- data/examples/test_unit/features/test_unit.feature +9 -0
- data/examples/tickets/features/tickets.feature +4 -2
- data/lib/autotest/discover.rb +1 -1
- data/lib/cucumber.rb +3 -3
- data/lib/cucumber/cli.rb +16 -6
- data/lib/cucumber/core_ext/proc.rb +31 -16
- data/lib/cucumber/executor.rb +35 -15
- data/lib/cucumber/formatters/ansicolor.rb +11 -13
- data/lib/cucumber/languages.yml +13 -1
- data/lib/cucumber/platform.rb +12 -0
- data/lib/cucumber/step_mother.rb +7 -1
- data/lib/cucumber/tree/feature.rb +3 -1
- data/lib/cucumber/tree/scenario.rb +17 -1
- data/lib/cucumber/treetop_parser/feature_de.rb +8 -8
- data/lib/cucumber/treetop_parser/feature_lt.rb +1591 -0
- data/lib/cucumber/version.rb +1 -1
- data/rails_generators/cucumber/templates/webrat_steps.rb +49 -0
- data/rails_generators/feature/templates/feature.erb +3 -3
- data/spec/cucumber/cli_spec.rb +33 -1
- data/spec/cucumber/executor_spec.rb +104 -28
- data/spec/cucumber/step_mother_spec.rb +7 -7
- data/spec/cucumber/tree/feature_spec.rb +31 -0
- data/spec/cucumber/tree/row_scenario_spec.rb +30 -0
- data/spec/spec_helper.rb +1 -0
- metadata +22 -7
data/lib/cucumber/version.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# Commonly used webrat steps
|
2
2
|
# http://github.com/brynary/webrat
|
3
3
|
|
4
|
+
require 'webrat' if !defined?(Webrat) # Because some people have it installed as a Gem
|
5
|
+
|
4
6
|
When /^I press "(.*)"$/ do |button|
|
5
7
|
clicks_button(button)
|
6
8
|
end
|
@@ -17,6 +19,53 @@ When /^I select "(.*)" from "(.*)"$/ do |value, field|
|
|
17
19
|
selects(value, :from => field)
|
18
20
|
end
|
19
21
|
|
22
|
+
# Use this step in conjunction with Rail's datetime_select helper. For example:
|
23
|
+
# When I select "December 25, 2008 10:00" as the date and time
|
24
|
+
When /^I select "(.*)" as the date and time$/ do |time|
|
25
|
+
selects_datetime(time)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Use this step when using multiple datetime_select helpers on a page or
|
29
|
+
# you want to specify which datetime to select. Given the following view:
|
30
|
+
# <%= f.label :preferred %><br />
|
31
|
+
# <%= f.datetime_select :preferred %>
|
32
|
+
# <%= f.label :alternative %><br />
|
33
|
+
# <%= f.datetime_select :alternative %>
|
34
|
+
# The following steps would fill out the form:
|
35
|
+
# When I select "November 23, 2004 11:20" as the "Preferred" data and time
|
36
|
+
# And I select "November 25, 2004 10:30" as the "Alternative" data and time
|
37
|
+
When /^I select "(.*)" as the "(.*)" date and time$/ do |datetime, datetime_label|
|
38
|
+
selects_datetime(datetime, :from => datetime_label)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Use this step in conjuction with Rail's time_select helper. For example:
|
42
|
+
# When I select "2:20PM" as the time
|
43
|
+
# Note: Rail's default time helper provides 24-hour time-- not 12 hour time. Webrat
|
44
|
+
# will convert the 2:20PM to 14:20 and then select it.
|
45
|
+
When /^I select "(.*)" as the time$/ do |time|
|
46
|
+
selects_time(time)
|
47
|
+
end
|
48
|
+
|
49
|
+
# Use this step when using multiple time_select helpers on a page or you want to
|
50
|
+
# specify the name of the time on the form. For example:
|
51
|
+
# When I select "7:30AM" as the "Gym" time
|
52
|
+
When /^I select "(.*)" as the "(.*)" time$/ do |time, time_label|
|
53
|
+
selects_time(time, :from => time_label)
|
54
|
+
end
|
55
|
+
|
56
|
+
# Use this step in conjuction with Rail's date_select helper. For example:
|
57
|
+
# When I select "February 20, 1981" as the date
|
58
|
+
When /^I select "(.*)" as the date$/ do |date|
|
59
|
+
selects_date(date)
|
60
|
+
end
|
61
|
+
|
62
|
+
# Use this step when using multiple date_select helpers on one page or
|
63
|
+
# you want to specify the name of the date on the form. For example:
|
64
|
+
# When I select "April 26, 1982" as the "Date of Birth" date
|
65
|
+
When /^I select "(.*)" as the "(.*)" date$/ do |date, date_label|
|
66
|
+
selects_date(date, :from => date_label)
|
67
|
+
end
|
68
|
+
|
20
69
|
When /^I check "(.*)"$/ do |field|
|
21
70
|
checks(field)
|
22
71
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
Feature: Manage <%= plural_name %>
|
2
|
-
In order to
|
3
|
-
|
4
|
-
|
2
|
+
In order to [goal]
|
3
|
+
[stakeholder]
|
4
|
+
wants [behaviour]
|
5
5
|
|
6
6
|
Scenario: Register new <%= singular_name %>
|
7
7
|
Given I am on the new <%= singular_name %> page
|
data/spec/cucumber/cli_spec.rb
CHANGED
@@ -5,7 +5,7 @@ module Cucumber
|
|
5
5
|
describe CLI do
|
6
6
|
|
7
7
|
def mock_executor(stubs = {})
|
8
|
-
stub('executor', {:visit_features => nil, :failed => false, :formatters= => nil}.merge(stubs))
|
8
|
+
stub('executor', {:visit_features => nil, :lines_for_features= => nil, :failed => false, :formatters= => nil}.merge(stubs))
|
9
9
|
end
|
10
10
|
|
11
11
|
def mock_broadcaster(stubs = {})
|
@@ -227,6 +227,38 @@ Defined profiles in cucumber.yml:
|
|
227
227
|
cli.execute!(stub('step mother'), mock_executor, stub('features'))
|
228
228
|
end
|
229
229
|
|
230
|
+
describe "example.feature:line file arguments" do
|
231
|
+
|
232
|
+
it "should extract line numbers" do
|
233
|
+
cli = CLI.new
|
234
|
+
cli.parse_options!(%w{example.feature:10})
|
235
|
+
|
236
|
+
cli.options[:lines_for_features]['example.feature'].should == [10]
|
237
|
+
end
|
238
|
+
|
239
|
+
it "should remove line numbers" do
|
240
|
+
cli = CLI.new
|
241
|
+
cli.parse_options!(%w{example.feature:10})
|
242
|
+
|
243
|
+
cli.paths.should == ["example.feature"]
|
244
|
+
end
|
245
|
+
|
246
|
+
it "should support multiple feature:line numbers" do
|
247
|
+
cli = CLI.new
|
248
|
+
cli.parse_options!(%w{example.feature:11 another_example.feature:12})
|
249
|
+
|
250
|
+
cli.options[:lines_for_features].should == {'another_example.feature' => [12], 'example.feature' => [11]}
|
251
|
+
end
|
252
|
+
|
253
|
+
it "should accept multiple line numbers for a single feature" do
|
254
|
+
cli = CLI.new
|
255
|
+
cli.parse_options!(%w{example.feature:11:12})
|
256
|
+
|
257
|
+
cli.options[:lines_for_features].should == {'example.feature' => [11, 12]}
|
258
|
+
end
|
259
|
+
|
260
|
+
end
|
261
|
+
|
230
262
|
it "should search for all features in the specified directory" do
|
231
263
|
cli = CLI.new
|
232
264
|
|
@@ -3,6 +3,17 @@ require 'stringio'
|
|
3
3
|
|
4
4
|
module Cucumber
|
5
5
|
describe Executor do
|
6
|
+
|
7
|
+
def mock_scenario(stubs = {})
|
8
|
+
@scenario ||= stub("scenario", {
|
9
|
+
:row? => false,
|
10
|
+
:name => 'test',
|
11
|
+
:accept => nil,
|
12
|
+
:steps => [],
|
13
|
+
:pending? => true
|
14
|
+
}.merge(stubs))
|
15
|
+
end
|
16
|
+
|
6
17
|
before do # TODO: Way more setup and duplication of lib code. Use lib code!
|
7
18
|
@io = StringIO.new
|
8
19
|
@step_mother = StepMother.new
|
@@ -35,19 +46,47 @@ module Cucumber
|
|
35
46
|
|
36
47
|
1)
|
37
48
|
dang
|
38
|
-
#{__FILE__}:
|
49
|
+
#{__FILE__}:43:in `Then /I should owe (\\d*) cucumbers/'
|
39
50
|
#{@feature_file}:9:in `Then I should owe 7 cucumbers'
|
40
51
|
})
|
41
52
|
end
|
42
53
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
54
|
+
describe "creating a world" do
|
55
|
+
module DoitExtension
|
56
|
+
def doit
|
57
|
+
"dunit"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
module BeatitExtension
|
62
|
+
def beatit
|
63
|
+
"beatenit"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
it "should yield an Object to the world proc" do
|
68
|
+
@executor.register_world_proc do |world|
|
69
|
+
world.extend(DoitExtension)
|
70
|
+
end
|
71
|
+
@executor.register_world_proc do |world|
|
72
|
+
world.extend(BeatitExtension)
|
73
|
+
end
|
74
|
+
world = @executor.create_world
|
75
|
+
world.doit.should == "dunit"
|
76
|
+
world.beatit.should == "beatenit"
|
77
|
+
end
|
78
|
+
end
|
79
|
+
|
80
|
+
describe "visiting feature" do
|
81
|
+
|
82
|
+
it "should set the feature file being visited" do
|
83
|
+
mock_feature = mock('feature', :file => 'womble.feature', :scenarios => [])
|
84
|
+
@executor.visit_feature(mock_feature)
|
85
|
+
|
86
|
+
@executor.instance_variable_get('@feature_file').should == 'womble.feature'
|
87
|
+
end
|
88
|
+
|
89
|
+
end
|
51
90
|
|
52
91
|
describe "visiting steps" do
|
53
92
|
def make_regex(a,b,c)
|
@@ -139,21 +178,22 @@ dang
|
|
139
178
|
describe "without having first run the matching regular scenario" do
|
140
179
|
|
141
180
|
before(:each) do
|
142
|
-
@
|
143
|
-
@executor.
|
144
|
-
@executor.visit_regular_scenario(@
|
181
|
+
@regular_scenario = Tree::Scenario.new(nil, 'test', 1)
|
182
|
+
@executor.lines_for_features = Hash.new([5])
|
183
|
+
@executor.visit_regular_scenario(@regular_scenario)
|
145
184
|
end
|
146
185
|
|
147
186
|
it "should run the regular scenario before the row scenario" do
|
148
|
-
@
|
149
|
-
|
150
|
-
|
187
|
+
@regular_scenario.should_receive(:accept)
|
188
|
+
row_scenario = mock_row_scenario(:name => 'test', :at_line? => true)
|
189
|
+
row_scenario.should_receive(:accept)
|
190
|
+
@executor.visit_row_scenario(row_scenario)
|
151
191
|
end
|
152
192
|
|
153
193
|
it "should run the row scenario after running the regular scenario" do
|
154
|
-
mock_row_scenario(:at_line? => true)
|
155
|
-
|
156
|
-
@executor.visit_row_scenario(
|
194
|
+
row_scenario = mock_row_scenario(:at_line? => true)
|
195
|
+
row_scenario.should_receive(:accept)
|
196
|
+
@executor.visit_row_scenario(row_scenario)
|
157
197
|
end
|
158
198
|
|
159
199
|
end
|
@@ -172,18 +212,53 @@ dang
|
|
172
212
|
end
|
173
213
|
end
|
174
214
|
|
175
|
-
describe "
|
215
|
+
describe "visiting scenarios" do
|
216
|
+
|
217
|
+
it "should check if a scenario is at the specified line number" do
|
218
|
+
mock_scenario = mock('scenario', :null_object => true)
|
219
|
+
@executor.lines_for_features = Hash.new([1])
|
176
220
|
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
:name => 'test',
|
181
|
-
:accept => nil,
|
182
|
-
:steps => [],
|
183
|
-
:pending? => true
|
184
|
-
}.merge(stubs))
|
221
|
+
mock_scenario.should_receive(:at_line?).with(1)
|
222
|
+
|
223
|
+
@executor.visit_scenario(mock_scenario)
|
185
224
|
end
|
186
|
-
|
225
|
+
|
226
|
+
describe "with specific features and lines" do
|
227
|
+
|
228
|
+
it "should check if a scenario is at the specified feature line number" do
|
229
|
+
@executor.instance_variable_set('@feature_file', 'sell_cucumbers.feature')
|
230
|
+
@executor.lines_for_features = {'sell_cucumbers.feature' => [11]}
|
231
|
+
|
232
|
+
mock_scenario.should_receive(:at_line?).with(11).and_return(false)
|
233
|
+
|
234
|
+
@executor.visit_scenario(mock_scenario)
|
235
|
+
end
|
236
|
+
|
237
|
+
it "should not check feature line numbers if --line is already set" do
|
238
|
+
@executor.instance_variable_set('@feature_file', 'sell_cucumbers.feature')
|
239
|
+
@executor.lines_for_features = {'sell_cucumbers.feature' => [11]}
|
240
|
+
@executor.lines_for_features = Hash.new([5])
|
241
|
+
|
242
|
+
mock_scenario.should_not_receive(:at_line?).with(11).and_return(false)
|
243
|
+
|
244
|
+
@executor.visit_scenario(mock_scenario)
|
245
|
+
end
|
246
|
+
|
247
|
+
it "should not check feature line numbers if the current feature file does not have lines specified" do
|
248
|
+
@executor.instance_variable_set('@feature_file', 'beetlejuice.feature')
|
249
|
+
@executor.lines_for_features = {'sell_cucumbers.feature' => [11]}
|
250
|
+
|
251
|
+
mock_scenario.should_not_receive(:at_line?).with(11).and_return(false)
|
252
|
+
|
253
|
+
@executor.visit_scenario(mock_scenario)
|
254
|
+
end
|
255
|
+
|
256
|
+
end
|
257
|
+
|
258
|
+
end
|
259
|
+
|
260
|
+
describe "caching visited scenarios" do
|
261
|
+
|
187
262
|
it "should reset cache after each feature visit" do
|
188
263
|
Tree::Scenario.stub!(:new).and_return(mock_scenario)
|
189
264
|
|
@@ -218,5 +293,6 @@ dang
|
|
218
293
|
@executor.visit_features(@features)
|
219
294
|
end
|
220
295
|
end
|
296
|
+
|
221
297
|
end
|
222
298
|
end
|
@@ -50,13 +50,6 @@ module Cucumber
|
|
50
50
|
end
|
51
51
|
end
|
52
52
|
|
53
|
-
it "should mark a step as pending if it does not have a proc" do
|
54
|
-
m = StepMother.new
|
55
|
-
m.register_step_proc /I have no body/
|
56
|
-
regexp, args, proc = m.regexp_args_proc "I have no body"
|
57
|
-
proc.should == StepMother::PENDING
|
58
|
-
end
|
59
|
-
|
60
53
|
it "should report that a step has a definition if the step is registered" do
|
61
54
|
m = StepMother.new
|
62
55
|
m.register_step_proc /I am a real step definition/ do end
|
@@ -69,6 +62,13 @@ module Cucumber
|
|
69
62
|
|
70
63
|
m.has_step_definition?('I am a step without a definition').should be_false
|
71
64
|
end
|
65
|
+
|
66
|
+
it "should explain to the programmer that step definitions always need a proc" do
|
67
|
+
m = StepMother.new
|
68
|
+
lambda do
|
69
|
+
m.register_step_proc(/no milk today/)
|
70
|
+
end.should raise_error(MissingProc, "Step definitions must always have a proc")
|
71
|
+
end
|
72
72
|
|
73
73
|
end
|
74
74
|
end
|
@@ -3,10 +3,41 @@ require File.dirname(__FILE__) + '/../../spec_helper'
|
|
3
3
|
module Cucumber
|
4
4
|
module Tree
|
5
5
|
describe Feature do
|
6
|
+
|
6
7
|
it "should have padding_length 2 when alone" do
|
7
8
|
feature = Feature.new('header')
|
8
9
|
feature.padding_length.should == 2
|
9
10
|
end
|
11
|
+
|
12
|
+
describe "creating a Scenario" do
|
13
|
+
|
14
|
+
it "should create a new scenario for a feature" do
|
15
|
+
feature = Feature.new('header')
|
16
|
+
|
17
|
+
Scenario.should_receive(:new).with(feature, 'test scenario', "19")
|
18
|
+
|
19
|
+
feature.Scenario('test scenario') {}
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
describe "creating a Table" do
|
25
|
+
|
26
|
+
it "should set the table header of the template scenario" do
|
27
|
+
feature = Feature.new('header')
|
28
|
+
mock_scenario = mock("scenario", :update_table_column_widths => nil)
|
29
|
+
Scenario.stub!(:new).and_return(mock_scenario)
|
30
|
+
feature.add_scenario('scenario', 5)
|
31
|
+
|
32
|
+
mock_scenario.should_receive(:table_header=).with(["input_1", "input_2"])
|
33
|
+
|
34
|
+
feature.Table do |t|
|
35
|
+
t | "input_1" | "input_2" | t
|
36
|
+
t | 1 | 2 | t
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
10
41
|
end
|
11
42
|
end
|
12
43
|
end
|
@@ -4,6 +4,10 @@ module Cucumber
|
|
4
4
|
module Tree
|
5
5
|
describe RowScenario do
|
6
6
|
|
7
|
+
def mock_scenario(stubs = {})
|
8
|
+
mock('scenario', {:update_table_column_widths => nil, :steps => []}.merge(stubs))
|
9
|
+
end
|
10
|
+
|
7
11
|
describe "pending?" do
|
8
12
|
before :each do
|
9
13
|
@scenario = Scenario.new(nil, '', 1)
|
@@ -18,8 +22,34 @@ module Cucumber
|
|
18
22
|
@scenario.create_step('Given', 'a long step', 1)
|
19
23
|
@row_scenario.should_not be_pending
|
20
24
|
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe "generating row steps" do
|
28
|
+
|
29
|
+
it "should cache unbound steps" do
|
30
|
+
row_scenario = RowScenario.new(mock('feature'), mock_scenario, [], 1)
|
31
|
+
|
32
|
+
row_scenario.steps.should equal(row_scenario.steps)
|
33
|
+
end
|
21
34
|
|
35
|
+
it "should cache bound steps" do
|
36
|
+
mock_step = mock('step', :arity => 1)
|
37
|
+
row_scenario = RowScenario.new(mock('feature'), mock_scenario(:steps => [mock_step]), [], 1)
|
38
|
+
|
39
|
+
row_scenario.steps.should equal(row_scenario.steps)
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should regenerate row steps when scenario template steps have been matched" do
|
43
|
+
mock_step = mock('step', :arity => 0)
|
44
|
+
row_scenario = RowScenario.new(mock('feature'), mock_scenario(:steps => [mock_step]), [], 1)
|
45
|
+
unbound_steps = row_scenario.steps
|
46
|
+
mock_step.stub!(:arity => 1)
|
47
|
+
|
48
|
+
unbound_steps.should_not equal(row_scenario.steps)
|
49
|
+
end
|
50
|
+
|
22
51
|
end
|
52
|
+
|
23
53
|
end
|
24
54
|
end
|
25
55
|
end
|
data/spec/spec_helper.rb
CHANGED
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.10
|
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-11-
|
12
|
+
date: 2008-11-25 00:00:00 +01:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -33,24 +33,24 @@ dependencies:
|
|
33
33
|
version: 1.2.4
|
34
34
|
version:
|
35
35
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
36
|
+
name: diff-lcs
|
37
37
|
type: :runtime
|
38
38
|
version_requirement:
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - ">="
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 1.1.
|
43
|
+
version: 1.1.2
|
44
44
|
version:
|
45
45
|
- !ruby/object:Gem::Dependency
|
46
|
-
name:
|
47
|
-
type: :
|
46
|
+
name: rspec
|
47
|
+
type: :development
|
48
48
|
version_requirement:
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
51
|
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
|
-
version: 1.1.
|
53
|
+
version: 1.1.11
|
54
54
|
version:
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: hoe
|
@@ -109,6 +109,11 @@ files:
|
|
109
109
|
- examples/i18n/da/features/step_definitons/kalkulator_steps.rb
|
110
110
|
- examples/i18n/da/features/summering.feature
|
111
111
|
- examples/i18n/da/lib/kalkulator.rb
|
112
|
+
- examples/i18n/de/Rakefile
|
113
|
+
- examples/i18n/de/features/addition.feature
|
114
|
+
- examples/i18n/de/features/division.feature
|
115
|
+
- examples/i18n/de/features/step_definitons/calculator_steps.rb
|
116
|
+
- examples/i18n/de/lib/calculator.rb
|
112
117
|
- examples/i18n/en/Rakefile
|
113
118
|
- examples/i18n/en/features/addition.feature
|
114
119
|
- examples/i18n/en/features/division.feature
|
@@ -141,6 +146,11 @@ files:
|
|
141
146
|
- examples/i18n/ja/features/division.feature
|
142
147
|
- examples/i18n/ja/features/step_definitons/calculator_steps.rb
|
143
148
|
- examples/i18n/ja/lib/calculator.rb
|
149
|
+
- examples/i18n/lt/Rakefile
|
150
|
+
- examples/i18n/lt/features/addition.feature
|
151
|
+
- examples/i18n/lt/features/division.feature
|
152
|
+
- examples/i18n/lt/features/step_definitons/calculator_steps.rb
|
153
|
+
- examples/i18n/lt/lib/calculator.rb
|
144
154
|
- examples/i18n/no/Rakefile
|
145
155
|
- examples/i18n/no/features/step_definitons/kalkulator_steps.rb
|
146
156
|
- examples/i18n/no/features/summering.feature
|
@@ -171,6 +181,9 @@ files:
|
|
171
181
|
- examples/selenium/Rakefile
|
172
182
|
- examples/selenium/features/search.feature
|
173
183
|
- examples/selenium/features/step_definitons/stories_steps.rb
|
184
|
+
- examples/test_unit/Rakefile
|
185
|
+
- examples/test_unit/features/step_definitions/test_unit_steps.rb
|
186
|
+
- examples/test_unit/features/test_unit.feature
|
174
187
|
- examples/tickets/Rakefile
|
175
188
|
- examples/tickets/cucumber.yml
|
176
189
|
- examples/tickets/features/step_definitons/tickets_steps.rb
|
@@ -213,6 +226,7 @@ files:
|
|
213
226
|
- lib/cucumber/languages.yml
|
214
227
|
- lib/cucumber/model.rb
|
215
228
|
- lib/cucumber/model/table.rb
|
229
|
+
- lib/cucumber/platform.rb
|
216
230
|
- lib/cucumber/rails/rspec.rb
|
217
231
|
- lib/cucumber/rails/world.rb
|
218
232
|
- lib/cucumber/rake/task.rb
|
@@ -239,6 +253,7 @@ files:
|
|
239
253
|
- lib/cucumber/treetop_parser/feature_id.rb
|
240
254
|
- lib/cucumber/treetop_parser/feature_it.rb
|
241
255
|
- lib/cucumber/treetop_parser/feature_ja.rb
|
256
|
+
- lib/cucumber/treetop_parser/feature_lt.rb
|
242
257
|
- lib/cucumber/treetop_parser/feature_nl.rb
|
243
258
|
- lib/cucumber/treetop_parser/feature_no.rb
|
244
259
|
- lib/cucumber/treetop_parser/feature_parser.rb
|