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
@@ -0,0 +1,62 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/../spec_helper'
|
2
|
+
|
3
|
+
require 'cucumber/ast'
|
4
|
+
require 'cucumber/step_mother'
|
5
|
+
require 'cucumber/step_definition'
|
6
|
+
|
7
|
+
module Cucumber
|
8
|
+
describe StepDefinition do
|
9
|
+
before do
|
10
|
+
extend StepMother
|
11
|
+
@world = new_world
|
12
|
+
$inside = nil
|
13
|
+
end
|
14
|
+
|
15
|
+
it "should allow calling of other steps" do
|
16
|
+
Given /Outside/ do
|
17
|
+
Given "Inside"
|
18
|
+
end
|
19
|
+
Given /Inside/ do
|
20
|
+
$inside = true
|
21
|
+
end
|
22
|
+
|
23
|
+
step_definition("Outside").execute(nil, @world)
|
24
|
+
$inside.should == true
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should allow calling of other steps with inline arg" do
|
28
|
+
Given /Outside/ do
|
29
|
+
Given "Inside", Ast::Table.new([['inside']])
|
30
|
+
end
|
31
|
+
Given /Inside/ do |table|
|
32
|
+
$inside = table.raw[0][0]
|
33
|
+
end
|
34
|
+
|
35
|
+
step_definition("Outside").execute(nil, @world)
|
36
|
+
$inside.should == 'inside'
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should raise Undefined when inside step is not defined" do
|
40
|
+
Given /Outside/ do
|
41
|
+
Given 'Inside'
|
42
|
+
end
|
43
|
+
|
44
|
+
step = mock('Step')
|
45
|
+
step.should_receive(:exception=)
|
46
|
+
lambda do
|
47
|
+
@world.__cucumber_current_step = step
|
48
|
+
step_definition('Outside').execute(nil, @world)
|
49
|
+
end.should raise_error(Undefined, 'Undefined step: "Inside"')
|
50
|
+
end
|
51
|
+
|
52
|
+
it "should allow forced pending" do
|
53
|
+
Given /Outside/ do
|
54
|
+
pending("Do me!")
|
55
|
+
end
|
56
|
+
|
57
|
+
lambda do
|
58
|
+
step_definition("Outside").execute(nil, @world)
|
59
|
+
end.should raise_error(Pending, "Do me!")
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
@@ -1,74 +1,73 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../spec_helper'
|
2
2
|
|
3
|
+
require 'cucumber/step_mother'
|
4
|
+
|
3
5
|
module Cucumber
|
4
6
|
describe StepMother do
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
end
|
10
|
-
|
11
|
-
begin
|
12
|
-
m.register_step_proc /Three (.*) mice/ do |disability|
|
13
|
-
end
|
14
|
-
violated("Should raise error")
|
15
|
-
rescue => e
|
16
|
-
e.message.should =~ %r{Duplicate step definitions:.+step_mother_spec\.rb:8:in `/Three \(\.\*\) mice/'.+step_mother_spec\.rb\:12:in `/Three \(\.\*\) mice/'}m
|
17
|
-
|
18
|
-
end
|
7
|
+
before do
|
8
|
+
@step_mother = Object.new
|
9
|
+
@step_mother.extend(StepMother)
|
10
|
+
@visitor = mock('Visitor')
|
19
11
|
end
|
20
12
|
|
21
|
-
it "should
|
22
|
-
|
23
|
-
|
24
|
-
m.register_step_proc /Three (.*) mice/ do |disability|
|
13
|
+
it "should format step names" do
|
14
|
+
@step_mother.Given(/it (.*) in (.*)/) do |what, month|
|
25
15
|
end
|
26
|
-
|
27
|
-
m.register_step_proc /Three blind (.*)/ do |animal|
|
16
|
+
@step_mother.Given(/nope something else/) do |what, month|
|
28
17
|
end
|
18
|
+
format = @step_mother.step_definition("it snows in april").format_args("it snows in april", "[%s]")
|
19
|
+
format.should == "it [snows] in [april]"
|
20
|
+
end
|
29
21
|
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
rescue => e
|
34
|
-
e.message.should =~ %r{Multiple step definitions match "Three blind mice":
|
22
|
+
it "should raise Ambiguous error when multiple step definitions match" do
|
23
|
+
@step_mother.Given(/Three (.*) mice/) {|disability|}
|
24
|
+
@step_mother.Given(/Three blind (.*)/) {|animal|}
|
35
25
|
|
36
|
-
|
37
|
-
|
26
|
+
lambda do
|
27
|
+
@step_mother.step_definition("Three blind mice")
|
28
|
+
end.should raise_error(Ambiguous, %{Ambiguous match of "Three blind mice":
|
38
29
|
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
it "should mark step as pending when it doesn't match any procs" do
|
44
|
-
pending "think some more about what to expect here" do
|
45
|
-
m = StepMother.new
|
46
|
-
step = mock('step')
|
47
|
-
step.should_receive(:pending!)
|
48
|
-
raise "FIXME"
|
49
|
-
m.execute(step)
|
50
|
-
end
|
30
|
+
spec/cucumber/step_mother_spec.rb:23:in `/Three (.*) mice/'
|
31
|
+
spec/cucumber/step_mother_spec.rb:24:in `/Three blind (.*)/'
|
32
|
+
|
33
|
+
})
|
51
34
|
end
|
52
35
|
|
53
|
-
it "should
|
54
|
-
|
55
|
-
|
36
|
+
it "should not raise Ambiguous error when multiple step definitions match, but --guess is enabled" do
|
37
|
+
@step_mother.options = {:guess => true}
|
38
|
+
@step_mother.Given(/Three (.*) mice/) {|disability|}
|
39
|
+
@step_mother.Given(/Three (.*)/) {|animal|}
|
56
40
|
|
57
|
-
|
41
|
+
lambda do
|
42
|
+
@step_mother.step_definition("Three blind mice")
|
43
|
+
end.should_not raise_error
|
58
44
|
end
|
59
|
-
|
60
|
-
it "should report that a step does not have a definition if it has not been registered" do
|
61
|
-
m = StepMother.new
|
62
45
|
|
63
|
-
|
46
|
+
it "should pick right step definition when --guess is enabled and equal number of capture groups" do
|
47
|
+
@step_mother.options = {:guess => true}
|
48
|
+
right = @step_mother.Given(/Three (.*) mice/) {|disability|}
|
49
|
+
wrong = @step_mother.Given(/Three (.*)/) {|animal|}
|
50
|
+
@step_mother.step_definition("Three blind mice").should == right
|
64
51
|
end
|
65
52
|
|
66
|
-
it "should
|
67
|
-
|
53
|
+
it "should pick right step definition when --guess is enabled and unequal number of capture groups" do
|
54
|
+
@step_mother.options = {:guess => true}
|
55
|
+
right = @step_mother.Given(/Three (.*) mice ran (.*)/) {|disability|}
|
56
|
+
wrong = @step_mother.Given(/Three (.*)/) {|animal|}
|
57
|
+
@step_mother.step_definition("Three blind mice ran far").should == right
|
58
|
+
end
|
59
|
+
|
60
|
+
it "should raise Undefined error when no step definitions match" do
|
68
61
|
lambda do
|
69
|
-
|
70
|
-
end.should raise_error(
|
62
|
+
@step_mother.step_definition("Three blind mice")
|
63
|
+
end.should raise_error(Undefined)
|
71
64
|
end
|
72
65
|
|
66
|
+
it "should raise Redundant error when same regexp is registered twice" do
|
67
|
+
@step_mother.Given(/Three (.*) mice/) {|disability|}
|
68
|
+
lambda do
|
69
|
+
@step_mother.Given(/Three (.*) mice/) {|disability|}
|
70
|
+
end.should raise_error(Redundant)
|
71
|
+
end
|
73
72
|
end
|
74
73
|
end
|
@@ -4,7 +4,7 @@ Scenario Outline: Joe fails to login
|
|
4
4
|
Given I login as Joe without the '<Privilege>' privilege
|
5
5
|
When I <Request Method> /admin/<Path>
|
6
6
|
Then I should see the text "Sorry Joe, you're not allowed to see <Path>"
|
7
|
-
|
7
|
+
|
8
8
|
Examples:
|
9
9
|
| Privilege | Request Method | Path |
|
10
10
|
| user | GET | reports |
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# Uhm hai
|
2
|
+
# nai
|
3
|
+
@nice @hallo
|
4
|
+
Feature: With tags
|
5
|
+
|
6
|
+
@one @two
|
7
|
+
Scenario: Complete scenario
|
8
|
+
Given a valid API key
|
9
|
+
|
10
|
+
@three
|
11
|
+
Scenario: Will write at somepoint
|
12
|
+
|
13
|
+
@four @$$
|
14
|
+
Scenario: Another Complete scenario
|
15
|
+
Given an invalid API key
|
16
|
+
|
17
|
+
@six
|
18
|
+
Scenario Outline: Jalla
|
@@ -1,44 +1,45 @@
|
|
1
1
|
require File.dirname(__FILE__) + '/../../spec_helper'
|
2
2
|
|
3
3
|
module Cucumber
|
4
|
-
module
|
5
|
-
describe Pending do
|
4
|
+
module StepMother
|
5
|
+
describe 'Pending' do
|
6
6
|
|
7
7
|
before(:each) do
|
8
|
-
@
|
9
|
-
@
|
8
|
+
@step_mom = Object.new
|
9
|
+
@step_mom.extend(StepMother)
|
10
|
+
@world = @step_mom.new_world
|
10
11
|
end
|
11
12
|
|
12
|
-
it 'should raise a
|
13
|
+
it 'should raise a Pending if no block is supplied' do
|
13
14
|
lambda {
|
14
15
|
@world.pending "TODO"
|
15
|
-
}.should raise_error(
|
16
|
+
}.should raise_error(Pending, /TODO/)
|
16
17
|
end
|
17
18
|
|
18
|
-
it 'should raise a
|
19
|
+
it 'should raise a Pending if a supplied block fails as expected' do
|
19
20
|
lambda {
|
20
21
|
@world.pending "TODO" do
|
21
22
|
raise "oops"
|
22
23
|
end
|
23
|
-
}.should raise_error(
|
24
|
+
}.should raise_error(Pending, /TODO/)
|
24
25
|
end
|
25
26
|
|
26
|
-
it 'should raise a
|
27
|
+
it 'should raise a Pending if a supplied block fails as expected with a mock' do
|
27
28
|
lambda {
|
28
29
|
@world.pending "TODO" do
|
29
30
|
m = mock('thing')
|
30
31
|
m.should_receive(:foo)
|
31
32
|
m.rspec_verify
|
32
33
|
end
|
33
|
-
}.should raise_error(
|
34
|
+
}.should raise_error(Pending, /TODO/)
|
34
35
|
end
|
35
36
|
|
36
|
-
it 'should raise a
|
37
|
+
it 'should raise a Pending if a supplied block starts working' do
|
37
38
|
lambda {
|
38
39
|
@world.pending "TODO" do
|
39
40
|
# success!
|
40
41
|
end
|
41
|
-
}.should raise_error(
|
42
|
+
}.should raise_error(Pending, /TODO/)
|
42
43
|
end
|
43
44
|
|
44
45
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -6,8 +6,8 @@ ENV['CUCUMBER_COLORS']=nil
|
|
6
6
|
$KCODE='u'
|
7
7
|
$:.unshift(File.dirname(__FILE__) + '/../lib')
|
8
8
|
require 'cucumber'
|
9
|
-
require 'cucumber/treetop_parser/feature_en'
|
10
9
|
Cucumber.load_language('en')
|
10
|
+
$:.unshift(File.dirname(__FILE__))
|
11
11
|
|
12
12
|
::Term::ANSIColor.coloring = true
|
13
13
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kosmas58-cucumber
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.99.21
|
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-
|
12
|
+
date: 2009-02-06 00:00:00 -08:00
|
13
13
|
default_executable: cucumber
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -30,6 +30,15 @@ dependencies:
|
|
30
30
|
- !ruby/object:Gem::Version
|
31
31
|
version: 1.2.4
|
32
32
|
version:
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: polyglot
|
35
|
+
version_requirement:
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.2.4
|
41
|
+
version:
|
33
42
|
- !ruby/object:Gem::Dependency
|
34
43
|
name: diff-lcs
|
35
44
|
version_requirement:
|
@@ -46,7 +55,7 @@ dependencies:
|
|
46
55
|
requirements:
|
47
56
|
- - ">="
|
48
57
|
- !ruby/object:Gem::Version
|
49
|
-
version: 1.8.
|
58
|
+
version: 1.8.3
|
50
59
|
version:
|
51
60
|
description: Executable Feature scenarios
|
52
61
|
email:
|
@@ -71,9 +80,6 @@ files:
|
|
71
80
|
- config/hoe.rb
|
72
81
|
- config/requirements.rb
|
73
82
|
- cucumber.yml
|
74
|
-
- examples/calculator_ruby_features/Rakefile
|
75
|
-
- examples/calculator_ruby_features/features/addition.rb
|
76
|
-
- examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb
|
77
83
|
- examples/cs/README.textile
|
78
84
|
- examples/cs/Rakefile
|
79
85
|
- examples/cs/compile.bat
|
@@ -170,18 +176,45 @@ files:
|
|
170
176
|
- examples/java/features/step_definitons/hello_steps.rb
|
171
177
|
- examples/java/features/step_definitons/tree_steps.rb
|
172
178
|
- examples/java/features/tree.feature
|
179
|
+
- examples/java/src/cucumber/demo/Hello.java
|
180
|
+
- examples/jbehave/README.textile
|
181
|
+
- examples/jbehave/features/support/env.rb
|
182
|
+
- examples/jbehave/features/trading.feature
|
183
|
+
- examples/jbehave/pom.xml
|
184
|
+
- examples/jbehave/src/main/java/cukes/jbehave/examples/trader/converters/TraderConverter.java
|
185
|
+
- examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Stock.java
|
186
|
+
- examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Trader.java
|
187
|
+
- examples/jbehave/src/main/java/cukes/jbehave/examples/trader/persistence/TraderPersister.java
|
188
|
+
- examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java
|
173
189
|
- examples/selenium/Rakefile
|
174
190
|
- examples/selenium/features/search.feature
|
175
191
|
- examples/selenium/features/step_definitons/stories_steps.rb
|
176
192
|
- examples/self_test/README.textile
|
193
|
+
- examples/self_test/Rakefile
|
194
|
+
- examples/self_test/features/background/failing_background.feature
|
195
|
+
- examples/self_test/features/background/failing_background_after_success.feature
|
196
|
+
- examples/self_test/features/background/multiline_args_background.feature
|
197
|
+
- examples/self_test/features/background/passing_background.feature
|
198
|
+
- examples/self_test/features/background/pending_background.feature
|
199
|
+
- examples/self_test/features/background/scenario_outline_failing_background.feature
|
200
|
+
- examples/self_test/features/background/scenario_outline_passing_background.feature
|
201
|
+
- examples/self_test/features/call_undefined_step_from_step_def.feature
|
202
|
+
- examples/self_test/features/lots_of_undefined.feature
|
177
203
|
- examples/self_test/features/outline_sample.feature
|
178
204
|
- examples/self_test/features/sample.feature
|
179
205
|
- examples/self_test/features/step_definitions/sample_steps.rb
|
206
|
+
- examples/self_test/features/support/env.rb
|
207
|
+
- examples/self_test/features/support/tag_count_formatter.rb
|
180
208
|
- examples/test_unit/Rakefile
|
181
209
|
- examples/test_unit/features/step_definitions/test_unit_steps.rb
|
182
210
|
- examples/test_unit/features/test_unit.feature
|
183
211
|
- examples/tickets/Rakefile
|
184
212
|
- examples/tickets/cucumber.yml
|
213
|
+
- examples/tickets/features/172.feature
|
214
|
+
- examples/tickets/features/177/1.feature
|
215
|
+
- examples/tickets/features/177/2.feature
|
216
|
+
- examples/tickets/features/177/3.feature
|
217
|
+
- examples/tickets/features/180.feature
|
185
218
|
- examples/tickets/features/lib/eatting_machine.rb
|
186
219
|
- examples/tickets/features/lib/pantry.rb
|
187
220
|
- examples/tickets/features/scenario_outline.feature
|
@@ -193,8 +226,11 @@ files:
|
|
193
226
|
- examples/watir/features/search.feature
|
194
227
|
- examples/watir/features/step_definitons/search_steps.rb
|
195
228
|
- examples/watir/features/support/env.rb
|
229
|
+
- features/background.feature
|
196
230
|
- features/cucumber_cli.feature
|
197
231
|
- features/cucumber_cli_outlines.feature
|
232
|
+
- features/custom_formatter.feature
|
233
|
+
- features/report_called_undefined_steps.feature
|
198
234
|
- features/step_definitions/cucumber_steps.rb
|
199
235
|
- features/step_definitions/extra_steps.rb
|
200
236
|
- features/support/env.rb
|
@@ -204,8 +240,8 @@ files:
|
|
204
240
|
- gem_tasks/fix_cr_lf.rake
|
205
241
|
- gem_tasks/flog.rake
|
206
242
|
- gem_tasks/gemspec.rake
|
243
|
+
- gem_tasks/jar.rake
|
207
244
|
- gem_tasks/rspec.rake
|
208
|
-
- gem_tasks/treetop.rake
|
209
245
|
- gem_tasks/yard.rake
|
210
246
|
- lib/autotest/cucumber.rb
|
211
247
|
- lib/autotest/cucumber_mixin.rb
|
@@ -214,70 +250,60 @@ files:
|
|
214
250
|
- lib/autotest/cucumber_rspec.rb
|
215
251
|
- lib/autotest/discover.rb
|
216
252
|
- lib/cucumber.rb
|
253
|
+
- lib/cucumber/ast.rb
|
254
|
+
- lib/cucumber/ast/background.rb
|
255
|
+
- lib/cucumber/ast/comment.rb
|
256
|
+
- lib/cucumber/ast/examples.rb
|
257
|
+
- lib/cucumber/ast/feature.rb
|
258
|
+
- lib/cucumber/ast/features.rb
|
259
|
+
- lib/cucumber/ast/filter.rb
|
260
|
+
- lib/cucumber/ast/outline_table.rb
|
261
|
+
- lib/cucumber/ast/py_string.rb
|
262
|
+
- lib/cucumber/ast/scenario.rb
|
263
|
+
- lib/cucumber/ast/scenario_outline.rb
|
264
|
+
- lib/cucumber/ast/step.rb
|
265
|
+
- lib/cucumber/ast/steps.rb
|
266
|
+
- lib/cucumber/ast/table.rb
|
267
|
+
- lib/cucumber/ast/tags.rb
|
268
|
+
- lib/cucumber/ast/visitor.rb
|
217
269
|
- lib/cucumber/broadcaster.rb
|
218
|
-
- lib/cucumber/cli.rb
|
270
|
+
- lib/cucumber/cli/configuration.rb
|
271
|
+
- lib/cucumber/cli/language_help_formatter.rb
|
272
|
+
- lib/cucumber/cli/main.rb
|
219
273
|
- lib/cucumber/core_ext/exception.rb
|
274
|
+
- lib/cucumber/core_ext/instance_exec.rb
|
220
275
|
- lib/cucumber/core_ext/proc.rb
|
221
276
|
- lib/cucumber/core_ext/string.rb
|
222
|
-
- lib/cucumber/
|
223
|
-
- lib/cucumber/
|
224
|
-
- lib/cucumber/
|
225
|
-
- lib/cucumber/
|
226
|
-
- lib/cucumber/
|
227
|
-
- lib/cucumber/
|
228
|
-
- lib/cucumber/
|
229
|
-
- lib/cucumber/
|
230
|
-
- lib/cucumber/
|
231
|
-
- lib/cucumber/
|
232
|
-
- lib/cucumber/
|
277
|
+
- lib/cucumber/formatter.rb
|
278
|
+
- lib/cucumber/formatter/ansicolor.rb
|
279
|
+
- lib/cucumber/formatter/color_io.rb
|
280
|
+
- lib/cucumber/formatter/console.rb
|
281
|
+
- lib/cucumber/formatter/cucumber.css
|
282
|
+
- lib/cucumber/formatter/cucumber.sass
|
283
|
+
- lib/cucumber/formatter/html.rb
|
284
|
+
- lib/cucumber/formatter/pretty.rb
|
285
|
+
- lib/cucumber/formatter/profile.rb
|
286
|
+
- lib/cucumber/formatter/progress.rb
|
287
|
+
- lib/cucumber/formatter/rerun.rb
|
288
|
+
- lib/cucumber/formatter/unicode.rb
|
233
289
|
- lib/cucumber/formatters/unicode.rb
|
290
|
+
- lib/cucumber/jbehave.rb
|
234
291
|
- lib/cucumber/languages.yml
|
235
|
-
- lib/cucumber/
|
236
|
-
- lib/cucumber/
|
292
|
+
- lib/cucumber/parser.rb
|
293
|
+
- lib/cucumber/parser/basic.rb
|
294
|
+
- lib/cucumber/parser/feature.rb
|
295
|
+
- lib/cucumber/parser/feature.tt
|
296
|
+
- lib/cucumber/parser/i18n.tt
|
297
|
+
- lib/cucumber/parser/table.rb
|
298
|
+
- lib/cucumber/parser/table.tt
|
299
|
+
- lib/cucumber/parser/treetop_ext.rb
|
237
300
|
- lib/cucumber/platform.rb
|
238
301
|
- lib/cucumber/rails/rspec.rb
|
239
302
|
- lib/cucumber/rails/world.rb
|
240
303
|
- lib/cucumber/rake/task.rb
|
241
|
-
- lib/cucumber/
|
304
|
+
- lib/cucumber/step_definition.rb
|
242
305
|
- lib/cucumber/step_mother.rb
|
243
|
-
- lib/cucumber/tree.rb
|
244
|
-
- lib/cucumber/tree/feature.rb
|
245
|
-
- lib/cucumber/tree/features.rb
|
246
|
-
- lib/cucumber/tree/given_scenario.rb
|
247
|
-
- lib/cucumber/tree/scenario.rb
|
248
|
-
- lib/cucumber/tree/step.rb
|
249
|
-
- lib/cucumber/tree/table.rb
|
250
|
-
- lib/cucumber/tree/top_down_visitor.rb
|
251
|
-
- lib/cucumber/treetop_parser/feature.treetop.erb
|
252
|
-
- lib/cucumber/treetop_parser/feature_ar.rb
|
253
|
-
- lib/cucumber/treetop_parser/feature_cy.rb
|
254
|
-
- lib/cucumber/treetop_parser/feature_da.rb
|
255
|
-
- lib/cucumber/treetop_parser/feature_de.rb
|
256
|
-
- lib/cucumber/treetop_parser/feature_en-lol.rb
|
257
|
-
- lib/cucumber/treetop_parser/feature_en-tx.rb
|
258
|
-
- lib/cucumber/treetop_parser/feature_en.rb
|
259
|
-
- lib/cucumber/treetop_parser/feature_es.rb
|
260
|
-
- lib/cucumber/treetop_parser/feature_et.rb
|
261
|
-
- lib/cucumber/treetop_parser/feature_fi.rb
|
262
|
-
- lib/cucumber/treetop_parser/feature_fr.rb
|
263
|
-
- lib/cucumber/treetop_parser/feature_id.rb
|
264
|
-
- lib/cucumber/treetop_parser/feature_it.rb
|
265
|
-
- lib/cucumber/treetop_parser/feature_ja.rb
|
266
|
-
- lib/cucumber/treetop_parser/feature_ko.rb
|
267
|
-
- lib/cucumber/treetop_parser/feature_lt.rb
|
268
|
-
- lib/cucumber/treetop_parser/feature_nl.rb
|
269
|
-
- lib/cucumber/treetop_parser/feature_no.rb
|
270
|
-
- lib/cucumber/treetop_parser/feature_parser.rb
|
271
|
-
- lib/cucumber/treetop_parser/feature_pl.rb
|
272
|
-
- lib/cucumber/treetop_parser/feature_pt.rb
|
273
|
-
- lib/cucumber/treetop_parser/feature_ro.rb
|
274
|
-
- lib/cucumber/treetop_parser/feature_ro2.rb
|
275
|
-
- lib/cucumber/treetop_parser/feature_ru.rb
|
276
|
-
- lib/cucumber/treetop_parser/feature_se.rb
|
277
|
-
- lib/cucumber/treetop_parser/feature_zh-CN.rb
|
278
306
|
- lib/cucumber/version.rb
|
279
|
-
- lib/cucumber/world.rb
|
280
|
-
- lib/cucumber/world/pending.rb
|
281
307
|
- rails_generators/cucumber/USAGE
|
282
308
|
- rails_generators/cucumber/cucumber_generator.rb
|
283
309
|
- rails_generators/cucumber/templates/cucumber
|
@@ -289,37 +315,38 @@ files:
|
|
289
315
|
- rails_generators/feature/feature_generator.rb
|
290
316
|
- rails_generators/feature/templates/feature.erb
|
291
317
|
- rails_generators/feature/templates/steps.erb
|
292
|
-
-
|
318
|
+
- spec/cucumber/ast/background_spec.rb
|
319
|
+
- spec/cucumber/ast/feature_factory.rb
|
320
|
+
- spec/cucumber/ast/feature_spec.rb
|
321
|
+
- spec/cucumber/ast/py_string_spec.rb
|
322
|
+
- spec/cucumber/ast/scenario_outline_spec.rb
|
323
|
+
- spec/cucumber/ast/scenario_spec.rb
|
324
|
+
- spec/cucumber/ast/step_spec.rb
|
325
|
+
- spec/cucumber/ast/table_spec.rb
|
326
|
+
- spec/cucumber/ast/tags_spec.rb
|
293
327
|
- spec/cucumber/broadcaster_spec.rb
|
294
|
-
- spec/cucumber/
|
328
|
+
- spec/cucumber/cli/configuration_spec.rb
|
329
|
+
- spec/cucumber/cli/main_spec.rb
|
295
330
|
- spec/cucumber/core_ext/proc_spec.rb
|
296
331
|
- spec/cucumber/core_ext/string_spec.rb
|
297
|
-
- spec/cucumber/
|
298
|
-
- spec/cucumber/
|
299
|
-
- spec/cucumber/
|
300
|
-
- spec/cucumber/
|
301
|
-
- spec/cucumber/
|
302
|
-
- spec/cucumber/
|
332
|
+
- spec/cucumber/formatter/ansicolor_spec.rb
|
333
|
+
- spec/cucumber/formatter/html/cucumber.css
|
334
|
+
- spec/cucumber/formatter/html/cucumber.js
|
335
|
+
- spec/cucumber/formatter/html/index.html
|
336
|
+
- spec/cucumber/formatter/html/jquery-1.3.min.js
|
337
|
+
- spec/cucumber/formatter/html/jquery.uitableedit.js
|
303
338
|
- spec/cucumber/formatters/profile_formatter_spec.rb
|
304
|
-
- spec/cucumber/
|
305
|
-
- spec/cucumber/
|
339
|
+
- spec/cucumber/parser/feature_parser_spec.rb
|
340
|
+
- spec/cucumber/parser/table_parser_spec.rb
|
306
341
|
- spec/cucumber/rails/stubs/mini_rails.rb
|
307
342
|
- spec/cucumber/rails/stubs/test_help.rb
|
308
343
|
- spec/cucumber/rails/world_spec.rb
|
309
344
|
- spec/cucumber/sell_cucumbers.feature
|
345
|
+
- spec/cucumber/step_definition_spec.rb
|
310
346
|
- spec/cucumber/step_mother_spec.rb
|
311
|
-
- spec/cucumber/tree/feature_spec.rb
|
312
|
-
- spec/cucumber/tree/row_scenario_outline_spec.rb
|
313
|
-
- spec/cucumber/tree/row_scenario_spec.rb
|
314
|
-
- spec/cucumber/tree/row_step_outline_spec.rb
|
315
|
-
- spec/cucumber/tree/scenario_outline_spec.rb
|
316
|
-
- spec/cucumber/tree/scenario_spec.rb
|
317
|
-
- spec/cucumber/tree/step_outline_spec.rb
|
318
|
-
- spec/cucumber/tree/step_spec.rb
|
319
347
|
- spec/cucumber/treetop_parser/empty_feature.feature
|
320
348
|
- spec/cucumber/treetop_parser/empty_scenario.feature
|
321
349
|
- spec/cucumber/treetop_parser/empty_scenario_outline.feature
|
322
|
-
- spec/cucumber/treetop_parser/feature_parser_spec.rb
|
323
350
|
- spec/cucumber/treetop_parser/fit_scenario.feature
|
324
351
|
- spec/cucumber/treetop_parser/given_scenario.feature
|
325
352
|
- spec/cucumber/treetop_parser/invalid_scenario_outlines.feature
|
@@ -329,11 +356,12 @@ files:
|
|
329
356
|
- spec/cucumber/treetop_parser/spaces.feature
|
330
357
|
- spec/cucumber/treetop_parser/test_dos.feature
|
331
358
|
- spec/cucumber/treetop_parser/with_comments.feature
|
359
|
+
- spec/cucumber/treetop_parser/with_tags.feature
|
332
360
|
- spec/cucumber/world/pending_spec.rb
|
333
361
|
- spec/spec.opts
|
334
362
|
- spec/spec_helper.rb
|
335
363
|
has_rdoc: true
|
336
|
-
homepage: http://
|
364
|
+
homepage: http://cukes.info
|
337
365
|
post_install_message:
|
338
366
|
rdoc_options:
|
339
367
|
- --main
|