casecumber 1.0.2.1
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/.gitattributes +1 -0
- data/.gitignore +26 -0
- data/.gitmodules +3 -0
- data/.rspec +1 -0
- data/.travis.yml +7 -0
- data/.yardopts +0 -0
- data/Gemfile +2 -0
- data/Gemfile.lock +115 -0
- data/History.md +1702 -0
- data/LICENSE +22 -0
- data/README.md +25 -0
- data/Rakefile +12 -0
- data/bin/cucumber +22 -0
- data/cucumber.gemspec +60 -0
- data/cucumber.yml +20 -0
- data/examples/i18n/README.textile +18 -0
- data/examples/i18n/Rakefile +33 -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 +5 -0
- data/examples/i18n/bg/features/support/world.rb +8 -0
- data/examples/i18n/bg/lib/calculator.rb +24 -0
- data/examples/i18n/ca/Rakefile +6 -0
- data/examples/i18n/ca/features/step_definitons/calculator_steps.rb +21 -0
- data/examples/i18n/ca/features/suma.feature +17 -0
- data/examples/i18n/ca/lib/calculadora.rb +16 -0
- data/examples/i18n/da/Rakefile +6 -0
- data/examples/i18n/da/features/sammenlaegning.feature +18 -0
- data/examples/i18n/da/features/step_definitons/lommeregner_steps.rb +24 -0
- data/examples/i18n/da/lib/lommeregner.rb +11 -0
- data/examples/i18n/de/.gitignore +1 -0
- data/examples/i18n/de/Rakefile +6 -0
- data/examples/i18n/de/features/addition.feature +17 -0
- data/examples/i18n/de/features/division.feature +10 -0
- data/examples/i18n/de/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/de/lib/calculator.rb +14 -0
- data/examples/i18n/en-lol/Rakefile +4 -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 +7 -0
- data/examples/i18n/en-lol/lib/basket.rb +12 -0
- data/examples/i18n/en-lol/lib/belly.rb +11 -0
- data/examples/i18n/en/.gitignore +1 -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/eo/.gitignore +1 -0
- data/examples/i18n/eo/Rakefile +6 -0
- data/examples/i18n/eo/features/adicio.feature +17 -0
- data/examples/i18n/eo/features/divido.feature +10 -0
- data/examples/i18n/eo/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/eo/lib/calculator.rb +14 -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/.gitignore +1 -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 +17 -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/addition2.feature +17 -0
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +32 -0
- data/examples/i18n/fr/features/support/env.rb +5 -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 +15 -0
- data/examples/i18n/hu/.gitignore +1 -0
- data/examples/i18n/hu/Rakefile +6 -0
- data/examples/i18n/hu/features/osszeadas.feature +17 -0
- data/examples/i18n/hu/features/osztas.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/.gitignore +1 -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/.gitignore +1 -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 +19 -0
- data/examples/i18n/ja/features/support/env.rb +5 -0
- data/examples/i18n/ja/lib/calculator.rb +14 -0
- data/examples/i18n/ko/.gitignore +1 -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/.gitignore +1 -0
- data/examples/i18n/lt/Rakefile +6 -0
- data/examples/i18n/lt/features/addition.feature +17 -0
- data/examples/i18n/lt/features/division.feature +10 -0
- data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +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/.gitignore +1 -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 +5 -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 +5 -0
- data/examples/i18n/pt/lib/calculadora.rb +10 -0
- data/examples/i18n/ro/Rakefile +6 -0
- data/examples/i18n/ro/features/adunare.feature +12 -0
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +21 -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 +5 -0
- data/examples/i18n/ru/features/support/world.rb +8 -0
- data/examples/i18n/ru/lib/calculator.rb +24 -0
- data/examples/i18n/sk/.gitignore +1 -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/sr-Cyrl/Rakefile +6 -0
- data/examples/i18n/sr-Cyrl/features/sabiranje.feature +18 -0
- data/examples/i18n/sr-Cyrl/features/step_definitons/calculator_steps.rb +20 -0
- data/examples/i18n/sr-Cyrl/features/support/env.rb +5 -0
- data/examples/i18n/sr-Cyrl/lib/calculator.rb +12 -0
- data/examples/i18n/sr-Latn/Rakefile +6 -0
- data/examples/i18n/sr-Latn/features/sabiranje.feature +18 -0
- data/examples/i18n/sr-Latn/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/sr-Latn/lib/calculator.rb +12 -0
- data/examples/i18n/sv/Rakefile +6 -0
- data/examples/i18n/sv/features/step_definitons/kalkulator_steps.rb +24 -0
- data/examples/i18n/sv/features/summering.feature +18 -0
- data/examples/i18n/sv/lib/kalkulator.rb +11 -0
- data/examples/i18n/tr/.gitignore +1 -0
- data/examples/i18n/tr/Rakefile +6 -0
- data/examples/i18n/tr/features/bolme.feature +10 -0
- data/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb +24 -0
- data/examples/i18n/tr/features/toplama.feature +18 -0
- data/examples/i18n/tr/lib/hesap_makinesi.rb +15 -0
- data/examples/i18n/uk/Rakefile +6 -0
- data/examples/i18n/uk/features/addition.feature +11 -0
- data/examples/i18n/uk/features/consecutive_calculations.feature +17 -0
- data/examples/i18n/uk/features/division.feature +16 -0
- data/examples/i18n/uk/features/step_definitons/calculator_steps.rb +19 -0
- data/examples/i18n/uk/features/support/env.rb +5 -0
- data/examples/i18n/uk/features/support/world.rb +8 -0
- data/examples/i18n/uk/lib/calculator.rb +24 -0
- data/examples/i18n/uz/Rakefile +6 -0
- data/examples/i18n/uz/features/addition.feature +10 -0
- data/examples/i18n/uz/features/consecutive_calculations.feature +17 -0
- data/examples/i18n/uz/features/division.feature +17 -0
- data/examples/i18n/uz/features/step_definitons/calculator_steps.rb +19 -0
- data/examples/i18n/uz/features/support/env.rb +5 -0
- data/examples/i18n/uz/features/support/world.rb +8 -0
- data/examples/i18n/uz/lib/calculator.rb +24 -0
- data/examples/i18n/zh-CN/Rakefile +4 -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/.gitignore +1 -0
- data/examples/i18n/zh-TW/Rakefile +4 -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/python/README.textile +7 -0
- data/examples/python/Rakefile +4 -0
- data/examples/python/features/fibonacci.feature +19 -0
- data/examples/python/features/step_definitions/fib_steps.py +11 -0
- data/examples/python/lib/.gitignore +1 -0
- data/examples/python/lib/fib.py +7 -0
- data/examples/ramaze/README.textile +7 -0
- data/examples/ramaze/Rakefile +6 -0
- data/examples/ramaze/app.rb +21 -0
- data/examples/ramaze/features/add.feature +11 -0
- data/examples/ramaze/features/step_definitions/add_steps.rb +15 -0
- data/examples/ramaze/features/support/env.rb +32 -0
- data/examples/ramaze/layout/default.html.erb +8 -0
- data/examples/ramaze/view/index.html.erb +5 -0
- data/examples/rspec_doubles/Rakefile +4 -0
- data/examples/rspec_doubles/features/mocking.feature +9 -0
- data/examples/rspec_doubles/features/step_definitions/calvin_steps.rb +19 -0
- data/examples/rspec_doubles/features/support/env.rb +12 -0
- data/examples/ruby2python/README.textile +7 -0
- data/examples/ruby2python/Rakefile +4 -0
- data/examples/ruby2python/features/fibonacci.feature +19 -0
- data/examples/ruby2python/features/step_definitions/fib_steps.rb +7 -0
- data/examples/ruby2python/features/support/env.rb +21 -0
- data/examples/ruby2python/lib/.gitignore +1 -0
- data/examples/ruby2python/lib/fib.py +7 -0
- data/examples/sinatra/README.textile +13 -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 +10 -0
- data/examples/sinatra/views/add.erb +7 -0
- data/examples/sinatra/views/layout.erb +8 -0
- data/examples/tcl/README.textile +11 -0
- data/examples/tcl/Rakefile +6 -0
- data/examples/tcl/features/fibonnacci.feature +17 -0
- data/examples/tcl/features/step_definitions/fib_steps.rb +7 -0
- data/examples/tcl/features/support/env.rb +6 -0
- data/examples/tcl/src/fib.tcl +3 -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/v8/Rakefile +6 -0
- data/examples/v8/features/fibonacci.feature +43 -0
- data/examples/v8/features/step_definitions/fib_steps.js +49 -0
- data/examples/v8/features/support/env.js +14 -0
- data/examples/v8/lib/fibonacci.js +19 -0
- data/examples/watir/.gitignore +2 -0
- data/examples/watir/README.textile +16 -0
- data/examples/watir/Rakefile +12 -0
- data/examples/watir/cucumber.yml +1 -0
- data/examples/watir/features/search.feature +12 -0
- data/examples/watir/features/step_definitions/search_steps.rb +26 -0
- data/examples/watir/features/support/env.rb +32 -0
- data/examples/watir/features/support/screenshots.rb +47 -0
- data/features/background.feature +498 -0
- data/features/bootstrap.feature +13 -0
- data/features/custom_formatter.feature +41 -0
- data/features/execute_with_tag_filter.feature +63 -0
- data/features/hooks.feature +59 -0
- data/features/iso-8859-1.feature +6 -0
- data/features/json_formatter.feature +248 -0
- data/features/stats_formatters.feature +70 -0
- data/features/step_definitions/cucumber-features/cucumber_ruby_mappings.rb +168 -0
- data/features/step_definitions/cucumber_steps.rb +23 -0
- data/features/step_definitions/iso-8859-1_steps.rb +24 -0
- data/features/support/env.rb +26 -0
- data/features/tagged_hooks.feature +217 -0
- data/features/transforms.feature +63 -0
- data/fixtures/json/features/background.feature +7 -0
- data/fixtures/json/features/embed.feature +4 -0
- data/fixtures/json/features/one_passing_one_failing.feature +11 -0
- data/fixtures/json/features/step_definitions/steps.rb +32 -0
- data/fixtures/json/features/tables.feature +13 -0
- data/fixtures/junit/features/one_passing_one_failing.feature +8 -0
- data/fixtures/junit/features/pending.feature +7 -0
- data/fixtures/junit/features/scenario_outline.feature +9 -0
- data/fixtures/junit/features/some_subdirectory/one_passing_one_failing.feature +8 -0
- data/fixtures/junit/features/step_definitions/steps.rb +11 -0
- data/fixtures/self_test/.gitignore +1 -0
- data/fixtures/self_test/README.textile +6 -0
- data/fixtures/self_test/Rakefile +6 -0
- data/fixtures/self_test/features/call_undefined_step_from_step_def.feature +7 -0
- data/fixtures/self_test/features/failing_expectation.feature +4 -0
- data/fixtures/self_test/features/lots_of_undefined.feature +8 -0
- data/fixtures/self_test/features/multiline_name.feature +27 -0
- data/fixtures/self_test/features/outline_sample.feature +15 -0
- data/fixtures/self_test/features/sample.feature +21 -0
- data/fixtures/self_test/features/search_sample.feature +32 -0
- data/fixtures/self_test/features/step_definitions/sample_steps.rb +84 -0
- data/fixtures/self_test/features/support/bubble_256x256.png +0 -0
- data/fixtures/self_test/features/support/env.rb +26 -0
- data/fixtures/self_test/features/tags_sample.feature +17 -0
- data/fixtures/self_test/features/tons_of_cukes.feature +52 -0
- data/fixtures/self_test/features/undefined_multiline_args.feature +12 -0
- data/fixtures/self_test/list-of-features.txt +1 -0
- data/fixtures/steps_library/features/step_definitions/steps_lib1.rb +8 -0
- data/fixtures/steps_library/features/step_definitions/steps_lib2.rb +8 -0
- data/fixtures/tickets/Rakefile +20 -0
- data/fixtures/tickets/features.html +138 -0
- data/fixtures/tickets/features/172.feature +28 -0
- data/fixtures/tickets/features/177/1.feature +28 -0
- data/fixtures/tickets/features/177/2.feature +20 -0
- data/fixtures/tickets/features/177/3.feature +18 -0
- data/fixtures/tickets/features/180.feature +7 -0
- data/fixtures/tickets/features/229/tagged_hooks.feature +8 -0
- data/fixtures/tickets/features/229/tagged_hooks.rb +14 -0
- data/fixtures/tickets/features/236.feature +13 -0
- data/fixtures/tickets/features/241.feature +12 -0
- data/fixtures/tickets/features/246.feature +4 -0
- data/fixtures/tickets/features/248.feature +11 -0
- data/fixtures/tickets/features/270/back.feature +14 -0
- data/fixtures/tickets/features/270/back.steps.rb +14 -0
- data/fixtures/tickets/features/272/hooks.feature +26 -0
- data/fixtures/tickets/features/272/hooks_steps.rb +53 -0
- data/fixtures/tickets/features/279/py_string_indent.feature +25 -0
- data/fixtures/tickets/features/279/py_string_indent.steps.rb +12 -0
- data/fixtures/tickets/features/279/wrong.feature_ +11 -0
- data/fixtures/tickets/features/301/filter_background_tagged_hooks.feature +6 -0
- data/fixtures/tickets/features/301/filter_background_tagged_hooks_steps.rb +12 -0
- data/fixtures/tickets/features/306/only_background.feature +4 -0
- data/fixtures/tickets/features/around_timeout.feature +6 -0
- data/fixtures/tickets/features/gherkin_67.feature +12 -0
- data/fixtures/tickets/features/gherkin_68.feature +4 -0
- data/fixtures/tickets/features/half_manual.feature +11 -0
- data/fixtures/tickets/features/lib/eatting_machine.rb +18 -0
- data/fixtures/tickets/features/lib/pantry.rb +20 -0
- data/fixtures/tickets/features/scenario_outline.feature +95 -0
- data/fixtures/tickets/features/step_definitons/246_steps.rb +3 -0
- data/fixtures/tickets/features/step_definitons/248_steps.rb +15 -0
- data/fixtures/tickets/features/step_definitons/around_timeout_steps.rb +9 -0
- data/fixtures/tickets/features/step_definitons/half_manual_steps.rb +11 -0
- data/fixtures/tickets/features/step_definitons/scenario_outline_steps.rb +42 -0
- data/fixtures/tickets/features/step_definitons/tickets_steps.rb +88 -0
- data/fixtures/tickets/features/table_diffing.feature +13 -0
- data/fixtures/tickets/features/tickets.feature +28 -0
- data/gem_tasks/contributors.rake +15 -0
- data/gem_tasks/cucumber.rake +21 -0
- data/gem_tasks/downloads.rb +7 -0
- data/gem_tasks/environment.rake +7 -0
- data/gem_tasks/examples.rake +11 -0
- data/gem_tasks/fix_cr_lf.rake +10 -0
- data/gem_tasks/flog.rake +4 -0
- data/gem_tasks/rspec.rake +8 -0
- data/gem_tasks/sass.rake +4 -0
- data/gem_tasks/stats +14 -0
- data/gem_tasks/versions.txt +74 -0
- data/gem_tasks/yard.rake +0 -0
- data/gem_tasks/yard/default/layout/html/bubble_32x32.png +0 -0
- data/gem_tasks/yard/default/layout/html/footer.erb +5 -0
- data/gem_tasks/yard/default/layout/html/index.erb +1 -0
- data/gem_tasks/yard/default/layout/html/layout.erb +25 -0
- data/gem_tasks/yard/default/layout/html/logo.erb +1 -0
- data/gem_tasks/yard/default/layout/html/setup.rb +4 -0
- data/legacy_features/announce.feature +152 -0
- data/legacy_features/api/list_step_defs_as_json.feature +50 -0
- data/legacy_features/api/run_cli_main_with_existing_runtime.feature +34 -0
- data/legacy_features/around_hooks.feature +232 -0
- data/legacy_features/bug_371.feature +32 -0
- data/legacy_features/bug_464.feature +16 -0
- data/legacy_features/bug_475.feature +42 -0
- data/legacy_features/bug_585_tab_indentation.feature +22 -0
- data/legacy_features/bug_600.feature +73 -0
- data/legacy_features/call_steps_from_stepdefs.feature +154 -0
- data/legacy_features/cucumber_cli.feature +591 -0
- data/legacy_features/cucumber_cli_outlines.feature +117 -0
- data/legacy_features/default_snippets.feature +42 -0
- data/legacy_features/diffing.feature +25 -0
- data/legacy_features/drb_server_integration.feature +174 -0
- data/legacy_features/exception_in_after_block.feature +127 -0
- data/legacy_features/exception_in_after_step_block.feature +104 -0
- data/legacy_features/exception_in_before_block.feature +98 -0
- data/legacy_features/exclude_files.feature +20 -0
- data/legacy_features/expand.feature +60 -0
- data/legacy_features/html_formatter.feature +8 -0
- data/legacy_features/html_formatter/a.html +561 -0
- data/legacy_features/junit_formatter.feature +164 -0
- data/legacy_features/language_from_header.feature +30 -0
- data/legacy_features/language_help.feature +77 -0
- data/legacy_features/listener_debugger_formatter.feature +42 -0
- data/legacy_features/multiline_names.feature +44 -0
- data/legacy_features/post_configuration_hook.feature +50 -0
- data/legacy_features/profiles.feature +126 -0
- data/legacy_features/rake_task.feature +152 -0
- data/legacy_features/report_called_undefined_steps.feature +34 -0
- data/legacy_features/rerun_formatter.feature +52 -0
- data/legacy_features/simplest.feature +11 -0
- data/legacy_features/snippet.feature +23 -0
- data/legacy_features/snippets_when_using_star_keyword.feature +36 -0
- data/legacy_features/step_definitions/cucumber_steps.rb +172 -0
- data/legacy_features/step_definitions/extra_steps.rb +2 -0
- data/legacy_features/step_definitions/simplest_steps.rb +3 -0
- data/legacy_features/step_definitions/wire_steps.rb +34 -0
- data/legacy_features/support/env.rb +157 -0
- data/legacy_features/support/env.rb.simplest +7 -0
- data/legacy_features/support/fake_wire_server.rb +77 -0
- data/legacy_features/table_diffing.feature +45 -0
- data/legacy_features/table_mapping.feature +34 -0
- data/legacy_features/transform.feature +245 -0
- data/legacy_features/unicode_table.feature +35 -0
- data/legacy_features/wire_protocol.feature +332 -0
- data/legacy_features/wire_protocol_erb.feature +57 -0
- data/legacy_features/wire_protocol_table_diffing.feature +119 -0
- data/legacy_features/wire_protocol_tags.feature +87 -0
- data/legacy_features/wire_protocol_timeouts.feature +63 -0
- data/legacy_features/work_in_progress.feature +156 -0
- data/lib/README.rdoc +12 -0
- data/lib/autotest/cucumber.rb +6 -0
- data/lib/autotest/cucumber_mixin.rb +135 -0
- data/lib/autotest/cucumber_rails.rb +6 -0
- data/lib/autotest/cucumber_rails_rspec.rb +6 -0
- data/lib/autotest/cucumber_rails_rspec2.rb +6 -0
- data/lib/autotest/cucumber_rspec.rb +6 -0
- data/lib/autotest/cucumber_rspec2.rb +6 -0
- data/lib/autotest/discover.rb +9 -0
- data/lib/cucumber.rb +27 -0
- data/lib/cucumber/ast.rb +30 -0
- data/lib/cucumber/ast/background.rb +101 -0
- data/lib/cucumber/ast/comment.rb +31 -0
- data/lib/cucumber/ast/doc_string.rb +80 -0
- data/lib/cucumber/ast/examples.rb +46 -0
- data/lib/cucumber/ast/feature.rb +106 -0
- data/lib/cucumber/ast/feature_element.rb +78 -0
- data/lib/cucumber/ast/features.rb +35 -0
- data/lib/cucumber/ast/names.rb +13 -0
- data/lib/cucumber/ast/outline_table.rb +187 -0
- data/lib/cucumber/ast/scenario.rb +119 -0
- data/lib/cucumber/ast/scenario_outline.rb +125 -0
- data/lib/cucumber/ast/step.rb +126 -0
- data/lib/cucumber/ast/step_collection.rb +76 -0
- data/lib/cucumber/ast/step_invocation.rb +206 -0
- data/lib/cucumber/ast/table.rb +689 -0
- data/lib/cucumber/ast/tags.rb +28 -0
- data/lib/cucumber/ast/tree_walker.rb +183 -0
- data/lib/cucumber/ast/visitor.rb +11 -0
- data/lib/cucumber/broadcaster.rb +13 -0
- data/lib/cucumber/cli/configuration.rb +209 -0
- data/lib/cucumber/cli/drb_client.rb +43 -0
- data/lib/cucumber/cli/main.rb +78 -0
- data/lib/cucumber/cli/options.rb +410 -0
- data/lib/cucumber/cli/profile_loader.rb +91 -0
- data/lib/cucumber/configuration.rb +49 -0
- data/lib/cucumber/constantize.rb +34 -0
- data/lib/cucumber/core_ext/disable_mini_and_test_unit_autorun.rb +25 -0
- data/lib/cucumber/core_ext/instance_exec.rb +98 -0
- data/lib/cucumber/core_ext/proc.rb +34 -0
- data/lib/cucumber/core_ext/string.rb +9 -0
- data/lib/cucumber/errors.rb +40 -0
- data/lib/cucumber/feature_file.rb +101 -0
- data/lib/cucumber/formatter/ansicolor.rb +160 -0
- data/lib/cucumber/formatter/console.rb +187 -0
- data/lib/cucumber/formatter/cucumber.css +279 -0
- data/lib/cucumber/formatter/cucumber.sass +247 -0
- data/lib/cucumber/formatter/debug.rb +33 -0
- data/lib/cucumber/formatter/duration.rb +13 -0
- data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +83 -0
- data/lib/cucumber/formatter/gpretty.rb +24 -0
- data/lib/cucumber/formatter/html.rb +649 -0
- data/lib/cucumber/formatter/io.rb +31 -0
- data/lib/cucumber/formatter/jquery-min.js +154 -0
- data/lib/cucumber/formatter/json.rb +31 -0
- data/lib/cucumber/formatter/json_pretty.rb +13 -0
- data/lib/cucumber/formatter/junit.rb +155 -0
- data/lib/cucumber/formatter/ordered_xml_markup.rb +24 -0
- data/lib/cucumber/formatter/pdf.rb +244 -0
- data/lib/cucumber/formatter/pretty.rb +237 -0
- data/lib/cucumber/formatter/progress.rb +92 -0
- data/lib/cucumber/formatter/rerun.rb +68 -0
- data/lib/cucumber/formatter/stepdefs.rb +14 -0
- data/lib/cucumber/formatter/steps.rb +49 -0
- data/lib/cucumber/formatter/summary.rb +35 -0
- data/lib/cucumber/formatter/unicode.rb +79 -0
- data/lib/cucumber/formatter/usage.rb +127 -0
- data/lib/cucumber/js_support/js_dsl.js +57 -0
- data/lib/cucumber/js_support/js_language.rb +185 -0
- data/lib/cucumber/js_support/js_snippets.rb +27 -0
- data/lib/cucumber/language_support.rb +30 -0
- data/lib/cucumber/language_support/language_methods.rb +129 -0
- data/lib/cucumber/parser.rb +2 -0
- data/lib/cucumber/parser/gherkin_builder.rb +129 -0
- data/lib/cucumber/platform.rb +29 -0
- data/lib/cucumber/py_support/py_dsl.py +10 -0
- data/lib/cucumber/py_support/py_language.py +10 -0
- data/lib/cucumber/py_support/py_language.rb +84 -0
- data/lib/cucumber/rake/task.rb +225 -0
- data/lib/cucumber/rb_support/rb_dsl.rb +112 -0
- data/lib/cucumber/rb_support/rb_hook.rb +18 -0
- data/lib/cucumber/rb_support/rb_language.rb +195 -0
- data/lib/cucumber/rb_support/rb_step_definition.rb +82 -0
- data/lib/cucumber/rb_support/rb_transform.rb +54 -0
- data/lib/cucumber/rb_support/rb_world.rb +103 -0
- data/lib/cucumber/rb_support/regexp_argument_matcher.rb +21 -0
- data/lib/cucumber/rspec/disable_option_parser.rb +23 -0
- data/lib/cucumber/rspec/doubles.rb +16 -0
- data/lib/cucumber/runtime.rb +145 -0
- data/lib/cucumber/runtime/features_loader.rb +62 -0
- data/lib/cucumber/runtime/for_programming_languages.rb +67 -0
- data/lib/cucumber/runtime/results.rb +64 -0
- data/lib/cucumber/runtime/support_code.rb +203 -0
- data/lib/cucumber/runtime/user_interface.rb +81 -0
- data/lib/cucumber/step_argument.rb +9 -0
- data/lib/cucumber/step_definition_light.rb +20 -0
- data/lib/cucumber/step_definitions.rb +14 -0
- data/lib/cucumber/step_match.rb +115 -0
- data/lib/cucumber/step_mother.rb +10 -0
- data/lib/cucumber/wire_support/configuration.rb +31 -0
- data/lib/cucumber/wire_support/connection.rb +55 -0
- data/lib/cucumber/wire_support/request_handler.rb +32 -0
- data/lib/cucumber/wire_support/wire_exception.rb +32 -0
- data/lib/cucumber/wire_support/wire_language.rb +54 -0
- data/lib/cucumber/wire_support/wire_packet.rb +32 -0
- data/lib/cucumber/wire_support/wire_protocol.rb +44 -0
- data/lib/cucumber/wire_support/wire_protocol/requests.rb +123 -0
- data/lib/cucumber/wire_support/wire_step_definition.rb +26 -0
- data/spec/cucumber/ast/background_spec.rb +115 -0
- data/spec/cucumber/ast/doc_string_spec.rb +40 -0
- data/spec/cucumber/ast/feature_factory.rb +61 -0
- data/spec/cucumber/ast/feature_spec.rb +63 -0
- data/spec/cucumber/ast/outline_table_spec.rb +21 -0
- data/spec/cucumber/ast/scenario_outline_spec.rb +69 -0
- data/spec/cucumber/ast/step_spec.rb +66 -0
- data/spec/cucumber/ast/table_spec.rb +484 -0
- data/spec/cucumber/ast/tree_walker_spec.rb +11 -0
- data/spec/cucumber/broadcaster_spec.rb +15 -0
- data/spec/cucumber/cli/configuration_spec.rb +431 -0
- data/spec/cucumber/cli/drb_client_spec.rb +76 -0
- data/spec/cucumber/cli/main_spec.rb +137 -0
- data/spec/cucumber/cli/options_spec.rb +358 -0
- data/spec/cucumber/cli/profile_loader_spec.rb +35 -0
- data/spec/cucumber/configuration_spec.rb +23 -0
- data/spec/cucumber/core_ext/proc_spec.rb +68 -0
- data/spec/cucumber/formatter/ansicolor_spec.rb +31 -0
- data/spec/cucumber/formatter/duration_spec.rb +22 -0
- data/spec/cucumber/formatter/html_spec.rb +256 -0
- data/spec/cucumber/formatter/junit_spec.rb +125 -0
- data/spec/cucumber/formatter/progress_spec.rb +38 -0
- data/spec/cucumber/formatter/spec_helper.rb +52 -0
- data/spec/cucumber/rake/forked_spec.rb +62 -0
- data/spec/cucumber/rake/rcov_spec.rb +71 -0
- data/spec/cucumber/rb_support/rb_language_spec.rb +282 -0
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +98 -0
- data/spec/cucumber/rb_support/rb_transform_spec.rb +21 -0
- data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +18 -0
- data/spec/cucumber/runtime/support_code_spec.rb +112 -0
- data/spec/cucumber/runtime_spec.rb +41 -0
- data/spec/cucumber/sell_cucumbers.feature +19 -0
- data/spec/cucumber/step_match_spec.rb +69 -0
- data/spec/cucumber/wire_support/configuration_spec.rb +51 -0
- data/spec/cucumber/wire_support/connection_spec.rb +46 -0
- data/spec/cucumber/wire_support/wire_exception_spec.rb +44 -0
- data/spec/cucumber/wire_support/wire_language_spec.rb +47 -0
- data/spec/cucumber/wire_support/wire_packet_spec.rb +40 -0
- data/spec/cucumber/wire_support/wire_step_definition_spec.rb +20 -0
- data/spec/cucumber/world/pending_spec.rb +46 -0
- data/spec/spec_helper.rb +22 -0
- metadata +1044 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
Feature: http://gist.github.com/221223
|
|
2
|
+
In order to make it easier to extract several steps from
|
|
3
|
+
a feature file to a step definition I want to be able to
|
|
4
|
+
copy and paste.
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given a standard Cucumber project directory structure
|
|
8
|
+
And a file named "features/f.feature" with:
|
|
9
|
+
"""
|
|
10
|
+
Feature: Test
|
|
11
|
+
|
|
12
|
+
Scenario: Multiline string
|
|
13
|
+
Given a multiline string:
|
|
14
|
+
\"\"\"
|
|
15
|
+
hello
|
|
16
|
+
world
|
|
17
|
+
\"\"\"
|
|
18
|
+
|
|
19
|
+
Scenario: Call a multiline string
|
|
20
|
+
Given I call a multiline string with MAMA
|
|
21
|
+
|
|
22
|
+
Scenario: Call a table
|
|
23
|
+
Given I call a table with MAMA
|
|
24
|
+
|
|
25
|
+
Scenario: Call a multiline string using keyword
|
|
26
|
+
Given I use keyword to call a multiline string with BANG
|
|
27
|
+
"""
|
|
28
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
29
|
+
"""
|
|
30
|
+
And /^a multiline string:$/ do |s| x=1
|
|
31
|
+
raise "I got multiline:\n#{s}"
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
Given /^a table:$/ do |t| x=1
|
|
35
|
+
raise "I got table:\n#{t.raw.inspect}"
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
Given /^I call a multiline string with (.*)$/ do |s| x=1
|
|
39
|
+
steps %Q{
|
|
40
|
+
And a multiline string:
|
|
41
|
+
\"\"\"
|
|
42
|
+
hello
|
|
43
|
+
#{s}
|
|
44
|
+
\"\"\"
|
|
45
|
+
}
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
Given /^I use keyword to call a multiline string with (.*)$/ do |s| x=1
|
|
49
|
+
Given 'a multiline string:', "Hello\n#{s}"
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
Given /^I call a table with (.*)$/ do |s| x=1
|
|
53
|
+
steps %Q{
|
|
54
|
+
Given a table:
|
|
55
|
+
|a|b|
|
|
56
|
+
|c|#{s}|
|
|
57
|
+
}
|
|
58
|
+
end
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
Scenario: Multiline string
|
|
62
|
+
When I run cucumber features/f.feature:3
|
|
63
|
+
Then STDERR should be empty
|
|
64
|
+
And it should fail with
|
|
65
|
+
"""
|
|
66
|
+
Feature: Test
|
|
67
|
+
|
|
68
|
+
Scenario: Multiline string # features/f.feature:3
|
|
69
|
+
Given a multiline string: # features/step_definitions/steps.rb:1
|
|
70
|
+
\"\"\"
|
|
71
|
+
hello
|
|
72
|
+
world
|
|
73
|
+
\"\"\"
|
|
74
|
+
I got multiline:
|
|
75
|
+
hello
|
|
76
|
+
world (RuntimeError)
|
|
77
|
+
./features/step_definitions/steps.rb:2:in `/^a multiline string:$/'
|
|
78
|
+
features/f.feature:4:in `Given a multiline string:'
|
|
79
|
+
|
|
80
|
+
Failing Scenarios:
|
|
81
|
+
cucumber features/f.feature:3 # Scenario: Multiline string
|
|
82
|
+
|
|
83
|
+
1 scenario (1 failed)
|
|
84
|
+
1 step (1 failed)
|
|
85
|
+
|
|
86
|
+
"""
|
|
87
|
+
|
|
88
|
+
Scenario: Call multiline string
|
|
89
|
+
When I run cucumber features/f.feature:10
|
|
90
|
+
Then STDERR should be empty
|
|
91
|
+
And it should fail with
|
|
92
|
+
"""
|
|
93
|
+
Feature: Test
|
|
94
|
+
|
|
95
|
+
Scenario: Call a multiline string # features/f.feature:10
|
|
96
|
+
Given I call a multiline string with MAMA # features/step_definitions/steps.rb:9
|
|
97
|
+
I got multiline:
|
|
98
|
+
hello
|
|
99
|
+
MAMA (RuntimeError)
|
|
100
|
+
./features/step_definitions/steps.rb:2:in `/^a multiline string:$/'
|
|
101
|
+
features/f.feature:11:in `Given I call a multiline string with MAMA'
|
|
102
|
+
|
|
103
|
+
Failing Scenarios:
|
|
104
|
+
cucumber features/f.feature:10 # Scenario: Call a multiline string
|
|
105
|
+
|
|
106
|
+
1 scenario (1 failed)
|
|
107
|
+
1 step (1 failed)
|
|
108
|
+
|
|
109
|
+
"""
|
|
110
|
+
|
|
111
|
+
Scenario: Call table
|
|
112
|
+
When I run cucumber features/f.feature:13
|
|
113
|
+
Then STDERR should be empty
|
|
114
|
+
And it should fail with
|
|
115
|
+
"""
|
|
116
|
+
Feature: Test
|
|
117
|
+
|
|
118
|
+
Scenario: Call a table # features/f.feature:13
|
|
119
|
+
Given I call a table with MAMA # features/step_definitions/steps.rb:23
|
|
120
|
+
I got table:
|
|
121
|
+
[["a", "b"], ["c", "MAMA"]] (RuntimeError)
|
|
122
|
+
./features/step_definitions/steps.rb:6:in `/^a table:$/'
|
|
123
|
+
features/f.feature:14:in `Given I call a table with MAMA'
|
|
124
|
+
|
|
125
|
+
Failing Scenarios:
|
|
126
|
+
cucumber features/f.feature:13 # Scenario: Call a table
|
|
127
|
+
|
|
128
|
+
1 scenario (1 failed)
|
|
129
|
+
1 step (1 failed)
|
|
130
|
+
|
|
131
|
+
"""
|
|
132
|
+
|
|
133
|
+
Scenario: Call multiline string with keyword
|
|
134
|
+
When I run cucumber features/f.feature:16
|
|
135
|
+
Then STDERR should be empty
|
|
136
|
+
And it should fail with
|
|
137
|
+
"""
|
|
138
|
+
Feature: Test
|
|
139
|
+
|
|
140
|
+
Scenario: Call a multiline string using keyword # features/f.feature:16
|
|
141
|
+
Given I use keyword to call a multiline string with BANG # features/step_definitions/steps.rb:19
|
|
142
|
+
I got multiline:
|
|
143
|
+
Hello
|
|
144
|
+
BANG (RuntimeError)
|
|
145
|
+
./features/step_definitions/steps.rb:2:in `/^a multiline string:$/'
|
|
146
|
+
features/f.feature:17:in `Given I use keyword to call a multiline string with BANG'
|
|
147
|
+
|
|
148
|
+
Failing Scenarios:
|
|
149
|
+
cucumber features/f.feature:16 # Scenario: Call a multiline string using keyword
|
|
150
|
+
|
|
151
|
+
1 scenario (1 failed)
|
|
152
|
+
1 step (1 failed)
|
|
153
|
+
|
|
154
|
+
"""
|
|
@@ -0,0 +1,591 @@
|
|
|
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
|
+
Scenario: Specify 2 line numbers where one is a tag
|
|
62
|
+
When I run cucumber -q features/sample.feature:5:16
|
|
63
|
+
Then it should fail with
|
|
64
|
+
"""
|
|
65
|
+
# Feature comment
|
|
66
|
+
@one
|
|
67
|
+
Feature: Sample
|
|
68
|
+
|
|
69
|
+
@two @three
|
|
70
|
+
Scenario: Missing
|
|
71
|
+
Given missing
|
|
72
|
+
|
|
73
|
+
@four
|
|
74
|
+
Scenario: Failing
|
|
75
|
+
Given failing
|
|
76
|
+
\"\"\"
|
|
77
|
+
hello
|
|
78
|
+
\"\"\"
|
|
79
|
+
FAIL (RuntimeError)
|
|
80
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
81
|
+
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
|
82
|
+
features/sample.feature:18:in `Given failing'
|
|
83
|
+
|
|
84
|
+
Failing Scenarios:
|
|
85
|
+
cucumber features/sample.feature:17
|
|
86
|
+
|
|
87
|
+
2 scenarios (1 failed, 1 undefined)
|
|
88
|
+
2 steps (1 failed, 1 undefined)
|
|
89
|
+
|
|
90
|
+
"""
|
|
91
|
+
|
|
92
|
+
Scenario: Require missing step definition from elsewhere
|
|
93
|
+
When I run cucumber -q -r ../../legacy_features/step_definitions/extra_steps.rb features/sample.feature:5
|
|
94
|
+
Then it should pass with
|
|
95
|
+
"""
|
|
96
|
+
# Feature comment
|
|
97
|
+
@one
|
|
98
|
+
Feature: Sample
|
|
99
|
+
|
|
100
|
+
@two @three
|
|
101
|
+
Scenario: Missing
|
|
102
|
+
Given missing
|
|
103
|
+
|
|
104
|
+
1 scenario (1 passed)
|
|
105
|
+
1 step (1 passed)
|
|
106
|
+
|
|
107
|
+
"""
|
|
108
|
+
|
|
109
|
+
Scenario: Specify the line number of a row
|
|
110
|
+
When I run cucumber -q features/sample.feature:12
|
|
111
|
+
Then it should pass with
|
|
112
|
+
"""
|
|
113
|
+
# Feature comment
|
|
114
|
+
@one
|
|
115
|
+
Feature: Sample
|
|
116
|
+
|
|
117
|
+
# Scenario comment
|
|
118
|
+
@three
|
|
119
|
+
Scenario: Passing
|
|
120
|
+
Given passing
|
|
121
|
+
| a | b |
|
|
122
|
+
| c | d |
|
|
123
|
+
|
|
124
|
+
1 scenario (1 passed)
|
|
125
|
+
1 step (1 passed)
|
|
126
|
+
|
|
127
|
+
"""
|
|
128
|
+
|
|
129
|
+
Scenario: Use @-notation to specify a file containing feature file list
|
|
130
|
+
When I run cucumber -q @list-of-features.txt
|
|
131
|
+
Then it should pass with
|
|
132
|
+
"""
|
|
133
|
+
# Feature comment
|
|
134
|
+
@one
|
|
135
|
+
Feature: Sample
|
|
136
|
+
|
|
137
|
+
# Scenario comment
|
|
138
|
+
@three
|
|
139
|
+
Scenario: Passing
|
|
140
|
+
Given passing
|
|
141
|
+
| a | b |
|
|
142
|
+
| c | d |
|
|
143
|
+
|
|
144
|
+
1 scenario (1 passed)
|
|
145
|
+
1 step (1 passed)
|
|
146
|
+
|
|
147
|
+
"""
|
|
148
|
+
|
|
149
|
+
Scenario: Run all with progress formatter
|
|
150
|
+
When I run cucumber -q --format progress features/sample.feature
|
|
151
|
+
Then it should fail with
|
|
152
|
+
"""
|
|
153
|
+
U.F
|
|
154
|
+
|
|
155
|
+
(::) failed steps (::)
|
|
156
|
+
|
|
157
|
+
FAIL (RuntimeError)
|
|
158
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
159
|
+
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
|
160
|
+
features/sample.feature:18:in `Given failing'
|
|
161
|
+
|
|
162
|
+
Failing Scenarios:
|
|
163
|
+
cucumber features/sample.feature:17
|
|
164
|
+
|
|
165
|
+
3 scenarios (1 failed, 1 undefined, 1 passed)
|
|
166
|
+
3 steps (1 failed, 1 undefined, 1 passed)
|
|
167
|
+
|
|
168
|
+
"""
|
|
169
|
+
|
|
170
|
+
Scenario: --dry-run
|
|
171
|
+
When I run cucumber --dry-run --no-source features/*.feature --tags ~@lots
|
|
172
|
+
Then it should pass with
|
|
173
|
+
"""
|
|
174
|
+
Feature: Calling undefined step
|
|
175
|
+
|
|
176
|
+
Scenario: Call directly
|
|
177
|
+
Given a step definition that calls an undefined step
|
|
178
|
+
|
|
179
|
+
Scenario: Call via another
|
|
180
|
+
Given call step "a step definition that calls an undefined step"
|
|
181
|
+
|
|
182
|
+
Feature: Failing expectation
|
|
183
|
+
|
|
184
|
+
Scenario: Failing expectation
|
|
185
|
+
Given failing expectation
|
|
186
|
+
|
|
187
|
+
Feature: Lots of undefined
|
|
188
|
+
|
|
189
|
+
Scenario: Implement me
|
|
190
|
+
Given it snows in Sahara
|
|
191
|
+
Given it's 40 degrees in Norway
|
|
192
|
+
And it's 40 degrees in Norway
|
|
193
|
+
When I stop procrastinating
|
|
194
|
+
And there is world peace
|
|
195
|
+
|
|
196
|
+
Feature: multiline
|
|
197
|
+
|
|
198
|
+
Background: I'm a multiline name
|
|
199
|
+
which goes on and on and on for three lines
|
|
200
|
+
yawn
|
|
201
|
+
Given passing without a table
|
|
202
|
+
|
|
203
|
+
Scenario: I'm a multiline name
|
|
204
|
+
which goes on and on and on for three lines
|
|
205
|
+
yawn
|
|
206
|
+
Given passing without a table
|
|
207
|
+
|
|
208
|
+
Scenario Outline: I'm a multiline name
|
|
209
|
+
which goes on and on and on for three lines
|
|
210
|
+
yawn
|
|
211
|
+
Given <state> without a table
|
|
212
|
+
|
|
213
|
+
Examples:
|
|
214
|
+
| state |
|
|
215
|
+
| passing |
|
|
216
|
+
|
|
217
|
+
Scenario Outline: name
|
|
218
|
+
Given <state> without a table
|
|
219
|
+
|
|
220
|
+
Examples: I'm a multiline name
|
|
221
|
+
which goes on and on and on for three lines
|
|
222
|
+
yawn
|
|
223
|
+
| state |
|
|
224
|
+
| passing |
|
|
225
|
+
|
|
226
|
+
Feature: Outline Sample
|
|
227
|
+
|
|
228
|
+
Scenario: I have no steps
|
|
229
|
+
|
|
230
|
+
Scenario Outline: Test state
|
|
231
|
+
Given <state> without a table
|
|
232
|
+
Given <other_state> without a table
|
|
233
|
+
|
|
234
|
+
Examples: Rainbow colours
|
|
235
|
+
| state | other_state |
|
|
236
|
+
| missing | passing |
|
|
237
|
+
| passing | passing |
|
|
238
|
+
| failing | passing |
|
|
239
|
+
|
|
240
|
+
Examples: Only passing
|
|
241
|
+
| state | other_state |
|
|
242
|
+
| passing | passing |
|
|
243
|
+
|
|
244
|
+
# Feature comment
|
|
245
|
+
@one
|
|
246
|
+
Feature: Sample
|
|
247
|
+
|
|
248
|
+
@two @three
|
|
249
|
+
Scenario: Missing
|
|
250
|
+
Given missing
|
|
251
|
+
|
|
252
|
+
# Scenario comment
|
|
253
|
+
@three
|
|
254
|
+
Scenario: Passing
|
|
255
|
+
Given passing
|
|
256
|
+
| a | b |
|
|
257
|
+
| c | d |
|
|
258
|
+
|
|
259
|
+
@four
|
|
260
|
+
Scenario: Failing
|
|
261
|
+
Given failing
|
|
262
|
+
\"\"\"
|
|
263
|
+
hello
|
|
264
|
+
\"\"\"
|
|
265
|
+
|
|
266
|
+
Feature: search examples
|
|
267
|
+
|
|
268
|
+
Background: Hantu Pisang background match
|
|
269
|
+
Given passing without a table
|
|
270
|
+
|
|
271
|
+
Scenario: should match Hantu Pisang
|
|
272
|
+
Given passing without a table
|
|
273
|
+
|
|
274
|
+
Scenario: Ignore me
|
|
275
|
+
Given failing without a table
|
|
276
|
+
|
|
277
|
+
Scenario Outline: Ignore me
|
|
278
|
+
Given <state> without a table
|
|
279
|
+
|
|
280
|
+
Examples:
|
|
281
|
+
| state |
|
|
282
|
+
| failing |
|
|
283
|
+
|
|
284
|
+
Scenario Outline: Hantu Pisang match
|
|
285
|
+
Given <state> without a table
|
|
286
|
+
|
|
287
|
+
Examples:
|
|
288
|
+
| state |
|
|
289
|
+
| passing |
|
|
290
|
+
|
|
291
|
+
Scenario Outline: no match in name but in examples
|
|
292
|
+
Given <state> without a table
|
|
293
|
+
|
|
294
|
+
Examples: Hantu Pisang
|
|
295
|
+
| state |
|
|
296
|
+
| passing |
|
|
297
|
+
|
|
298
|
+
Examples: Ignore me
|
|
299
|
+
| state |
|
|
300
|
+
| failing |
|
|
301
|
+
|
|
302
|
+
@sample_one
|
|
303
|
+
Feature: Tag samples
|
|
304
|
+
|
|
305
|
+
@sample_two @sample_four
|
|
306
|
+
Scenario: Passing
|
|
307
|
+
Given missing
|
|
308
|
+
|
|
309
|
+
@sample_three
|
|
310
|
+
Scenario Outline:
|
|
311
|
+
Given <state>
|
|
312
|
+
|
|
313
|
+
Examples:
|
|
314
|
+
| state |
|
|
315
|
+
| missing |
|
|
316
|
+
|
|
317
|
+
@sample_three @sample_four
|
|
318
|
+
Scenario: Skipped
|
|
319
|
+
Given missing
|
|
320
|
+
|
|
321
|
+
Feature: undefined multiline args
|
|
322
|
+
|
|
323
|
+
Scenario: pystring
|
|
324
|
+
Given a pystring
|
|
325
|
+
\"\"\"
|
|
326
|
+
example with <html> entities
|
|
327
|
+
\"\"\"
|
|
328
|
+
|
|
329
|
+
Scenario: table
|
|
330
|
+
Given a table
|
|
331
|
+
| table |
|
|
332
|
+
| example |
|
|
333
|
+
|
|
334
|
+
26 scenarios (17 skipped, 8 undefined, 1 passed)
|
|
335
|
+
42 steps (30 skipped, 12 undefined)
|
|
336
|
+
|
|
337
|
+
"""
|
|
338
|
+
|
|
339
|
+
Scenario: Multiple formatters and outputs
|
|
340
|
+
When I run cucumber --format progress --out tmp/progress.txt --format pretty --out tmp/pretty.txt --no-source --dry-run --no-snippets features/lots_of_undefined.feature
|
|
341
|
+
Then STDERR should be empty
|
|
342
|
+
Then "fixtures/self_test/tmp/progress.txt" should contain
|
|
343
|
+
"""
|
|
344
|
+
UUUUU
|
|
345
|
+
|
|
346
|
+
1 scenario (1 undefined)
|
|
347
|
+
5 steps (5 undefined)
|
|
348
|
+
|
|
349
|
+
"""
|
|
350
|
+
And "fixtures/self_test/tmp/pretty.txt" should contain
|
|
351
|
+
"""
|
|
352
|
+
Feature: Lots of undefined
|
|
353
|
+
|
|
354
|
+
Scenario: Implement me
|
|
355
|
+
Given it snows in Sahara
|
|
356
|
+
Given it's 40 degrees in Norway
|
|
357
|
+
And it's 40 degrees in Norway
|
|
358
|
+
When I stop procrastinating
|
|
359
|
+
And there is world peace
|
|
360
|
+
|
|
361
|
+
1 scenario (1 undefined)
|
|
362
|
+
5 steps (5 undefined)
|
|
363
|
+
|
|
364
|
+
"""
|
|
365
|
+
|
|
366
|
+
Scenario: Run feature elements which matches a name using --name
|
|
367
|
+
When I run cucumber --name Pisang -q features/
|
|
368
|
+
Then it should pass with
|
|
369
|
+
"""
|
|
370
|
+
Feature: search examples
|
|
371
|
+
|
|
372
|
+
Background: Hantu Pisang background match
|
|
373
|
+
Given passing without a table
|
|
374
|
+
|
|
375
|
+
Scenario: should match Hantu Pisang
|
|
376
|
+
Given passing without a table
|
|
377
|
+
|
|
378
|
+
Scenario Outline: Hantu Pisang match
|
|
379
|
+
Given <state> without a table
|
|
380
|
+
|
|
381
|
+
Examples:
|
|
382
|
+
| state |
|
|
383
|
+
| passing |
|
|
384
|
+
|
|
385
|
+
Scenario Outline: no match in name but in examples
|
|
386
|
+
Given <state> without a table
|
|
387
|
+
|
|
388
|
+
Examples: Hantu Pisang
|
|
389
|
+
| state |
|
|
390
|
+
| passing |
|
|
391
|
+
|
|
392
|
+
3 scenarios (3 passed)
|
|
393
|
+
6 steps (6 passed)
|
|
394
|
+
|
|
395
|
+
"""
|
|
396
|
+
|
|
397
|
+
Scenario: Run a single background which matches a name using --name (Useful if there is an error in it)
|
|
398
|
+
When I run cucumber --name 'Hantu Pisang background' -q features/
|
|
399
|
+
Then it should pass with
|
|
400
|
+
"""
|
|
401
|
+
Feature: search examples
|
|
402
|
+
|
|
403
|
+
Background: Hantu Pisang background match
|
|
404
|
+
Given passing without a table
|
|
405
|
+
|
|
406
|
+
0 scenarios
|
|
407
|
+
1 step (1 passed)
|
|
408
|
+
|
|
409
|
+
"""
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
Scenario: Run with a tag that exists on 2 scenarios
|
|
413
|
+
When I run cucumber -q features --tags @three
|
|
414
|
+
Then it should pass with
|
|
415
|
+
"""
|
|
416
|
+
# Feature comment
|
|
417
|
+
@one
|
|
418
|
+
Feature: Sample
|
|
419
|
+
|
|
420
|
+
@two @three
|
|
421
|
+
Scenario: Missing
|
|
422
|
+
Given missing
|
|
423
|
+
|
|
424
|
+
# Scenario comment
|
|
425
|
+
@three
|
|
426
|
+
Scenario: Passing
|
|
427
|
+
Given passing
|
|
428
|
+
| a | b |
|
|
429
|
+
| c | d |
|
|
430
|
+
|
|
431
|
+
2 scenarios (1 undefined, 1 passed)
|
|
432
|
+
2 steps (1 undefined, 1 passed)
|
|
433
|
+
|
|
434
|
+
"""
|
|
435
|
+
|
|
436
|
+
Scenario: Run with a tag that exists on 1 feature
|
|
437
|
+
When I run cucumber -q features --tags @one
|
|
438
|
+
Then it should fail with
|
|
439
|
+
"""
|
|
440
|
+
# Feature comment
|
|
441
|
+
@one
|
|
442
|
+
Feature: Sample
|
|
443
|
+
|
|
444
|
+
@two @three
|
|
445
|
+
Scenario: Missing
|
|
446
|
+
Given missing
|
|
447
|
+
|
|
448
|
+
# Scenario comment
|
|
449
|
+
@three
|
|
450
|
+
Scenario: Passing
|
|
451
|
+
Given passing
|
|
452
|
+
| a | b |
|
|
453
|
+
| c | d |
|
|
454
|
+
|
|
455
|
+
@four
|
|
456
|
+
Scenario: Failing
|
|
457
|
+
Given failing
|
|
458
|
+
\"\"\"
|
|
459
|
+
hello
|
|
460
|
+
\"\"\"
|
|
461
|
+
FAIL (RuntimeError)
|
|
462
|
+
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
463
|
+
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
|
464
|
+
features/sample.feature:18:in `Given failing'
|
|
465
|
+
|
|
466
|
+
Failing Scenarios:
|
|
467
|
+
cucumber features/sample.feature:17
|
|
468
|
+
|
|
469
|
+
3 scenarios (1 failed, 1 undefined, 1 passed)
|
|
470
|
+
3 steps (1 failed, 1 undefined, 1 passed)
|
|
471
|
+
|
|
472
|
+
"""
|
|
473
|
+
|
|
474
|
+
Scenario: Run with a negative tag
|
|
475
|
+
When I run cucumber -q features/sample.feature --no-source --dry-run --tags ~@four
|
|
476
|
+
Then it should pass with
|
|
477
|
+
"""
|
|
478
|
+
# Feature comment
|
|
479
|
+
@one
|
|
480
|
+
Feature: Sample
|
|
481
|
+
|
|
482
|
+
@two @three
|
|
483
|
+
Scenario: Missing
|
|
484
|
+
Given missing
|
|
485
|
+
|
|
486
|
+
# Scenario comment
|
|
487
|
+
@three
|
|
488
|
+
Scenario: Passing
|
|
489
|
+
Given passing
|
|
490
|
+
| a | b |
|
|
491
|
+
| c | d |
|
|
492
|
+
|
|
493
|
+
2 scenarios (1 skipped, 1 undefined)
|
|
494
|
+
2 steps (1 skipped, 1 undefined)
|
|
495
|
+
|
|
496
|
+
"""
|
|
497
|
+
|
|
498
|
+
Scenario: Run with limited tag count, blowing it on scenario
|
|
499
|
+
When I run cucumber -q features/tags_sample.feature --no-source --dry-run --tags @sample_three:1
|
|
500
|
+
Then it should fail with
|
|
501
|
+
"""
|
|
502
|
+
@sample_three occurred 2 times, but the limit was set to 1
|
|
503
|
+
features/tags_sample.feature:11
|
|
504
|
+
features/tags_sample.feature:16
|
|
505
|
+
"""
|
|
506
|
+
|
|
507
|
+
Scenario: Run with limited tag count, blowing it via feature inheritance
|
|
508
|
+
When I run cucumber -q features/tags_sample.feature --no-source --dry-run --tags @sample_one:1
|
|
509
|
+
Then it should fail with
|
|
510
|
+
"""
|
|
511
|
+
@sample_one occurred 3 times, but the limit was set to 1
|
|
512
|
+
features/tags_sample.feature:5
|
|
513
|
+
features/tags_sample.feature:11
|
|
514
|
+
features/tags_sample.feature:16
|
|
515
|
+
"""
|
|
516
|
+
|
|
517
|
+
Scenario: Run with limited tag count using negative tag, blowing it via a tag that is not run
|
|
518
|
+
When I run cucumber -q features/tags_sample.feature --no-source --dry-run --tags ~@sample_one:1
|
|
519
|
+
Then it should fail with
|
|
520
|
+
"""
|
|
521
|
+
@sample_one occurred 3 times, but the limit was set to 1
|
|
522
|
+
"""
|
|
523
|
+
|
|
524
|
+
Scenario: Reformat files with --autoformat
|
|
525
|
+
When I run cucumber --autoformat tmp/formatted features
|
|
526
|
+
Then STDERR should be empty
|
|
527
|
+
Then "fixtures/self_test/tmp/formatted/features/sample.feature" should contain
|
|
528
|
+
"""
|
|
529
|
+
# Feature comment
|
|
530
|
+
@one
|
|
531
|
+
Feature: Sample
|
|
532
|
+
|
|
533
|
+
@two @three
|
|
534
|
+
Scenario: Missing
|
|
535
|
+
Given missing
|
|
536
|
+
|
|
537
|
+
# Scenario comment
|
|
538
|
+
@three
|
|
539
|
+
Scenario: Passing
|
|
540
|
+
Given passing
|
|
541
|
+
| a | b |
|
|
542
|
+
| c | d |
|
|
543
|
+
|
|
544
|
+
@four
|
|
545
|
+
Scenario: Failing
|
|
546
|
+
Given failing
|
|
547
|
+
\"\"\"
|
|
548
|
+
hello
|
|
549
|
+
\"\"\"
|
|
550
|
+
|
|
551
|
+
|
|
552
|
+
"""
|
|
553
|
+
|
|
554
|
+
# Fails on 1.9 because of encoding issues.
|
|
555
|
+
@fails_on_1_9
|
|
556
|
+
Scenario: Generate PDF with pdf formatter
|
|
557
|
+
When I run cucumber --format pdf --out tmp/sample.pdf --dry-run features/sample.feature
|
|
558
|
+
Then STDERR should be empty
|
|
559
|
+
Then "fixtures/self_test/tmp/sample.pdf" should match "Pages 2"
|
|
560
|
+
|
|
561
|
+
Scenario: Run feature elements which match a name using -n
|
|
562
|
+
When I run cucumber -n Pisang -q features/
|
|
563
|
+
Then STDERR should be empty
|
|
564
|
+
Then it should pass with
|
|
565
|
+
"""
|
|
566
|
+
Feature: search examples
|
|
567
|
+
|
|
568
|
+
Background: Hantu Pisang background match
|
|
569
|
+
Given passing without a table
|
|
570
|
+
|
|
571
|
+
Scenario: should match Hantu Pisang
|
|
572
|
+
Given passing without a table
|
|
573
|
+
|
|
574
|
+
Scenario Outline: Hantu Pisang match
|
|
575
|
+
Given <state> without a table
|
|
576
|
+
|
|
577
|
+
Examples:
|
|
578
|
+
| state |
|
|
579
|
+
| passing |
|
|
580
|
+
|
|
581
|
+
Scenario Outline: no match in name but in examples
|
|
582
|
+
Given <state> without a table
|
|
583
|
+
|
|
584
|
+
Examples: Hantu Pisang
|
|
585
|
+
| state |
|
|
586
|
+
| passing |
|
|
587
|
+
|
|
588
|
+
3 scenarios (3 passed)
|
|
589
|
+
6 steps (6 passed)
|
|
590
|
+
|
|
591
|
+
"""
|