kosmas58-cucumber 0.1.16.6 → 0.1.99.21
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 +126 -2
- data/License.txt +1 -1
- data/Manifest.txt +0 -270
- data/Rakefile +1 -1
- data/bin/cucumber +2 -2
- data/config/hoe.rb +7 -2
- data/examples/cs/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/README.textile +1 -1
- data/examples/i18n/Rakefile +3 -3
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -6
- data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +1 -1
- data/examples/i18n/de/features/addition.feature +6 -6
- data/examples/i18n/de/features/step_definitons/calculator_steps.rb +2 -2
- data/examples/i18n/en/features/addition.feature +6 -6
- data/examples/i18n/en/features/step_definitons/calculator_steps.rb +2 -2
- data/examples/i18n/es/features/adicion.feature +11 -12
- data/examples/i18n/es/features/step_definitons/calculador_steps.rb +7 -10
- data/examples/i18n/es/lib/calculador.rb +4 -1
- data/examples/i18n/et/features/liitmine.feature +7 -6
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +1 -1
- data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +1 -1
- data/examples/i18n/fi/features/yhteenlasku.feature +2 -2
- data/examples/i18n/fr/features/addition.feature +2 -2
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +1 -1
- data/examples/i18n/id/features/addition.feature +6 -6
- data/examples/i18n/id/features/step_definitons/calculator_steps.rb +2 -2
- data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +1 -1
- data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +2 -3
- data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/lt/features/addition.feature +7 -6
- data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +2 -2
- data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +7 -7
- data/examples/i18n/no/features/summering.feature +1 -0
- data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +1 -1
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +1 -1
- data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +2 -2
- data/examples/java/src/cucumber/demo/Hello.java +16 -0
- data/examples/jbehave/README.textile +17 -0
- data/examples/jbehave/features/support/env.rb +7 -0
- data/examples/jbehave/features/trading.feature +24 -0
- data/examples/jbehave/pom.xml +48 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/converters/TraderConverter.java +32 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Stock.java +42 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Trader.java +29 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/persistence/TraderPersister.java +22 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java +65 -0
- data/examples/self_test/README.textile +4 -1
- data/examples/{calculator_ruby_features → self_test}/Rakefile +3 -3
- data/examples/self_test/features/background/failing_background.feature +10 -0
- data/examples/self_test/features/background/failing_background_after_success.feature +11 -0
- data/examples/self_test/features/background/multiline_args_background.feature +32 -0
- data/examples/self_test/features/background/passing_background.feature +10 -0
- data/examples/self_test/features/background/pending_background.feature +10 -0
- data/examples/self_test/features/background/scenario_outline_failing_background.feature +16 -0
- data/examples/self_test/features/background/scenario_outline_passing_background.feature +16 -0
- data/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
- data/examples/self_test/features/lots_of_undefined.feature +8 -0
- data/examples/self_test/features/outline_sample.feature +11 -5
- data/examples/self_test/features/sample.feature +8 -3
- data/examples/self_test/features/step_definitions/sample_steps.rb +53 -4
- data/examples/self_test/features/support/env.rb +1 -0
- data/examples/self_test/features/support/tag_count_formatter.rb +25 -0
- data/examples/tickets/features/172.feature +28 -0
- data/examples/tickets/features/177/1.feature +29 -0
- data/examples/tickets/features/177/2.feature +21 -0
- data/examples/tickets/features/177/3.feature +18 -0
- data/examples/tickets/features/180.feature +7 -0
- data/examples/tickets/features/scenario_outline.feature +6 -1
- data/examples/tickets/features/step_definitons/tickets_steps.rb +27 -3
- data/examples/tickets/features/tickets.feature +4 -0
- data/features/background.feature +223 -0
- data/features/cucumber_cli.feature +218 -98
- data/features/cucumber_cli_outlines.feature +54 -37
- data/features/custom_formatter.feature +11 -0
- data/features/report_called_undefined_steps.feature +32 -0
- data/features/step_definitions/cucumber_steps.rb +7 -3
- data/features/step_definitions/extra_steps.rb +1 -1
- data/features/support/env.rb +2 -1
- data/gem_tasks/flog.rake +1 -1
- data/gem_tasks/gemspec.rake +2 -2
- data/gem_tasks/jar.rake +67 -0
- data/lib/autotest/cucumber_mixin.rb +17 -23
- data/lib/cucumber.rb +63 -11
- data/lib/cucumber/ast.rb +29 -0
- data/lib/cucumber/ast/background.rb +88 -0
- data/lib/cucumber/ast/comment.rb +26 -0
- data/lib/cucumber/ast/examples.rb +26 -0
- data/lib/cucumber/ast/feature.rb +66 -0
- data/lib/cucumber/ast/features.rb +39 -0
- data/lib/cucumber/ast/filter.rb +22 -0
- data/lib/cucumber/ast/outline_table.rb +49 -0
- data/lib/cucumber/ast/py_string.rb +52 -0
- data/lib/cucumber/ast/scenario.rb +103 -0
- data/lib/cucumber/ast/scenario_outline.rb +92 -0
- data/lib/cucumber/ast/step.rb +161 -0
- data/lib/cucumber/ast/steps.rb +13 -0
- data/lib/cucumber/ast/table.rb +218 -0
- data/lib/cucumber/ast/tags.rb +40 -0
- data/lib/cucumber/ast/visitor.rb +109 -0
- data/lib/cucumber/broadcaster.rb +1 -6
- data/lib/cucumber/cli/configuration.rb +339 -0
- data/lib/cucumber/cli/language_help_formatter.rb +59 -0
- data/lib/cucumber/cli/main.rb +100 -0
- data/lib/cucumber/core_ext/exception.rb +41 -8
- data/lib/cucumber/core_ext/instance_exec.rb +54 -0
- data/lib/cucumber/core_ext/proc.rb +29 -65
- data/lib/cucumber/core_ext/string.rb +19 -0
- data/lib/cucumber/formatter.rb +1 -0
- data/lib/cucumber/{formatters → formatter}/ansicolor.rb +14 -16
- data/lib/cucumber/formatter/color_io.rb +17 -0
- data/lib/cucumber/formatter/console.rb +119 -0
- data/lib/cucumber/formatter/cucumber.css +55 -0
- data/lib/cucumber/formatter/cucumber.sass +49 -0
- data/lib/cucumber/formatter/html.rb +121 -0
- data/lib/cucumber/formatter/pretty.rb +167 -0
- data/lib/cucumber/formatter/profile.rb +77 -0
- data/lib/cucumber/formatter/progress.rb +68 -0
- data/lib/cucumber/formatter/rerun.rb +35 -0
- data/lib/cucumber/formatter/unicode.rb +35 -0
- data/lib/cucumber/formatters/unicode.rb +2 -35
- data/lib/cucumber/jbehave.rb +102 -0
- data/lib/cucumber/languages.yml +128 -75
- data/lib/cucumber/parser.rb +43 -0
- data/lib/cucumber/parser/basic.rb +0 -0
- data/lib/cucumber/parser/feature.rb +1490 -0
- data/lib/cucumber/parser/feature.tt +188 -0
- data/lib/cucumber/parser/i18n.tt +31 -0
- data/lib/cucumber/parser/table.rb +402 -0
- data/lib/cucumber/parser/table.tt +59 -0
- data/lib/cucumber/parser/treetop_ext.rb +75 -0
- data/lib/cucumber/platform.rb +3 -17
- data/lib/cucumber/rails/rspec.rb +5 -2
- data/lib/cucumber/step_definition.rb +87 -0
- data/lib/cucumber/step_mother.rb +151 -66
- data/lib/cucumber/version.rb +2 -2
- data/rails_generators/cucumber/USAGE +3 -2
- data/rails_generators/cucumber/cucumber_generator.rb +33 -23
- data/rails_generators/cucumber/templates/cucumber +2 -1
- data/rails_generators/cucumber/templates/cucumber.rake +6 -1
- data/rails_generators/cucumber/templates/env.rb +1 -1
- data/rails_generators/feature/USAGE +3 -0
- data/rails_generators/feature/feature_generator.rb +30 -6
- data/spec/cucumber/ast/background_spec.rb +58 -0
- data/spec/cucumber/ast/feature_factory.rb +54 -0
- data/spec/cucumber/ast/feature_spec.rb +60 -0
- data/spec/cucumber/ast/py_string_spec.rb +40 -0
- data/spec/cucumber/ast/scenario_outline_spec.rb +64 -0
- data/spec/cucumber/ast/scenario_spec.rb +82 -0
- data/spec/cucumber/ast/step_spec.rb +45 -0
- data/spec/cucumber/ast/table_spec.rb +81 -0
- data/spec/cucumber/ast/tags_spec.rb +23 -0
- data/spec/cucumber/broadcaster_spec.rb +4 -17
- data/spec/cucumber/cli/configuration_spec.rb +239 -0
- data/spec/cucumber/cli/main_spec.rb +164 -0
- data/spec/cucumber/core_ext/proc_spec.rb +27 -35
- data/spec/cucumber/core_ext/string_spec.rb +8 -0
- data/spec/cucumber/{formatters → formatter}/ansicolor_spec.rb +2 -2
- data/spec/cucumber/formatter/html/cucumber.css +37 -0
- data/spec/cucumber/formatter/html/cucumber.js +13 -0
- data/spec/cucumber/formatter/html/index.html +45 -0
- data/spec/cucumber/formatter/html/jquery-1.3.min.js +19 -0
- data/spec/cucumber/formatter/html/jquery.uitableedit.js +100 -0
- data/spec/cucumber/formatters/profile_formatter_spec.rb +17 -16
- data/spec/cucumber/parser/feature_parser_spec.rb +281 -0
- data/spec/cucumber/parser/table_parser_spec.rb +48 -0
- data/spec/cucumber/step_definition_spec.rb +62 -0
- data/spec/cucumber/step_mother_spec.rb +50 -51
- data/spec/cucumber/treetop_parser/empty_feature.feature +1 -1
- data/spec/cucumber/treetop_parser/scenario_outline.feature +1 -1
- data/spec/cucumber/treetop_parser/spaces.feature +3 -1
- data/spec/cucumber/treetop_parser/with_comments.feature +1 -1
- data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
- data/spec/cucumber/world/pending_spec.rb +13 -12
- data/spec/spec_helper.rb +1 -1
- metadata +107 -79
- data/examples/calculator_ruby_features/features/addition.rb +0 -39
- data/examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb +0 -43
- data/gem_tasks/treetop.rake +0 -41
- data/lib/cucumber/cli.rb +0 -355
- data/lib/cucumber/executor.rb +0 -205
- data/lib/cucumber/formatters.rb +0 -1
- data/lib/cucumber/formatters/autotest_formatter.rb +0 -23
- data/lib/cucumber/formatters/cucumber.css +0 -132
- data/lib/cucumber/formatters/cucumber.js +0 -11
- data/lib/cucumber/formatters/html_formatter.rb +0 -152
- data/lib/cucumber/formatters/jquery.js +0 -32
- data/lib/cucumber/formatters/pretty_formatter.rb +0 -285
- data/lib/cucumber/formatters/profile_formatter.rb +0 -92
- data/lib/cucumber/formatters/progress_formatter.rb +0 -61
- data/lib/cucumber/model.rb +0 -1
- data/lib/cucumber/model/table.rb +0 -32
- data/lib/cucumber/step_methods.rb +0 -49
- data/lib/cucumber/tree.rb +0 -16
- data/lib/cucumber/tree/feature.rb +0 -105
- data/lib/cucumber/tree/features.rb +0 -21
- data/lib/cucumber/tree/given_scenario.rb +0 -13
- data/lib/cucumber/tree/scenario.rb +0 -240
- data/lib/cucumber/tree/step.rb +0 -173
- data/lib/cucumber/tree/table.rb +0 -26
- data/lib/cucumber/tree/top_down_visitor.rb +0 -23
- data/lib/cucumber/treetop_parser/feature.treetop.erb +0 -254
- data/lib/cucumber/treetop_parser/feature_ar.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_cy.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_da.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_de.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_en-lol.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_en-tx.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_en.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_es.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_et.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_fi.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_fr.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_id.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_it.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_ja.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_ko.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_lt.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_nl.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_no.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_parser.rb +0 -36
- data/lib/cucumber/treetop_parser/feature_pl.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_pt.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_ro.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_ro2.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_ru.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_se.rb +0 -1951
- data/lib/cucumber/treetop_parser/feature_zh-CN.rb +0 -1951
- data/lib/cucumber/world.rb +0 -1
- data/lib/cucumber/world/pending.rb +0 -22
- data/setup.rb +0 -1585
- data/spec/cucumber/cli_spec.rb +0 -521
- data/spec/cucumber/executor_spec.rb +0 -382
- data/spec/cucumber/formatters/autotest_formatter_spec.rb +0 -26
- data/spec/cucumber/formatters/features.html +0 -269
- data/spec/cucumber/formatters/html_formatter_spec.rb +0 -110
- data/spec/cucumber/formatters/pretty_formatter_spec.rb +0 -410
- data/spec/cucumber/formatters/progress_formatter_spec.rb +0 -81
- data/spec/cucumber/model/table_spec.rb +0 -32
- data/spec/cucumber/tree/feature_spec.rb +0 -122
- data/spec/cucumber/tree/row_scenario_outline_spec.rb +0 -73
- data/spec/cucumber/tree/row_scenario_spec.rb +0 -55
- data/spec/cucumber/tree/row_step_outline_spec.rb +0 -38
- data/spec/cucumber/tree/scenario_outline_spec.rb +0 -50
- data/spec/cucumber/tree/scenario_spec.rb +0 -134
- data/spec/cucumber/tree/step_outline_spec.rb +0 -17
- data/spec/cucumber/tree/step_spec.rb +0 -59
- data/spec/cucumber/treetop_parser/feature_parser_spec.rb +0 -120
@@ -1,81 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
-
|
3
|
-
module Cucumber
|
4
|
-
module Formatters
|
5
|
-
describe ProgressFormatter do
|
6
|
-
before do
|
7
|
-
::Term::ANSIColor.coloring = false
|
8
|
-
end
|
9
|
-
|
10
|
-
after do
|
11
|
-
::Term::ANSIColor.coloring = true
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should print . when passed" do
|
15
|
-
io = StringIO.new
|
16
|
-
formatter = ProgressFormatter.new io
|
17
|
-
step = stub('step',
|
18
|
-
:error => nil
|
19
|
-
)
|
20
|
-
formatter.step_passed(step,nil,nil)
|
21
|
-
io.string.should =~ /^\.$/
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should print F when failed" do
|
25
|
-
io = StringIO.new
|
26
|
-
formatter = ProgressFormatter.new io
|
27
|
-
step = stub('step',
|
28
|
-
:error => StandardError.new
|
29
|
-
)
|
30
|
-
formatter.step_failed(step,nil,nil)
|
31
|
-
io.string.should =~ /^\F$/
|
32
|
-
end
|
33
|
-
|
34
|
-
it "should print P when pending" do
|
35
|
-
io = StringIO.new
|
36
|
-
formatter = ProgressFormatter.new io
|
37
|
-
step = stub('step',
|
38
|
-
:error => Pending.new,
|
39
|
-
:scenario => mock('scenario')
|
40
|
-
)
|
41
|
-
formatter.step_pending(step,nil,nil)
|
42
|
-
io.string.should =~ /^\P$/
|
43
|
-
end
|
44
|
-
|
45
|
-
it "should print _ when skipped" do
|
46
|
-
io = StringIO.new
|
47
|
-
formatter = ProgressFormatter.new io
|
48
|
-
formatter.step_skipped(nil,nil,nil)
|
49
|
-
io.string.should =~ /^_$/
|
50
|
-
end
|
51
|
-
|
52
|
-
it "should print nothing when traced" do
|
53
|
-
io = StringIO.new
|
54
|
-
formatter = ProgressFormatter.new io
|
55
|
-
formatter.step_traced(nil, nil, nil)
|
56
|
-
|
57
|
-
io.string.should =~ /^$/
|
58
|
-
end
|
59
|
-
|
60
|
-
describe "scenario without any steps" do
|
61
|
-
before :each do
|
62
|
-
@io = StringIO.new
|
63
|
-
@formatter = ProgressFormatter.new(@io)
|
64
|
-
@feature = stub("feature", :header => "Feature Header")
|
65
|
-
@scenario = stub("scenario", :feature => @feature, :name => "Scenario Title", :row? => false, :pending? => true)
|
66
|
-
end
|
67
|
-
|
68
|
-
it "should print a P when executing" do
|
69
|
-
@formatter.should_receive(:pending).with("P")
|
70
|
-
@formatter.scenario_executing(@scenario)
|
71
|
-
end
|
72
|
-
|
73
|
-
it "should display as pending in the dump" do
|
74
|
-
@formatter.scenario_executing(@scenario)
|
75
|
-
@formatter.dump
|
76
|
-
@io.string.should include("Feature Header (Scenario Title)")
|
77
|
-
end
|
78
|
-
end
|
79
|
-
end
|
80
|
-
end
|
81
|
-
end
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
-
|
3
|
-
module Cucumber
|
4
|
-
module Model
|
5
|
-
describe Table do
|
6
|
-
before do
|
7
|
-
@raw = [
|
8
|
-
%w{name gender},
|
9
|
-
%w{aslak male},
|
10
|
-
%w{patty female},
|
11
|
-
]
|
12
|
-
end
|
13
|
-
|
14
|
-
it "should convert into hash-array" do
|
15
|
-
ha = Table.new(@raw).hashes
|
16
|
-
ha.should == [
|
17
|
-
{'name' => 'aslak', 'gender' => 'male'},
|
18
|
-
{'name' => 'patty', 'gender' => 'female'}
|
19
|
-
]
|
20
|
-
end
|
21
|
-
|
22
|
-
it "should return the rows of the table" do
|
23
|
-
ar = Table.new(@raw).rows
|
24
|
-
ar.should == [
|
25
|
-
["aslak", "male"],
|
26
|
-
["patty", "female"]
|
27
|
-
]
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,122 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
-
|
3
|
-
module Cucumber
|
4
|
-
module Tree
|
5
|
-
describe Feature do
|
6
|
-
|
7
|
-
def mock_scenario(stubs = {})
|
8
|
-
mock("scenario", {:update_table_column_widths => nil,
|
9
|
-
:outline? => false,
|
10
|
-
:table_header= => nil}.merge(stubs))
|
11
|
-
end
|
12
|
-
|
13
|
-
def mock_scenario_outline(stubs = {})
|
14
|
-
mock_scenario({:outline? => true, :row? => false, :table_header= => nil}.merge(stubs))
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should have padding_length 2 when alone" do
|
18
|
-
feature = Feature.new('header')
|
19
|
-
feature.padding_length.should == 2
|
20
|
-
end
|
21
|
-
|
22
|
-
describe "creating a Scenario" do
|
23
|
-
|
24
|
-
it "should create a new scenario for a feature" do
|
25
|
-
feature = Feature.new('header')
|
26
|
-
|
27
|
-
Scenario.should_receive(:new).with(feature, 'test scenario', "29")
|
28
|
-
|
29
|
-
feature.Scenario('test scenario') {}
|
30
|
-
end
|
31
|
-
|
32
|
-
end
|
33
|
-
|
34
|
-
describe "creating a Scenario Outline" do
|
35
|
-
|
36
|
-
it "should create a new scenario outline for feature" do
|
37
|
-
feature = Feature.new('header')
|
38
|
-
|
39
|
-
ScenarioOutline.should_receive(:new).with(feature, 'test', '41')
|
40
|
-
|
41
|
-
feature.ScenarioOutline('test') {}
|
42
|
-
end
|
43
|
-
|
44
|
-
end
|
45
|
-
|
46
|
-
describe "creating a Table" do
|
47
|
-
|
48
|
-
before(:each) do
|
49
|
-
@feature = Feature.new('header')
|
50
|
-
end
|
51
|
-
|
52
|
-
describe "previous scenario is a scenario outline" do
|
53
|
-
|
54
|
-
it "should create a row scenario outline for feature" do
|
55
|
-
mock_scenario_outline = mock_scenario_outline(:outline? => true)
|
56
|
-
Scenario.stub!(:new).and_return(mock_scenario_outline)
|
57
|
-
@feature.add_scenario('scenario', 5)
|
58
|
-
|
59
|
-
RowScenarioOutline.should_receive(:new).with(@feature, mock_scenario_outline, ['1', '2'], anything)
|
60
|
-
|
61
|
-
@feature.Table do |t|
|
62
|
-
t | "input_1" | "input_2" | t
|
63
|
-
t | 1 | 2 | t
|
64
|
-
end
|
65
|
-
end
|
66
|
-
|
67
|
-
end
|
68
|
-
|
69
|
-
describe "previous scenario was a regular scenario" do
|
70
|
-
|
71
|
-
it "should create a row scenario for feature" do
|
72
|
-
mock_scenario = mock_scenario(:outline? => false)
|
73
|
-
Scenario.stub!(:new).and_return(mock_scenario)
|
74
|
-
@feature.add_scenario('scenario', 5)
|
75
|
-
|
76
|
-
RowScenario.should_receive(:new).with(@feature, mock_scenario, ['1', '2'], anything)
|
77
|
-
|
78
|
-
@feature.Table do |t|
|
79
|
-
t | "input_1" | "input_2" | t
|
80
|
-
t | 1 | 2 | t
|
81
|
-
end
|
82
|
-
end
|
83
|
-
|
84
|
-
end
|
85
|
-
|
86
|
-
it "should set the table header of the template scenario" do
|
87
|
-
mock_scenario = mock("scenario", :update_table_column_widths => nil, :outline? => false)
|
88
|
-
Scenario.stub!(:new).and_return(mock_scenario)
|
89
|
-
@feature.add_scenario('scenario', 5)
|
90
|
-
|
91
|
-
mock_scenario.should_receive(:table_header=).with(["input_1", "input_2"])
|
92
|
-
|
93
|
-
@feature.Table do |t|
|
94
|
-
t | "input_1" | "input_2" | t
|
95
|
-
t | 1 | 2 | t
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
|
-
end
|
100
|
-
|
101
|
-
it "should create a new row scenario outline" do
|
102
|
-
feature = Feature.new('header')
|
103
|
-
|
104
|
-
RowScenarioOutline.should_receive(:new)
|
105
|
-
|
106
|
-
feature.add_row_scenario_outline(mock_scenario_outline, [], 1)
|
107
|
-
end
|
108
|
-
|
109
|
-
it "should visit scenario outline" do
|
110
|
-
feature = Feature.new('header')
|
111
|
-
ScenarioOutline.stub!(:new).and_return(mock_scenario_outline(:outline? => true, :row? => false))
|
112
|
-
feature.add_scenario_outline(nil, nil)
|
113
|
-
mock_visitor = mock('visitor', :visit_header => nil)
|
114
|
-
|
115
|
-
mock_visitor.should_receive(:visit_scenario_outline)
|
116
|
-
|
117
|
-
feature.accept(mock_visitor)
|
118
|
-
end
|
119
|
-
|
120
|
-
end
|
121
|
-
end
|
122
|
-
end
|
@@ -1,73 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
-
|
3
|
-
module Cucumber
|
4
|
-
module Tree
|
5
|
-
describe RowScenarioOutline do
|
6
|
-
|
7
|
-
def mock_feature
|
8
|
-
mock_feature = mock("feature")
|
9
|
-
end
|
10
|
-
|
11
|
-
def mock_scenario(stubs ={})
|
12
|
-
mock("scenario", {:update_table_column_widths => nil}.merge(stubs))
|
13
|
-
end
|
14
|
-
|
15
|
-
def mock_step(stubs = {})
|
16
|
-
mock("step", {:arity => 0}.merge(stubs))
|
17
|
-
end
|
18
|
-
|
19
|
-
it "should indicate scenario is a scenario outline" do
|
20
|
-
outline = RowScenarioOutline.new(mock_feature, mock_scenario, [], 1)
|
21
|
-
|
22
|
-
outline.should be_a_outline
|
23
|
-
end
|
24
|
-
|
25
|
-
describe "steps" do
|
26
|
-
|
27
|
-
it "should create a new step with placeholders in template scenario steps replaced with values from scenario row" do
|
28
|
-
mock_step = mock_step(:keyword => 'Given', :name => '<animal> burning bright')
|
29
|
-
mock_scenario = mock_scenario(:table_header => ["animal"], :steps => [mock_step] )
|
30
|
-
outline = RowScenarioOutline.new(mock_feature, mock_scenario, ["tiger"], 1)
|
31
|
-
|
32
|
-
RowStepOutline.should_receive(:new).with(outline, mock_step, 'tiger burning bright', ["tiger"], 1)
|
33
|
-
|
34
|
-
outline.steps
|
35
|
-
end
|
36
|
-
|
37
|
-
it "should leave the scenario template's name unchanged when replacing placeholders" do
|
38
|
-
mock_step = mock_step(:keyword => 'Given', :name => '<animal> burning bright', :extra_args => [])
|
39
|
-
mock_scenario = mock_scenario(:table_header => ["animal"], :steps => [mock_step] )
|
40
|
-
outline = RowScenarioOutline.new(mock_feature, mock_scenario, ["tiger"], 1)
|
41
|
-
|
42
|
-
outline.steps
|
43
|
-
|
44
|
-
mock_step.name.should == '<animal> burning bright'
|
45
|
-
end
|
46
|
-
|
47
|
-
it "should leave the step name untouched if it has no placeholders" do
|
48
|
-
mock_step = mock_step(:keyword => 'Given', :name => 'beauty too rich for earth too dear')
|
49
|
-
mock_scenario = mock_scenario(:table_header => ["animal"], :steps => [mock_step] )
|
50
|
-
outline = RowScenarioOutline.new(mock_feature, mock_scenario, ["tiger"], 1)
|
51
|
-
|
52
|
-
RowStepOutline.should_receive(:new).with(outline, mock_step, 'beauty too rich for earth too dear', [], 1)
|
53
|
-
|
54
|
-
outline.steps
|
55
|
-
end
|
56
|
-
|
57
|
-
it "should ensure that created steps do not contain values already used in previous steps" do
|
58
|
-
mock_step_1 = mock_step(:keyword => 'Given', :name => '<animal> eating')
|
59
|
-
mock_step_2 = mock_step(:keyword => 'Given', :name => 'eating <animal>')
|
60
|
-
mock_scenario = mock_scenario(:table_header => ["animal"], :steps => [mock_step_1, mock_step_2] )
|
61
|
-
outline = RowScenarioOutline.new(mock_feature, mock_scenario, ["tiger"], 1)
|
62
|
-
|
63
|
-
RowStepOutline.should_receive(:new).with(anything, anything, anything, ['tiger'], anything)
|
64
|
-
RowStepOutline.should_receive(:new).with(anything, anything, anything, [], anything)
|
65
|
-
|
66
|
-
outline.steps
|
67
|
-
end
|
68
|
-
|
69
|
-
end
|
70
|
-
|
71
|
-
end
|
72
|
-
end
|
73
|
-
end
|
@@ -1,55 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
-
|
3
|
-
module Cucumber
|
4
|
-
module Tree
|
5
|
-
describe RowScenario do
|
6
|
-
|
7
|
-
def mock_scenario(stubs = {})
|
8
|
-
mock('scenario', {:update_table_column_widths => nil, :steps => []}.merge(stubs))
|
9
|
-
end
|
10
|
-
|
11
|
-
describe "pending?" do
|
12
|
-
before :each do
|
13
|
-
@scenario = Scenario.new(nil, '', 1)
|
14
|
-
@row_scenario = RowScenario.new(mock('feature'), @scenario, [], 1)
|
15
|
-
end
|
16
|
-
|
17
|
-
it "should return true if the template scenario has no steps" do
|
18
|
-
@row_scenario.should be_pending
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should return false if the template scenario has no steps" do
|
22
|
-
@scenario.create_step('Given', 'a long step', 1)
|
23
|
-
@row_scenario.should_not be_pending
|
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
|
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
|
-
|
51
|
-
end
|
52
|
-
|
53
|
-
end
|
54
|
-
end
|
55
|
-
end
|
@@ -1,38 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
-
|
3
|
-
module Cucumber
|
4
|
-
module Tree
|
5
|
-
describe RowStepOutline do
|
6
|
-
|
7
|
-
def mock_step(stubs = {})
|
8
|
-
mock("step", {:extra_args => []}.merge(stubs))
|
9
|
-
end
|
10
|
-
|
11
|
-
|
12
|
-
it "should be a outline" do
|
13
|
-
outline_row = RowStepOutline.new(mock("scenario"), mock_step, 'outline', [], 1)
|
14
|
-
|
15
|
-
outline_row.should be_a_outline
|
16
|
-
end
|
17
|
-
|
18
|
-
it "should be a row step" do
|
19
|
-
outline_row = RowStepOutline.new(mock("scenario"), mock_step, 'outline', [], 1)
|
20
|
-
|
21
|
-
outline_row.should be_a_row
|
22
|
-
end
|
23
|
-
|
24
|
-
it "should have visible args" do
|
25
|
-
outline_row = RowStepOutline.new(mock("scenario"), mock_step, 'outline', ["tiger", "night"], 1)
|
26
|
-
|
27
|
-
outline_row.visible_args.should == ["tiger", "night"]
|
28
|
-
end
|
29
|
-
|
30
|
-
it "should have extra args" do
|
31
|
-
outline_row = RowStepOutline.new(mock("scenario"), mock_step(:extra_args => ["extra", "arrrgs"]), 'outline', [], 1)
|
32
|
-
|
33
|
-
outline_row.extra_args.should == ["extra", "arrrgs"]
|
34
|
-
end
|
35
|
-
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
|
-
|
3
|
-
module Cucumber
|
4
|
-
module Tree
|
5
|
-
describe ScenarioOutline do
|
6
|
-
|
7
|
-
def mock_feature
|
8
|
-
mock_feature = mock("feature")
|
9
|
-
end
|
10
|
-
|
11
|
-
def mock_scenario(stubs ={})
|
12
|
-
mock("scenario", {:update_table_column_widths => nil}.merge(stubs))
|
13
|
-
end
|
14
|
-
|
15
|
-
it "should indicate its a scenario outline" do
|
16
|
-
scenario_outline = ScenarioOutline.new(mock_feature, '', 1)
|
17
|
-
|
18
|
-
scenario_outline.should be_a_outline
|
19
|
-
end
|
20
|
-
|
21
|
-
it "should create a step outline when adding new steps" do
|
22
|
-
scenario_outline = ScenarioOutline.new(mock_feature, '', 1)
|
23
|
-
|
24
|
-
StepOutline.should_receive(:new)
|
25
|
-
|
26
|
-
scenario_outline.create_step('Given', '', 2)
|
27
|
-
end
|
28
|
-
|
29
|
-
it "should visit step outlines" do
|
30
|
-
outline = ScenarioOutline.new(mock_feature, '', 1)
|
31
|
-
outline.create_step('Given', '', 1)
|
32
|
-
mock_visitor = mock('visitor')
|
33
|
-
|
34
|
-
mock_visitor.should_receive(:visit_step_outline)
|
35
|
-
|
36
|
-
outline.accept(mock_visitor)
|
37
|
-
end
|
38
|
-
|
39
|
-
it "should include indent when padding to step" do
|
40
|
-
scenario = ScenarioOutline.new(mock_feature, '', 1)
|
41
|
-
scenario.create_step('Given', 'a longish step', 1)
|
42
|
-
|
43
|
-
#Scenario Outline: ****
|
44
|
-
# Given a longish step
|
45
|
-
scenario.padding_length.should == 4 + Scenario::INDENT
|
46
|
-
end
|
47
|
-
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|