jwilger-cucumber 0.3.11.200906161550
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 +830 -0
- data/License.txt +20 -0
- data/Manifest.txt +410 -0
- data/README.txt +4 -0
- data/Rakefile +9 -0
- data/bin/cucumber +17 -0
- data/config/hoe.rb +76 -0
- data/config/requirements.rb +15 -0
- data/cucumber.yml +2 -0
- data/examples/cs/README.textile +1 -0
- data/examples/cs/Rakefile +12 -0
- data/examples/cs/compile.bat +1 -0
- data/examples/cs/features/addition.feature +16 -0
- data/examples/cs/features/step_definitons/calculator_steps.rb +19 -0
- data/examples/cs/src/demo/Calculator.cs +20 -0
- data/examples/dos_line_endings/Rakefile +6 -0
- data/examples/dos_line_endings/features/dos_line_endings.feature +9 -0
- data/examples/i18n/README.textile +18 -0
- data/examples/i18n/Rakefile +30 -0
- data/examples/i18n/ar/Rakefile +6 -0
- data/examples/i18n/ar/features/addition.feature +17 -0
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ar/lib/calculator.rb +11 -0
- data/examples/i18n/bg/Rakefile +6 -0
- data/examples/i18n/bg/features/addition.feature +12 -0
- data/examples/i18n/bg/features/consecutive_calculations.feature +19 -0
- data/examples/i18n/bg/features/division.feature +17 -0
- data/examples/i18n/bg/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/bg/features/support/env.rb +6 -0
- data/examples/i18n/bg/features/support/world.rb +8 -0
- data/examples/i18n/bg/lib/calculator.rb +24 -0
- data/examples/i18n/cat/Rakefile +6 -0
- data/examples/i18n/cat/features/step_definitons/calculator_steps.rb +21 -0
- data/examples/i18n/cat/features/suma.feature +17 -0
- data/examples/i18n/cat/lib/calculadora.rb +16 -0
- data/examples/i18n/da/Rakefile +6 -0
- data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +24 -0
- data/examples/i18n/da/features/summering.feature +18 -0
- data/examples/i18n/da/lib/kalkulator.rb +11 -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 +24 -0
- data/examples/i18n/de/lib/calculator.rb +14 -0
- data/examples/i18n/en/Rakefile +6 -0
- data/examples/i18n/en/features/addition.feature +17 -0
- data/examples/i18n/en/features/division.feature +10 -0
- data/examples/i18n/en/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/en/lib/calculator.rb +14 -0
- data/examples/i18n/en-lol/Rakefile +6 -0
- data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
- data/examples/i18n/en-lol/features/stuffing.feature +8 -0
- data/examples/i18n/en-lol/features/support/env.rb +8 -0
- data/examples/i18n/en-lol/lib/basket.rb +12 -0
- data/examples/i18n/en-lol/lib/belly.rb +11 -0
- data/examples/i18n/es/Rakefile +6 -0
- data/examples/i18n/es/features/adicion.feature +17 -0
- data/examples/i18n/es/features/step_definitons/calculador_steps.rb +21 -0
- data/examples/i18n/es/lib/calculador.rb +14 -0
- data/examples/i18n/et/Rakefile +6 -0
- data/examples/i18n/et/features/jagamine.feature +10 -0
- data/examples/i18n/et/features/liitmine.feature +17 -0
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +24 -0
- data/examples/i18n/et/lib/kalkulaator.rb +14 -0
- data/examples/i18n/fi/Rakefile +6 -0
- data/examples/i18n/fi/features/jakolasku.feature +10 -0
- data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +24 -0
- data/examples/i18n/fi/features/yhteenlasku.feature +16 -0
- data/examples/i18n/fi/lib/laskin.rb +14 -0
- data/examples/i18n/fr/Rakefile +6 -0
- data/examples/i18n/fr/features/addition.feature +18 -0
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +25 -0
- data/examples/i18n/fr/lib/calculatrice.rb +10 -0
- data/examples/i18n/he/Rakefile +6 -0
- data/examples/i18n/he/features/addition.feature +17 -0
- data/examples/i18n/he/features/division.feature +10 -0
- data/examples/i18n/he/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/he/lib/calculator.rb +14 -0
- data/examples/i18n/hu/Rakefile +6 -0
- data/examples/i18n/hu/features/addition.feature +17 -0
- data/examples/i18n/hu/features/division.feature +10 -0
- data/examples/i18n/hu/features/step_definitons/calculator_steps.rb +25 -0
- data/examples/i18n/hu/lib/calculator.rb +14 -0
- data/examples/i18n/id/Rakefile +6 -0
- data/examples/i18n/id/features/addition.feature +17 -0
- data/examples/i18n/id/features/division.feature +10 -0
- data/examples/i18n/id/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/id/lib/calculator.rb +14 -0
- data/examples/i18n/it/Rakefile +6 -0
- data/examples/i18n/it/features/somma.feature +11 -0
- data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +24 -0
- data/examples/i18n/it/lib/calcolatrice.rb +11 -0
- data/examples/i18n/ja/Rakefile +6 -0
- data/examples/i18n/ja/features/addition.feature +17 -0
- data/examples/i18n/ja/features/division.feature +10 -0
- data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ja/lib/calculator.rb +14 -0
- data/examples/i18n/ko/Rakefile +6 -0
- data/examples/i18n/ko/features/addition.feature +17 -0
- data/examples/i18n/ko/features/division.feature +11 -0
- data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ko/lib/calculator.rb +14 -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 +24 -0
- data/examples/i18n/lt/lib/calculator.rb +14 -0
- data/examples/i18n/lv/Rakefile +6 -0
- data/examples/i18n/lv/features/addition.feature +17 -0
- data/examples/i18n/lv/features/division.feature +10 -0
- data/examples/i18n/lv/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/lv/lib/calculator.rb +14 -0
- data/examples/i18n/no/Rakefile +6 -0
- data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +17 -0
- data/examples/i18n/no/features/summering.feature +19 -0
- data/examples/i18n/no/features/support/env.rb +6 -0
- data/examples/i18n/no/lib/kalkulator.rb +11 -0
- data/examples/i18n/pl/Rakefile +6 -0
- data/examples/i18n/pl/features/addition.feature +17 -0
- data/examples/i18n/pl/features/division.feature +10 -0
- data/examples/i18n/pl/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/pl/features/support/env.rb +6 -0
- data/examples/i18n/pl/lib/calculator.rb +14 -0
- data/examples/i18n/pt/Rakefile +6 -0
- data/examples/i18n/pt/features/adicao.feature +11 -0
- data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +20 -0
- data/examples/i18n/pt/features/support/env.rb +6 -0
- data/examples/i18n/pt/lib/calculadora.rb +10 -0
- data/examples/i18n/ro/Rakefile +6 -0
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ro/features/suma.feature +11 -0
- data/examples/i18n/ro/lib/calculator.rb +11 -0
- data/examples/i18n/ru/Rakefile +6 -0
- data/examples/i18n/ru/features/addition.feature +11 -0
- data/examples/i18n/ru/features/consecutive_calculations.feature +17 -0
- data/examples/i18n/ru/features/division.feature +16 -0
- data/examples/i18n/ru/features/step_definitons/calculator_steps.rb +19 -0
- data/examples/i18n/ru/features/support/env.rb +6 -0
- data/examples/i18n/ru/features/support/world.rb +8 -0
- data/examples/i18n/ru/lib/calculator.rb +24 -0
- data/examples/i18n/se/Rakefile +6 -0
- data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +24 -0
- data/examples/i18n/se/features/summering.feature +18 -0
- data/examples/i18n/se/lib/kalkulator.rb +11 -0
- data/examples/i18n/sk/Rakefile +6 -0
- data/examples/i18n/sk/features/addition.feature +17 -0
- data/examples/i18n/sk/features/division.feature +10 -0
- data/examples/i18n/sk/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/sk/lib/calculator.rb +14 -0
- data/examples/i18n/zh-CN/Rakefile +6 -0
- data/examples/i18n/zh-CN/features/addition.feature +18 -0
- data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +26 -0
- data/examples/i18n/zh-CN/lib/calculator.rb +10 -0
- data/examples/i18n/zh-TW/Rakefile +6 -0
- data/examples/i18n/zh-TW/features/addition.feature +17 -0
- data/examples/i18n/zh-TW/features/division.feature +11 -0
- data/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/zh-TW/lib/calculator.rb +14 -0
- data/examples/java/README.textile +18 -0
- data/examples/java/build.xml +33 -0
- data/examples/java/features/hello.feature +11 -0
- data/examples/java/features/step_definitons/hello_steps.rb +23 -0
- data/examples/java/features/step_definitons/tree_steps.rb +14 -0
- data/examples/java/features/tree.feature +9 -0
- data/examples/java/src/cucumber/demo/Hello.java +16 -0
- data/examples/junit/features/one_passing_one_failing.feature +8 -0
- data/examples/junit/features/pending.feature +5 -0
- data/examples/junit/features/step_definitions/steps.rb +11 -0
- data/examples/pure_java/README.textile +5 -0
- data/examples/selenium/Rakefile +6 -0
- data/examples/selenium/features/search.feature +9 -0
- data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
- data/examples/selenium/features/support/env.rb +19 -0
- data/examples/selenium_webrat/Rakefile +6 -0
- data/examples/selenium_webrat/config.ru +0 -0
- data/examples/selenium_webrat/features/search.feature +9 -0
- data/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
- data/examples/selenium_webrat/features/support/env.rb +45 -0
- data/examples/self_test/README.textile +6 -0
- data/examples/self_test/Rakefile +6 -0
- data/examples/self_test/features/background/background_tagged_before_on_outline.feature +12 -0
- data/examples/self_test/features/background/background_with_name.feature +7 -0
- data/examples/self_test/features/background/failing_background.feature +12 -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/failing_expectation.feature +4 -0
- data/examples/self_test/features/lots_of_undefined.feature +8 -0
- data/examples/self_test/features/multiline_name.feature +27 -0
- data/examples/self_test/features/outline_sample.feature +15 -0
- data/examples/self_test/features/sample.feature +21 -0
- data/examples/self_test/features/search_sample.feature +32 -0
- data/examples/self_test/features/step_definitions/sample_steps.rb +81 -0
- data/examples/self_test/features/support/env.rb +17 -0
- data/examples/self_test/features/tons_of_cukes.feature +52 -0
- data/examples/self_test/features/undefined_multiline_args.feature +12 -0
- data/examples/sinatra/Rakefile +6 -0
- data/examples/sinatra/app.rb +14 -0
- data/examples/sinatra/features/add.feature +11 -0
- data/examples/sinatra/features/step_definitions/add_steps.rb +15 -0
- data/examples/sinatra/features/support/env.rb +28 -0
- data/examples/sinatra/views/add.erb +5 -0
- data/examples/sinatra/views/layout.erb +8 -0
- data/examples/steps_library/features/step_definitions/steps_lib1.rb +8 -0
- data/examples/steps_library/features/step_definitions/steps_lib2.rb +8 -0
- data/examples/test_unit/Rakefile +6 -0
- data/examples/test_unit/features/step_definitions/test_unit_steps.rb +23 -0
- data/examples/test_unit/features/test_unit.feature +9 -0
- data/examples/tickets/Rakefile +16 -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/229/tagged_hooks.feature +8 -0
- data/examples/tickets/features/229/tagged_hooks.rb +14 -0
- data/examples/tickets/features/236.feature +13 -0
- data/examples/tickets/features/241.feature +13 -0
- data/examples/tickets/features/246.feature +4 -0
- data/examples/tickets/features/248.feature +11 -0
- data/examples/tickets/features/270/back.feature +14 -0
- data/examples/tickets/features/270/back.steps.rb +14 -0
- data/examples/tickets/features/272/hooks.feature +26 -0
- data/examples/tickets/features/272/hooks_steps.rb +53 -0
- data/examples/tickets/features/279/py_string_indent.feature +25 -0
- data/examples/tickets/features/279/py_string_indent.steps.rb +12 -0
- data/examples/tickets/features/279/wrong.feature_ +11 -0
- data/examples/tickets/features/301/filter_background_tagged_hooks.feature +6 -0
- data/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +12 -0
- data/examples/tickets/features/306/only_background.feature +4 -0
- data/examples/tickets/features/lib/eatting_machine.rb +18 -0
- data/examples/tickets/features/lib/pantry.rb +20 -0
- data/examples/tickets/features/scenario_outline.feature +95 -0
- data/examples/tickets/features/step_definitons/246_steps.rb +3 -0
- data/examples/tickets/features/step_definitons/248_steps.rb +15 -0
- data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +42 -0
- data/examples/tickets/features/step_definitons/tickets_steps.rb +66 -0
- data/examples/tickets/features/tickets.feature +28 -0
- data/examples/watir/README.textile +16 -0
- data/examples/watir/Rakefile +6 -0
- data/examples/watir/features/search.feature +12 -0
- data/examples/watir/features/step_definitons/search_steps.rb +22 -0
- data/examples/watir/features/support/env.rb +32 -0
- data/features/after_block_exceptions.feature +102 -0
- data/features/after_step_block_exceptions.feature +104 -0
- data/features/background.feature +311 -0
- data/features/bug_371.feature +32 -0
- data/features/cucumber_cli.feature +549 -0
- data/features/cucumber_cli_diff_disabled.feature +53 -0
- data/features/cucumber_cli_outlines.feature +109 -0
- data/features/custom_formatter.feature +11 -0
- data/features/drb_server_integration.feature +115 -0
- data/features/exclude_files.feature +20 -0
- data/features/expand.feature +49 -0
- data/features/html_formatter/a.html +185 -0
- data/features/html_formatter.feature +7 -0
- data/features/junit_formatter.feature +71 -0
- data/features/language_from_header.feature +30 -0
- data/features/multiline_names.feature +43 -0
- data/features/rake_task.feature +150 -0
- data/features/report_called_undefined_steps.feature +35 -0
- data/features/snippet.feature +22 -0
- data/features/step_definitions/cucumber_steps.rb +130 -0
- data/features/step_definitions/extra_steps.rb +2 -0
- data/features/steps_formatter.feature +25 -0
- data/features/support/env.rb +120 -0
- data/features/usage.feature +126 -0
- data/features/work_in_progress.feature +151 -0
- data/gem_tasks/deployment.rake +11 -0
- data/gem_tasks/environment.rake +7 -0
- data/gem_tasks/features.rake +10 -0
- data/gem_tasks/fix_cr_lf.rake +10 -0
- data/gem_tasks/flog.rake +4 -0
- data/gem_tasks/gemspec.rake +10 -0
- data/gem_tasks/rspec.rake +45 -0
- data/gem_tasks/sass.rake +4 -0
- data/gem_tasks/yard.rake +8 -0
- data/lib/autotest/cucumber.rb +6 -0
- data/lib/autotest/cucumber_mixin.rb +125 -0
- data/lib/autotest/cucumber_rails.rb +6 -0
- data/lib/autotest/cucumber_rails_rspec.rb +6 -0
- data/lib/autotest/cucumber_rspec.rb +6 -0
- data/lib/autotest/discover.rb +9 -0
- data/lib/cucumber/ast/background.rb +62 -0
- data/lib/cucumber/ast/comment.rb +30 -0
- data/lib/cucumber/ast/examples.rb +26 -0
- data/lib/cucumber/ast/feature.rb +58 -0
- data/lib/cucumber/ast/feature_element.rb +57 -0
- data/lib/cucumber/ast/features.rb +30 -0
- data/lib/cucumber/ast/outline_table.rb +143 -0
- data/lib/cucumber/ast/py_string.rb +57 -0
- data/lib/cucumber/ast/scenario.rb +83 -0
- data/lib/cucumber/ast/scenario_outline.rb +93 -0
- data/lib/cucumber/ast/step.rb +112 -0
- data/lib/cucumber/ast/step_collection.rb +75 -0
- data/lib/cucumber/ast/step_invocation.rb +136 -0
- data/lib/cucumber/ast/table.rb +334 -0
- data/lib/cucumber/ast/tags.rb +33 -0
- data/lib/cucumber/ast/visitor.rb +116 -0
- data/lib/cucumber/ast.rb +29 -0
- data/lib/cucumber/broadcaster.rb +13 -0
- data/lib/cucumber/cli/configuration.rb +427 -0
- data/lib/cucumber/cli/drb_client.rb +20 -0
- data/lib/cucumber/cli/language_help_formatter.rb +59 -0
- data/lib/cucumber/cli/main.rb +136 -0
- data/lib/cucumber/core_ext/exception.rb +53 -0
- data/lib/cucumber/core_ext/instance_exec.rb +67 -0
- data/lib/cucumber/core_ext/proc.rb +29 -0
- data/lib/cucumber/core_ext/string.rb +48 -0
- data/lib/cucumber/feature_file.rb +47 -0
- data/lib/cucumber/filter.rb +50 -0
- data/lib/cucumber/formatter/ansicolor.rb +110 -0
- data/lib/cucumber/formatter/color_io.rb +23 -0
- data/lib/cucumber/formatter/console.rb +149 -0
- data/lib/cucumber/formatter/cucumber.css +132 -0
- data/lib/cucumber/formatter/cucumber.sass +139 -0
- data/lib/cucumber/formatter/duration.rb +10 -0
- data/lib/cucumber/formatter/html.rb +258 -0
- data/lib/cucumber/formatter/junit.rb +75 -0
- data/lib/cucumber/formatter/pretty.rb +188 -0
- data/lib/cucumber/formatter/profile.rb +77 -0
- data/lib/cucumber/formatter/progress.rb +60 -0
- data/lib/cucumber/formatter/rerun.rb +44 -0
- data/lib/cucumber/formatter/steps.rb +49 -0
- data/lib/cucumber/formatter/tag_cloud.rb +28 -0
- data/lib/cucumber/formatter/unicode.rb +35 -0
- data/lib/cucumber/formatter/usage.rb +85 -0
- data/lib/cucumber/formatters/unicode.rb +7 -0
- data/lib/cucumber/languages.yml +532 -0
- data/lib/cucumber/parser/feature.rb +1787 -0
- data/lib/cucumber/parser/feature.tt +324 -0
- data/lib/cucumber/parser/i18n/language.rb +80 -0
- data/lib/cucumber/parser/i18n.tt +42 -0
- data/lib/cucumber/parser/table.rb +414 -0
- data/lib/cucumber/parser/table.tt +71 -0
- data/lib/cucumber/parser/treetop_ext.rb +52 -0
- data/lib/cucumber/parser.rb +6 -0
- data/lib/cucumber/platform.rb +23 -0
- data/lib/cucumber/rails/rspec.rb +10 -0
- data/lib/cucumber/rails/world.rb +99 -0
- data/lib/cucumber/rake/task.rb +233 -0
- data/lib/cucumber/rspec_neuter.rb +23 -0
- data/lib/cucumber/step_definition.rb +122 -0
- data/lib/cucumber/step_match.rb +61 -0
- data/lib/cucumber/step_mother.rb +362 -0
- data/lib/cucumber/version.rb +10 -0
- data/lib/cucumber/world.rb +53 -0
- data/lib/cucumber.rb +11 -0
- data/rails_generators/cucumber/USAGE +11 -0
- data/rails_generators/cucumber/cucumber_generator.rb +66 -0
- data/rails_generators/cucumber/templates/cucumber +8 -0
- data/rails_generators/cucumber/templates/cucumber.rake +20 -0
- data/rails_generators/cucumber/templates/cucumber_environment.rb +23 -0
- data/rails_generators/cucumber/templates/env.rb +26 -0
- data/rails_generators/cucumber/templates/paths.rb +27 -0
- data/rails_generators/cucumber/templates/spork_env.rb +36 -0
- data/rails_generators/cucumber/templates/webrat_steps.rb +147 -0
- data/rails_generators/feature/USAGE +12 -0
- data/rails_generators/feature/feature_generator.rb +40 -0
- data/rails_generators/feature/templates/feature.erb +31 -0
- data/rails_generators/feature/templates/steps.erb +20 -0
- data/spec/cucumber/ast/background_spec.rb +50 -0
- data/spec/cucumber/ast/feature_element_spec.rb +40 -0
- data/spec/cucumber/ast/feature_factory.rb +63 -0
- data/spec/cucumber/ast/feature_spec.rb +38 -0
- data/spec/cucumber/ast/py_string_spec.rb +51 -0
- data/spec/cucumber/ast/scenario_outline_spec.rb +67 -0
- data/spec/cucumber/ast/scenario_spec.rb +38 -0
- data/spec/cucumber/ast/step_collection_spec.rb +17 -0
- data/spec/cucumber/ast/step_spec.rb +66 -0
- data/spec/cucumber/ast/table_spec.rb +186 -0
- data/spec/cucumber/ast/visitor_spec.rb +27 -0
- data/spec/cucumber/broadcaster_spec.rb +15 -0
- data/spec/cucumber/cli/configuration_spec.rb +396 -0
- data/spec/cucumber/cli/drb_client_spec.rb +43 -0
- data/spec/cucumber/cli/main_spec.rb +140 -0
- data/spec/cucumber/core_ext/proc_spec.rb +54 -0
- data/spec/cucumber/core_ext/string_spec.rb +42 -0
- data/spec/cucumber/formatter/ansicolor_spec.rb +35 -0
- data/spec/cucumber/formatter/color_io_spec.rb +27 -0
- data/spec/cucumber/formatter/duration_spec.rb +22 -0
- data/spec/cucumber/formatter/progress_spec.rb +36 -0
- data/spec/cucumber/parser/feature_parser_spec.rb +387 -0
- data/spec/cucumber/parser/table_parser_spec.rb +48 -0
- data/spec/cucumber/rails/stubs/mini_rails.rb +18 -0
- data/spec/cucumber/rails/stubs/test_help.rb +1 -0
- data/spec/cucumber/rails/world_spec.rb +11 -0
- data/spec/cucumber/sell_cucumbers.feature +19 -0
- data/spec/cucumber/step_definition_spec.rb +101 -0
- data/spec/cucumber/step_mother_spec.rb +155 -0
- data/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
- data/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
- data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +3 -0
- data/spec/cucumber/treetop_parser/fit_scenario.feature +8 -0
- data/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
- data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +7 -0
- data/spec/cucumber/treetop_parser/multiline_steps.feature +17 -0
- data/spec/cucumber/treetop_parser/multiple_tables.feature +27 -0
- data/spec/cucumber/treetop_parser/scenario_outline.feature +16 -0
- data/spec/cucumber/treetop_parser/spaces.feature +12 -0
- data/spec/cucumber/treetop_parser/test_dos.feature +25 -0
- data/spec/cucumber/treetop_parser/with_comments.feature +10 -0
- data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
- data/spec/cucumber/world/pending_spec.rb +47 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +13 -0
- metadata +506 -0
@@ -0,0 +1,549 @@
|
|
1
|
+
Feature: Cucumber command line
|
2
|
+
In order to write better software
|
3
|
+
Developers should be able to execute requirements as tests
|
4
|
+
|
5
|
+
Scenario: Run single scenario with missing step definition
|
6
|
+
When I run cucumber -q features/sample.feature:5
|
7
|
+
Then it should pass with
|
8
|
+
"""
|
9
|
+
# Feature comment
|
10
|
+
@one
|
11
|
+
Feature: Sample
|
12
|
+
|
13
|
+
@two @three
|
14
|
+
Scenario: Missing
|
15
|
+
Given missing
|
16
|
+
|
17
|
+
1 scenario (1 undefined)
|
18
|
+
1 step (1 undefined)
|
19
|
+
|
20
|
+
"""
|
21
|
+
|
22
|
+
Scenario: Fail with --strict
|
23
|
+
When I run cucumber -q features/sample.feature:5 --strict
|
24
|
+
Then it should fail with
|
25
|
+
"""
|
26
|
+
# Feature comment
|
27
|
+
@one
|
28
|
+
Feature: Sample
|
29
|
+
|
30
|
+
@two @three
|
31
|
+
Scenario: Missing
|
32
|
+
Given missing
|
33
|
+
Undefined step: "missing" (Cucumber::Undefined)
|
34
|
+
features/sample.feature:7:in `Given missing'
|
35
|
+
|
36
|
+
1 scenario (1 undefined)
|
37
|
+
1 step (1 undefined)
|
38
|
+
|
39
|
+
"""
|
40
|
+
|
41
|
+
Scenario: Succeed with --strict
|
42
|
+
When I run cucumber -q features/sample.feature:10 --strict
|
43
|
+
Then it should pass with
|
44
|
+
"""
|
45
|
+
# Feature comment
|
46
|
+
@one
|
47
|
+
Feature: Sample
|
48
|
+
|
49
|
+
# Scenario comment
|
50
|
+
@three
|
51
|
+
Scenario: Passing
|
52
|
+
Given passing
|
53
|
+
| a | b |
|
54
|
+
| c | d |
|
55
|
+
|
56
|
+
1 scenario (1 passed)
|
57
|
+
1 step (1 passed)
|
58
|
+
|
59
|
+
"""
|
60
|
+
|
61
|
+
@mri186
|
62
|
+
Scenario: Specify 2 line numbers where one is a tag
|
63
|
+
When I run cucumber -q features/sample.feature:5:16
|
64
|
+
Then it should fail with
|
65
|
+
"""
|
66
|
+
# Feature comment
|
67
|
+
@one
|
68
|
+
Feature: Sample
|
69
|
+
|
70
|
+
@two @three
|
71
|
+
Scenario: Missing
|
72
|
+
Given missing
|
73
|
+
|
74
|
+
@four
|
75
|
+
Scenario: Failing
|
76
|
+
Given failing
|
77
|
+
\"\"\"
|
78
|
+
hello
|
79
|
+
\"\"\"
|
80
|
+
FAIL (RuntimeError)
|
81
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
82
|
+
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
83
|
+
features/sample.feature:18:in `Given failing'
|
84
|
+
|
85
|
+
Failing Scenarios:
|
86
|
+
cucumber features/sample.feature:17 # Scenario: Failing
|
87
|
+
|
88
|
+
2 scenarios (1 failed, 1 undefined)
|
89
|
+
2 steps (1 failed, 1 undefined)
|
90
|
+
|
91
|
+
"""
|
92
|
+
|
93
|
+
Scenario: Require missing step definition from elsewhere
|
94
|
+
When I run cucumber -q -r ../../features/step_definitions/extra_steps.rb features/sample.feature:5
|
95
|
+
Then it should pass with
|
96
|
+
"""
|
97
|
+
# Feature comment
|
98
|
+
@one
|
99
|
+
Feature: Sample
|
100
|
+
|
101
|
+
@two @three
|
102
|
+
Scenario: Missing
|
103
|
+
Given missing
|
104
|
+
|
105
|
+
1 scenario (1 passed)
|
106
|
+
1 step (1 passed)
|
107
|
+
|
108
|
+
"""
|
109
|
+
|
110
|
+
Scenario: Specify the line number of a row
|
111
|
+
When I run cucumber -q features/sample.feature:12
|
112
|
+
Then it should pass with
|
113
|
+
"""
|
114
|
+
# Feature comment
|
115
|
+
@one
|
116
|
+
Feature: Sample
|
117
|
+
|
118
|
+
# Scenario comment
|
119
|
+
@three
|
120
|
+
Scenario: Passing
|
121
|
+
Given passing
|
122
|
+
| a | b |
|
123
|
+
| c | d |
|
124
|
+
|
125
|
+
1 scenario (1 passed)
|
126
|
+
1 step (1 passed)
|
127
|
+
|
128
|
+
"""
|
129
|
+
|
130
|
+
@mri186
|
131
|
+
Scenario: Run all with progress formatter
|
132
|
+
When I run cucumber -q --format progress features/sample.feature
|
133
|
+
Then it should fail with
|
134
|
+
"""
|
135
|
+
U.F
|
136
|
+
|
137
|
+
(::) failed steps (::)
|
138
|
+
|
139
|
+
FAIL (RuntimeError)
|
140
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
141
|
+
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
142
|
+
features/sample.feature:18:in `Given failing'
|
143
|
+
|
144
|
+
Failing Scenarios:
|
145
|
+
cucumber features/sample.feature:17 # Scenario: Failing
|
146
|
+
|
147
|
+
3 scenarios (1 failed, 1 undefined, 1 passed)
|
148
|
+
3 steps (1 failed, 1 undefined, 1 passed)
|
149
|
+
|
150
|
+
"""
|
151
|
+
|
152
|
+
Scenario: Run Norwegian
|
153
|
+
Given I am in i18n/no
|
154
|
+
When I run cucumber -q --language no features
|
155
|
+
Then it should pass with
|
156
|
+
"""
|
157
|
+
# language: no
|
158
|
+
Egenskap: Summering
|
159
|
+
For å slippe å gjøre dumme feil
|
160
|
+
Som en regnskapsfører
|
161
|
+
Vil jeg kunne legge sammen
|
162
|
+
|
163
|
+
Scenario: to tall
|
164
|
+
Gitt at jeg har tastet inn 5
|
165
|
+
Og at jeg har tastet inn 7
|
166
|
+
Når jeg summerer
|
167
|
+
Så skal resultatet være 12
|
168
|
+
|
169
|
+
@iterasjon3
|
170
|
+
Scenario: tre tall
|
171
|
+
Gitt at jeg har tastet inn 5
|
172
|
+
Og at jeg har tastet inn 7
|
173
|
+
Og at jeg har tastet inn 1
|
174
|
+
Når jeg summerer
|
175
|
+
Så skal resultatet være 13
|
176
|
+
|
177
|
+
2 scenarios (2 passed)
|
178
|
+
9 steps (9 passed)
|
179
|
+
|
180
|
+
"""
|
181
|
+
|
182
|
+
Scenario: --dry-run
|
183
|
+
When I run cucumber --dry-run --no-snippets features/*.feature --tags ~@lots
|
184
|
+
Then it should pass with
|
185
|
+
"""
|
186
|
+
Feature: Calling undefined step
|
187
|
+
|
188
|
+
Scenario: Call directly
|
189
|
+
Given a step definition that calls an undefined step
|
190
|
+
|
191
|
+
Scenario: Call via another
|
192
|
+
Given call step "a step definition that calls an undefined step"
|
193
|
+
|
194
|
+
Feature: Failing expectation
|
195
|
+
|
196
|
+
Scenario: Failing expectation
|
197
|
+
Given failing expectation
|
198
|
+
|
199
|
+
Feature: Lots of undefined
|
200
|
+
|
201
|
+
Scenario: Implement me
|
202
|
+
Given it snows in Sahara
|
203
|
+
Given it's 40 degrees in Norway
|
204
|
+
And it's 40 degrees in Norway
|
205
|
+
When I stop procrastinating
|
206
|
+
And there is world peace
|
207
|
+
|
208
|
+
Feature: multiline
|
209
|
+
|
210
|
+
Background: I'm a multiline name
|
211
|
+
which goes on and on and on for three lines
|
212
|
+
yawn
|
213
|
+
Given passing without a table
|
214
|
+
|
215
|
+
Scenario: I'm a multiline name
|
216
|
+
which goes on and on and on for three lines
|
217
|
+
yawn
|
218
|
+
Given passing without a table
|
219
|
+
|
220
|
+
Scenario Outline: I'm a multiline name
|
221
|
+
which goes on and on and on for three lines
|
222
|
+
yawn
|
223
|
+
Given <state> without a table
|
224
|
+
|
225
|
+
Examples:
|
226
|
+
| state |
|
227
|
+
| passing |
|
228
|
+
|
229
|
+
Scenario Outline: name
|
230
|
+
Given <state> without a table
|
231
|
+
|
232
|
+
Examples: I'm a multiline name
|
233
|
+
which goes on and on and on for three lines
|
234
|
+
yawn
|
235
|
+
| state |
|
236
|
+
| passing |
|
237
|
+
|
238
|
+
Feature: Outline Sample
|
239
|
+
|
240
|
+
Scenario: I have no steps
|
241
|
+
|
242
|
+
Scenario Outline: Test state
|
243
|
+
Given <state> without a table
|
244
|
+
Given <other_state> without a table
|
245
|
+
|
246
|
+
Examples: Rainbow colours
|
247
|
+
| state | other_state |
|
248
|
+
| missing | passing |
|
249
|
+
| passing | passing |
|
250
|
+
| failing | passing |
|
251
|
+
|
252
|
+
Examples: Only passing
|
253
|
+
| state | other_state |
|
254
|
+
| passing | passing |
|
255
|
+
|
256
|
+
# Feature comment
|
257
|
+
@one
|
258
|
+
Feature: Sample
|
259
|
+
|
260
|
+
@two @three
|
261
|
+
Scenario: Missing
|
262
|
+
Given missing
|
263
|
+
|
264
|
+
# Scenario comment
|
265
|
+
@three
|
266
|
+
Scenario: Passing
|
267
|
+
Given passing
|
268
|
+
| a | b |
|
269
|
+
| c | d |
|
270
|
+
|
271
|
+
@four
|
272
|
+
Scenario: Failing
|
273
|
+
Given failing
|
274
|
+
\"\"\"
|
275
|
+
hello
|
276
|
+
\"\"\"
|
277
|
+
|
278
|
+
Feature: search examples
|
279
|
+
|
280
|
+
Background: Hantu Pisang background match
|
281
|
+
Given passing without a table
|
282
|
+
|
283
|
+
Scenario: should match Hantu Pisang
|
284
|
+
Given passing without a table
|
285
|
+
|
286
|
+
Scenario: Ignore me
|
287
|
+
Given failing without a table
|
288
|
+
|
289
|
+
Scenario Outline: Ignore me
|
290
|
+
Given <state> without a table
|
291
|
+
|
292
|
+
Examples:
|
293
|
+
| state |
|
294
|
+
| failing |
|
295
|
+
|
296
|
+
Scenario Outline: Hantu Pisang match
|
297
|
+
Given <state> without a table
|
298
|
+
|
299
|
+
Examples:
|
300
|
+
| state |
|
301
|
+
| passing |
|
302
|
+
|
303
|
+
Scenario Outline: no match in name but in examples
|
304
|
+
Given <state> without a table
|
305
|
+
|
306
|
+
Examples: Hantu Pisang
|
307
|
+
| state |
|
308
|
+
| passing |
|
309
|
+
|
310
|
+
Examples: Ignore me
|
311
|
+
| state |
|
312
|
+
| failing |
|
313
|
+
|
314
|
+
Feature: undefined multiline args
|
315
|
+
|
316
|
+
Scenario: pystring
|
317
|
+
Given a pystring
|
318
|
+
\"\"\"
|
319
|
+
example
|
320
|
+
\"\"\"
|
321
|
+
|
322
|
+
Scenario: table
|
323
|
+
Given a table
|
324
|
+
| table |
|
325
|
+
| example |
|
326
|
+
|
327
|
+
23 scenarios (17 skipped, 5 undefined, 1 passed)
|
328
|
+
39 steps (30 skipped, 9 undefined)
|
329
|
+
|
330
|
+
"""
|
331
|
+
|
332
|
+
Scenario: Multiple formatters and outputs
|
333
|
+
When I run cucumber --format progress --out tmp/progress.txt --format pretty --out tmp/pretty.txt --dry-run features/lots_of_undefined.feature
|
334
|
+
And "examples/self_test/tmp/progress.txt" should contain
|
335
|
+
"""
|
336
|
+
UUUUU
|
337
|
+
|
338
|
+
1 scenario (1 undefined)
|
339
|
+
5 steps (5 undefined)
|
340
|
+
|
341
|
+
"""
|
342
|
+
And "examples/self_test/tmp/pretty.txt" should contain
|
343
|
+
"""
|
344
|
+
Feature: Lots of undefined
|
345
|
+
|
346
|
+
Scenario: Implement me
|
347
|
+
Given it snows in Sahara
|
348
|
+
Given it's 40 degrees in Norway
|
349
|
+
And it's 40 degrees in Norway
|
350
|
+
When I stop procrastinating
|
351
|
+
And there is world peace
|
352
|
+
|
353
|
+
1 scenario (1 undefined)
|
354
|
+
5 steps (5 undefined)
|
355
|
+
|
356
|
+
"""
|
357
|
+
|
358
|
+
Scenario: Run feature elements which matches a name using --name
|
359
|
+
When I run cucumber --name Pisang -q features/
|
360
|
+
Then it should pass with
|
361
|
+
"""
|
362
|
+
Feature: search examples
|
363
|
+
|
364
|
+
Background: Hantu Pisang background match
|
365
|
+
Given passing without a table
|
366
|
+
|
367
|
+
Scenario: should match Hantu Pisang
|
368
|
+
Given passing without a table
|
369
|
+
|
370
|
+
Scenario Outline: Hantu Pisang match
|
371
|
+
Given <state> without a table
|
372
|
+
|
373
|
+
Examples:
|
374
|
+
| state |
|
375
|
+
| passing |
|
376
|
+
|
377
|
+
Scenario Outline: no match in name but in examples
|
378
|
+
Given <state> without a table
|
379
|
+
|
380
|
+
Examples: Hantu Pisang
|
381
|
+
| state |
|
382
|
+
| passing |
|
383
|
+
|
384
|
+
3 scenarios (3 passed)
|
385
|
+
6 steps (6 passed)
|
386
|
+
|
387
|
+
"""
|
388
|
+
|
389
|
+
Scenario: Run a single background which matches a name using --name (Useful if there is an error in it)
|
390
|
+
When I run cucumber --name 'Hantu Pisang background' -q features/
|
391
|
+
Then it should pass with
|
392
|
+
"""
|
393
|
+
Feature: search examples
|
394
|
+
|
395
|
+
Background: Hantu Pisang background match
|
396
|
+
Given passing without a table
|
397
|
+
|
398
|
+
0 scenarios
|
399
|
+
1 step (1 passed)
|
400
|
+
|
401
|
+
"""
|
402
|
+
|
403
|
+
|
404
|
+
Scenario: Run with a tag that exists on 2 scenarios
|
405
|
+
When I run cucumber -q features --tags three
|
406
|
+
Then it should pass with
|
407
|
+
"""
|
408
|
+
# Feature comment
|
409
|
+
@one
|
410
|
+
Feature: Sample
|
411
|
+
|
412
|
+
@two @three
|
413
|
+
Scenario: Missing
|
414
|
+
Given missing
|
415
|
+
|
416
|
+
# Scenario comment
|
417
|
+
@three
|
418
|
+
Scenario: Passing
|
419
|
+
Given passing
|
420
|
+
| a | b |
|
421
|
+
| c | d |
|
422
|
+
|
423
|
+
2 scenarios (1 undefined, 1 passed)
|
424
|
+
2 steps (1 undefined, 1 passed)
|
425
|
+
|
426
|
+
"""
|
427
|
+
|
428
|
+
@mri186
|
429
|
+
Scenario: Run with a tag that exists on 1 feature
|
430
|
+
When I run cucumber -q features --tags one
|
431
|
+
Then it should fail with
|
432
|
+
"""
|
433
|
+
# Feature comment
|
434
|
+
@one
|
435
|
+
Feature: Sample
|
436
|
+
|
437
|
+
@two @three
|
438
|
+
Scenario: Missing
|
439
|
+
Given missing
|
440
|
+
|
441
|
+
# Scenario comment
|
442
|
+
@three
|
443
|
+
Scenario: Passing
|
444
|
+
Given passing
|
445
|
+
| a | b |
|
446
|
+
| c | d |
|
447
|
+
|
448
|
+
@four
|
449
|
+
Scenario: Failing
|
450
|
+
Given failing
|
451
|
+
\"\"\"
|
452
|
+
hello
|
453
|
+
\"\"\"
|
454
|
+
FAIL (RuntimeError)
|
455
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
456
|
+
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
457
|
+
features/sample.feature:18:in `Given failing'
|
458
|
+
|
459
|
+
Failing Scenarios:
|
460
|
+
cucumber features/sample.feature:17 # Scenario: Failing
|
461
|
+
|
462
|
+
3 scenarios (1 failed, 1 undefined, 1 passed)
|
463
|
+
3 steps (1 failed, 1 undefined, 1 passed)
|
464
|
+
|
465
|
+
"""
|
466
|
+
|
467
|
+
Scenario: Run with a negative tag
|
468
|
+
When I run cucumber -q features/sample.feature --dry-run -t ~four
|
469
|
+
Then it should pass with
|
470
|
+
"""
|
471
|
+
# Feature comment
|
472
|
+
@one
|
473
|
+
Feature: Sample
|
474
|
+
|
475
|
+
@two @three
|
476
|
+
Scenario: Missing
|
477
|
+
Given missing
|
478
|
+
|
479
|
+
# Scenario comment
|
480
|
+
@three
|
481
|
+
Scenario: Passing
|
482
|
+
Given passing
|
483
|
+
| a | b |
|
484
|
+
| c | d |
|
485
|
+
|
486
|
+
2 scenarios (1 skipped, 1 undefined)
|
487
|
+
2 steps (1 skipped, 1 undefined)
|
488
|
+
|
489
|
+
"""
|
490
|
+
|
491
|
+
Scenario: Reformat files with --autoformat
|
492
|
+
When I run cucumber --autoformat tmp/formatted features
|
493
|
+
Then "examples/self_test/tmp/formatted/features/sample.feature" should contain
|
494
|
+
"""
|
495
|
+
# Feature comment
|
496
|
+
@one
|
497
|
+
Feature: Sample
|
498
|
+
|
499
|
+
@two @three
|
500
|
+
Scenario: Missing
|
501
|
+
Given missing
|
502
|
+
|
503
|
+
# Scenario comment
|
504
|
+
@three
|
505
|
+
Scenario: Passing
|
506
|
+
Given passing
|
507
|
+
| a | b |
|
508
|
+
| c | d |
|
509
|
+
|
510
|
+
@four
|
511
|
+
Scenario: Failing
|
512
|
+
Given failing
|
513
|
+
\"\"\"
|
514
|
+
hello
|
515
|
+
\"\"\"
|
516
|
+
|
517
|
+
|
518
|
+
"""
|
519
|
+
|
520
|
+
Scenario: Run feature elements which match a name using -n
|
521
|
+
When I run cucumber -n Pisang -q features/
|
522
|
+
Then it should pass with
|
523
|
+
"""
|
524
|
+
Feature: search examples
|
525
|
+
|
526
|
+
Background: Hantu Pisang background match
|
527
|
+
Given passing without a table
|
528
|
+
|
529
|
+
Scenario: should match Hantu Pisang
|
530
|
+
Given passing without a table
|
531
|
+
|
532
|
+
Scenario Outline: Hantu Pisang match
|
533
|
+
Given <state> without a table
|
534
|
+
|
535
|
+
Examples:
|
536
|
+
| state |
|
537
|
+
| passing |
|
538
|
+
|
539
|
+
Scenario Outline: no match in name but in examples
|
540
|
+
Given <state> without a table
|
541
|
+
|
542
|
+
Examples: Hantu Pisang
|
543
|
+
| state |
|
544
|
+
| passing |
|
545
|
+
|
546
|
+
3 scenarios (3 passed)
|
547
|
+
6 steps (6 passed)
|
548
|
+
|
549
|
+
"""
|
@@ -0,0 +1,53 @@
|
|
1
|
+
Feature: Cucumber command line
|
2
|
+
In order to write better software
|
3
|
+
Developers should be able to execute requirements as tests
|
4
|
+
|
5
|
+
@mri186
|
6
|
+
Scenario: Run single failing scenario with default diff enabled
|
7
|
+
When I run cucumber -q features/failing_expectation.feature
|
8
|
+
Then it should fail with
|
9
|
+
"""
|
10
|
+
Feature: Failing expectation
|
11
|
+
|
12
|
+
Scenario: Failing expectation
|
13
|
+
Given failing expectation
|
14
|
+
expected: "that",
|
15
|
+
got: "this" (using ==)
|
16
|
+
Diff:
|
17
|
+
@@ -1,2 +1,2 @@
|
18
|
+
-that
|
19
|
+
+this
|
20
|
+
(Spec::Expectations::ExpectationNotMetError)
|
21
|
+
./features/step_definitions/sample_steps.rb:63:in `/^failing expectation$/'
|
22
|
+
features/failing_expectation.feature:4:in `Given failing expectation'
|
23
|
+
|
24
|
+
Failing Scenarios:
|
25
|
+
cucumber features/failing_expectation.feature:3 # Scenario: Failing expectation
|
26
|
+
|
27
|
+
1 scenario (1 failed)
|
28
|
+
1 step (1 failed)
|
29
|
+
|
30
|
+
"""
|
31
|
+
|
32
|
+
@mri186
|
33
|
+
Scenario: Run single failing scenario with diff output disabled
|
34
|
+
When I run cucumber -q --no-diff features/failing_expectation.feature
|
35
|
+
Then it should fail with
|
36
|
+
"""
|
37
|
+
Feature: Failing expectation
|
38
|
+
|
39
|
+
Scenario: Failing expectation
|
40
|
+
Given failing expectation
|
41
|
+
expected: "that",
|
42
|
+
got: "this" (using ==) (Spec::Expectations::ExpectationNotMetError)
|
43
|
+
./features/step_definitions/sample_steps.rb:63:in `/^failing expectation$/'
|
44
|
+
features/failing_expectation.feature:4:in `Given failing expectation'
|
45
|
+
|
46
|
+
Failing Scenarios:
|
47
|
+
cucumber features/failing_expectation.feature:3 # Scenario: Failing expectation
|
48
|
+
|
49
|
+
1 scenario (1 failed)
|
50
|
+
1 step (1 failed)
|
51
|
+
|
52
|
+
"""
|
53
|
+
|
@@ -0,0 +1,109 @@
|
|
1
|
+
Feature: Cucumber command line
|
2
|
+
In order to write better software
|
3
|
+
Developers should be able to execute requirements as tests
|
4
|
+
|
5
|
+
@mri186
|
6
|
+
Scenario: Run scenario outline with filtering on outline name
|
7
|
+
When I run cucumber -q features --name "Test state"
|
8
|
+
Then it should fail with
|
9
|
+
"""
|
10
|
+
Feature: Outline Sample
|
11
|
+
|
12
|
+
Scenario Outline: Test state
|
13
|
+
Given <state> without a table
|
14
|
+
Given <other_state> without a table
|
15
|
+
|
16
|
+
Examples: Rainbow colours
|
17
|
+
| state | other_state |
|
18
|
+
| missing | passing |
|
19
|
+
| passing | passing |
|
20
|
+
| failing | passing |
|
21
|
+
FAIL (RuntimeError)
|
22
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
23
|
+
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
24
|
+
features/outline_sample.feature:6:in `Given <state> without a table'
|
25
|
+
|
26
|
+
Examples: Only passing
|
27
|
+
| state | other_state |
|
28
|
+
| passing | passing |
|
29
|
+
|
30
|
+
4 scenarios (1 failed, 1 undefined, 2 passed)
|
31
|
+
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
32
|
+
|
33
|
+
"""
|
34
|
+
|
35
|
+
@mri186
|
36
|
+
Scenario: Run scenario outline steps only
|
37
|
+
When I run cucumber -q features/outline_sample.feature:7
|
38
|
+
Then it should fail with
|
39
|
+
"""
|
40
|
+
Feature: Outline Sample
|
41
|
+
|
42
|
+
Scenario Outline: Test state
|
43
|
+
Given <state> without a table
|
44
|
+
Given <other_state> without a table
|
45
|
+
|
46
|
+
Examples: Rainbow colours
|
47
|
+
| state | other_state |
|
48
|
+
| missing | passing |
|
49
|
+
| passing | passing |
|
50
|
+
| failing | passing |
|
51
|
+
FAIL (RuntimeError)
|
52
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
53
|
+
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
54
|
+
features/outline_sample.feature:6:in `Given <state> without a table'
|
55
|
+
|
56
|
+
Examples: Only passing
|
57
|
+
| state | other_state |
|
58
|
+
| passing | passing |
|
59
|
+
|
60
|
+
4 scenarios (1 failed, 1 undefined, 2 passed)
|
61
|
+
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
62
|
+
|
63
|
+
"""
|
64
|
+
|
65
|
+
@mri186
|
66
|
+
Scenario: Run single failing scenario outline table row
|
67
|
+
When I run cucumber features/outline_sample.feature:12
|
68
|
+
Then it should fail with
|
69
|
+
"""
|
70
|
+
Feature: Outline Sample
|
71
|
+
|
72
|
+
Scenario Outline: Test state # features/outline_sample.feature:5
|
73
|
+
Given <state> without a table # features/step_definitions/sample_steps.rb:15
|
74
|
+
Given <other_state> without a table # features/step_definitions/sample_steps.rb:12
|
75
|
+
|
76
|
+
Examples: Rainbow colours
|
77
|
+
| state | other_state |
|
78
|
+
| failing | passing |
|
79
|
+
FAIL (RuntimeError)
|
80
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
81
|
+
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
82
|
+
features/outline_sample.feature:6:in `Given <state> without a table'
|
83
|
+
|
84
|
+
1 scenario (1 failed)
|
85
|
+
2 steps (1 failed, 1 skipped)
|
86
|
+
|
87
|
+
"""
|
88
|
+
|
89
|
+
# There are 10 characters in the progress, but only 8 reported steps. Needs investigation.
|
90
|
+
# Looks like we're outputting too many characters.
|
91
|
+
@mri186
|
92
|
+
Scenario: Run all with progress formatter
|
93
|
+
When I run cucumber -q --format progress features/outline_sample.feature
|
94
|
+
Then it should fail with
|
95
|
+
"""
|
96
|
+
--U-..F-..
|
97
|
+
|
98
|
+
(::) failed steps (::)
|
99
|
+
|
100
|
+
FAIL (RuntimeError)
|
101
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
102
|
+
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
103
|
+
features/outline_sample.feature:6:in `Given <state> without a table'
|
104
|
+
|
105
|
+
5 scenarios (1 failed, 1 undefined, 3 passed)
|
106
|
+
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
107
|
+
|
108
|
+
"""
|
109
|
+
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Feature: Custom Formatter
|
2
|
+
|
3
|
+
Scenario: count tags
|
4
|
+
When I run cucumber --format Cucumber::Formatter::TagCloud features
|
5
|
+
Then it should fail with
|
6
|
+
"""
|
7
|
+
| after_file | background_tagged_before_on_outline | four | lots | one | three | two |
|
8
|
+
| 1 | 1 | 1 | 1 | 1 | 2 | 1 |
|
9
|
+
|
10
|
+
"""
|
11
|
+
|