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,50 @@
|
|
|
1
|
+
Feature: List step defs as json
|
|
2
|
+
In order to build tools on top of Cucumber
|
|
3
|
+
As a tool developer
|
|
4
|
+
I want to be able to query a features directory for all the step definitions it contains
|
|
5
|
+
|
|
6
|
+
Background:
|
|
7
|
+
Given a standard Cucumber project directory structure
|
|
8
|
+
|
|
9
|
+
Scenario: Two Ruby step definitions, in the same file
|
|
10
|
+
Given a file named "features/step_definitions/foo_steps.rb" with:
|
|
11
|
+
"""
|
|
12
|
+
Given(/foo/i) {}
|
|
13
|
+
Given(/b.r/xm) {}
|
|
14
|
+
"""
|
|
15
|
+
When I run the following Ruby code:
|
|
16
|
+
"""
|
|
17
|
+
require 'cucumber'
|
|
18
|
+
puts Cucumber::StepDefinitions.new.to_json
|
|
19
|
+
|
|
20
|
+
"""
|
|
21
|
+
Then it should pass
|
|
22
|
+
And the output should contain the following JSON:
|
|
23
|
+
"""
|
|
24
|
+
[
|
|
25
|
+
{"source": "foo", "flags": "i"},
|
|
26
|
+
{"source": "b.r", "flags": "mx"}
|
|
27
|
+
]
|
|
28
|
+
"""
|
|
29
|
+
|
|
30
|
+
Scenario: Non-default directory structure
|
|
31
|
+
Given a file named "my_weird/place/foo_steps.rb" with:
|
|
32
|
+
"""
|
|
33
|
+
Given(/foo/) {}
|
|
34
|
+
Given(/b.r/x) {}
|
|
35
|
+
"""
|
|
36
|
+
When I run the following Ruby code:
|
|
37
|
+
"""
|
|
38
|
+
require 'cucumber'
|
|
39
|
+
puts Cucumber::StepDefinitions.new(:autoload_code_paths => ['my_weird']).to_json
|
|
40
|
+
|
|
41
|
+
"""
|
|
42
|
+
Then it should pass
|
|
43
|
+
And the output should contain the following JSON:
|
|
44
|
+
"""
|
|
45
|
+
[
|
|
46
|
+
{"source": "foo", "flags": ""},
|
|
47
|
+
{"source": "b.r", "flags": "x"}
|
|
48
|
+
]
|
|
49
|
+
|
|
50
|
+
"""
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
Feature: Run Cli::Main with existing Runtime
|
|
2
|
+
|
|
3
|
+
This is the API that Spork uses. It creates an existing runtime then
|
|
4
|
+
calls load_programming_language('rb') on it to load the RbDsl.
|
|
5
|
+
When the process forks, Spork them passes the runtime to Cli::Main to
|
|
6
|
+
run it.
|
|
7
|
+
|
|
8
|
+
Background:
|
|
9
|
+
Given a standard Cucumber project directory structure
|
|
10
|
+
|
|
11
|
+
Scenario: Run a single feature
|
|
12
|
+
Given a file named "features/step_definitions/success.rb" with:
|
|
13
|
+
"""
|
|
14
|
+
Given(/pass/) {}
|
|
15
|
+
"""
|
|
16
|
+
Given a file named "features/success.feature" with:
|
|
17
|
+
"""
|
|
18
|
+
Feature:
|
|
19
|
+
Scenario:
|
|
20
|
+
Given I pass
|
|
21
|
+
"""
|
|
22
|
+
When I run the following Ruby code:
|
|
23
|
+
"""
|
|
24
|
+
require 'cucumber'
|
|
25
|
+
runtime = Cucumber::Runtime.new
|
|
26
|
+
runtime.load_programming_language('rb')
|
|
27
|
+
Cucumber::Cli::Main.new([]).execute!(runtime)
|
|
28
|
+
|
|
29
|
+
"""
|
|
30
|
+
Then it should pass
|
|
31
|
+
And the output should contain:
|
|
32
|
+
"""
|
|
33
|
+
Given I pass
|
|
34
|
+
"""
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
Feature: Around hooks
|
|
2
|
+
In order to support transactional scenarios for database libraries
|
|
3
|
+
that provide only a block syntax for transactions, Cucumber should
|
|
4
|
+
permit definition of Around hooks.
|
|
5
|
+
|
|
6
|
+
Scenario: A single Around hook
|
|
7
|
+
Given a standard Cucumber project directory structure
|
|
8
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
9
|
+
"""
|
|
10
|
+
Then /^the hook is called$/ do
|
|
11
|
+
$hook_called.should == true
|
|
12
|
+
end
|
|
13
|
+
"""
|
|
14
|
+
And a file named "features/support/hooks.rb" with:
|
|
15
|
+
"""
|
|
16
|
+
Around do |scenario, block|
|
|
17
|
+
$hook_called = true
|
|
18
|
+
block.call
|
|
19
|
+
end
|
|
20
|
+
"""
|
|
21
|
+
And a file named "features/f.feature" with:
|
|
22
|
+
"""
|
|
23
|
+
Feature: Around hooks
|
|
24
|
+
Scenario: using hook
|
|
25
|
+
Then the hook is called
|
|
26
|
+
"""
|
|
27
|
+
When I run cucumber features/f.feature
|
|
28
|
+
Then it should pass with
|
|
29
|
+
"""
|
|
30
|
+
Feature: Around hooks
|
|
31
|
+
|
|
32
|
+
Scenario: using hook # features/f.feature:2
|
|
33
|
+
Then the hook is called # features/step_definitions/steps.rb:1
|
|
34
|
+
|
|
35
|
+
1 scenario (1 passed)
|
|
36
|
+
1 step (1 passed)
|
|
37
|
+
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
Scenario: Multiple Around hooks
|
|
41
|
+
Given a standard Cucumber project directory structure
|
|
42
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
43
|
+
"""
|
|
44
|
+
Then /^the hooks are called in the correct order$/ do
|
|
45
|
+
$hooks_called.should == ['A', 'B', 'C']
|
|
46
|
+
end
|
|
47
|
+
"""
|
|
48
|
+
And a file named "features/support/hooks.rb" with:
|
|
49
|
+
"""
|
|
50
|
+
Around do |scenario, block|
|
|
51
|
+
$hooks_called ||= []
|
|
52
|
+
$hooks_called << 'A'
|
|
53
|
+
block.call
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
Around do |scenario, block|
|
|
57
|
+
$hooks_called ||= []
|
|
58
|
+
$hooks_called << 'B'
|
|
59
|
+
block.call
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
Around do |scenario, block|
|
|
63
|
+
$hooks_called ||= []
|
|
64
|
+
$hooks_called << 'C'
|
|
65
|
+
block.call
|
|
66
|
+
end
|
|
67
|
+
"""
|
|
68
|
+
And a file named "features/f.feature" with:
|
|
69
|
+
"""
|
|
70
|
+
Feature: Around hooks
|
|
71
|
+
Scenario: using multiple hooks
|
|
72
|
+
Then the hooks are called in the correct order
|
|
73
|
+
"""
|
|
74
|
+
When I run cucumber features/f.feature
|
|
75
|
+
Then it should pass with
|
|
76
|
+
"""
|
|
77
|
+
Feature: Around hooks
|
|
78
|
+
|
|
79
|
+
Scenario: using multiple hooks # features/f.feature:2
|
|
80
|
+
Then the hooks are called in the correct order # features/step_definitions/steps.rb:1
|
|
81
|
+
|
|
82
|
+
1 scenario (1 passed)
|
|
83
|
+
1 step (1 passed)
|
|
84
|
+
|
|
85
|
+
"""
|
|
86
|
+
|
|
87
|
+
Scenario: Mixing Around, Before, and After hooks
|
|
88
|
+
Given a standard Cucumber project directory structure
|
|
89
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
90
|
+
"""
|
|
91
|
+
Then /^the Around hook is called around Before and After hooks$/ do
|
|
92
|
+
$hooks_called.should == ['Around', 'Before']
|
|
93
|
+
end
|
|
94
|
+
"""
|
|
95
|
+
And a file named "features/support/hooks.rb" with:
|
|
96
|
+
"""
|
|
97
|
+
Around do |scenario, block|
|
|
98
|
+
$hooks_called ||= []
|
|
99
|
+
$hooks_called << 'Around'
|
|
100
|
+
block.call
|
|
101
|
+
$hooks_called << 'Around'
|
|
102
|
+
$hooks_called.should == ['Around', 'Before', 'After', 'Around']
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
Before do |scenario|
|
|
106
|
+
$hooks_called ||= []
|
|
107
|
+
$hooks_called << 'Before'
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
After do |scenario|
|
|
111
|
+
$hooks_called ||= []
|
|
112
|
+
$hooks_called << 'After'
|
|
113
|
+
$hooks_called.should == ['Around', 'Before', 'After']
|
|
114
|
+
end
|
|
115
|
+
"""
|
|
116
|
+
And a file named "features/f.feature" with:
|
|
117
|
+
"""
|
|
118
|
+
Feature: Around hooks
|
|
119
|
+
Scenario: Mixing Around, Before, and After hooks
|
|
120
|
+
Then the Around hook is called around Before and After hooks
|
|
121
|
+
"""
|
|
122
|
+
When I run cucumber features/f.feature
|
|
123
|
+
Then it should pass with
|
|
124
|
+
"""
|
|
125
|
+
Feature: Around hooks
|
|
126
|
+
|
|
127
|
+
Scenario: Mixing Around, Before, and After hooks # features/f.feature:2
|
|
128
|
+
Then the Around hook is called around Before and After hooks # features/step_definitions/steps.rb:1
|
|
129
|
+
|
|
130
|
+
1 scenario (1 passed)
|
|
131
|
+
1 step (1 passed)
|
|
132
|
+
|
|
133
|
+
"""
|
|
134
|
+
|
|
135
|
+
Scenario: Around hooks with tags
|
|
136
|
+
Given a standard Cucumber project directory structure
|
|
137
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
138
|
+
"""
|
|
139
|
+
Then /^the Around hooks with matching tags are called$/ do
|
|
140
|
+
$hooks_called.should == ['one', 'one or two']
|
|
141
|
+
end
|
|
142
|
+
"""
|
|
143
|
+
And a file named "features/support/hooks.rb" with:
|
|
144
|
+
"""
|
|
145
|
+
Around('@one') do |scenario, block|
|
|
146
|
+
$hooks_called ||= []
|
|
147
|
+
$hooks_called << 'one'
|
|
148
|
+
block.call
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
Around('@one,@two') do |scenario, block|
|
|
152
|
+
$hooks_called ||= []
|
|
153
|
+
$hooks_called << 'one or two'
|
|
154
|
+
block.call
|
|
155
|
+
end
|
|
156
|
+
|
|
157
|
+
Around('@one', '@two') do |scenario, block|
|
|
158
|
+
$hooks_called ||= []
|
|
159
|
+
$hooks_called << 'one and two'
|
|
160
|
+
block.call
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
Around('@two') do |scenario, block|
|
|
164
|
+
$hooks_called ||= []
|
|
165
|
+
$hooks_called << 'two'
|
|
166
|
+
block.call
|
|
167
|
+
end
|
|
168
|
+
"""
|
|
169
|
+
And a file named "features/f.feature" with:
|
|
170
|
+
"""
|
|
171
|
+
Feature: Around hooks
|
|
172
|
+
@one
|
|
173
|
+
Scenario: Around hooks with tags
|
|
174
|
+
Then the Around hooks with matching tags are called
|
|
175
|
+
"""
|
|
176
|
+
When I run cucumber -q -t @one features/f.feature
|
|
177
|
+
Then it should pass with
|
|
178
|
+
"""
|
|
179
|
+
Feature: Around hooks
|
|
180
|
+
|
|
181
|
+
@one
|
|
182
|
+
Scenario: Around hooks with tags
|
|
183
|
+
Then the Around hooks with matching tags are called
|
|
184
|
+
|
|
185
|
+
1 scenario (1 passed)
|
|
186
|
+
1 step (1 passed)
|
|
187
|
+
|
|
188
|
+
"""
|
|
189
|
+
|
|
190
|
+
Scenario: Around hooks with scenario outlines
|
|
191
|
+
Given a standard Cucumber project directory structure
|
|
192
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
193
|
+
"""
|
|
194
|
+
Then /^the hook is called$/ do
|
|
195
|
+
$hook_called.should == true
|
|
196
|
+
end
|
|
197
|
+
"""
|
|
198
|
+
And a file named "features/support/hooks.rb" with:
|
|
199
|
+
"""
|
|
200
|
+
Around do |scenario, block|
|
|
201
|
+
$hook_called = true
|
|
202
|
+
block.call
|
|
203
|
+
end
|
|
204
|
+
"""
|
|
205
|
+
And a file named "features/f.feature" with:
|
|
206
|
+
"""
|
|
207
|
+
Feature: Around hooks with scenario outlines
|
|
208
|
+
Scenario Outline: using hook
|
|
209
|
+
Then the hook is called
|
|
210
|
+
|
|
211
|
+
Examples:
|
|
212
|
+
| Number |
|
|
213
|
+
| one |
|
|
214
|
+
| two |
|
|
215
|
+
"""
|
|
216
|
+
When I run cucumber features/f.feature
|
|
217
|
+
Then it should pass with
|
|
218
|
+
"""
|
|
219
|
+
Feature: Around hooks with scenario outlines
|
|
220
|
+
|
|
221
|
+
Scenario Outline: using hook # features/f.feature:2
|
|
222
|
+
Then the hook is called # features/step_definitions/steps.rb:1
|
|
223
|
+
|
|
224
|
+
Examples:
|
|
225
|
+
| Number |
|
|
226
|
+
| one |
|
|
227
|
+
| two |
|
|
228
|
+
|
|
229
|
+
2 scenarios (2 passed)
|
|
230
|
+
2 steps (2 passed)
|
|
231
|
+
|
|
232
|
+
"""
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/371
|
|
2
|
+
Scenario: Before runs once
|
|
3
|
+
Given a standard Cucumber project directory structure
|
|
4
|
+
And a file named "features/f.feature" with:
|
|
5
|
+
"""
|
|
6
|
+
Feature: F
|
|
7
|
+
Scenario: S
|
|
8
|
+
Given G
|
|
9
|
+
"""
|
|
10
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
11
|
+
"""
|
|
12
|
+
Before do
|
|
13
|
+
puts "B"
|
|
14
|
+
end
|
|
15
|
+
Given /G/ do
|
|
16
|
+
puts "G"
|
|
17
|
+
end
|
|
18
|
+
"""
|
|
19
|
+
When I run cucumber -q --format pretty --format progress --out progress.txt features/f.feature
|
|
20
|
+
Then it should pass with
|
|
21
|
+
"""
|
|
22
|
+
Feature: F
|
|
23
|
+
|
|
24
|
+
Scenario: S
|
|
25
|
+
Given G
|
|
26
|
+
B
|
|
27
|
+
G
|
|
28
|
+
|
|
29
|
+
1 scenario (1 passed)
|
|
30
|
+
1 step (1 passed)
|
|
31
|
+
|
|
32
|
+
"""
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/464
|
|
2
|
+
Scenario: Limiting with tags which do not exist in the features
|
|
3
|
+
Given a standard Cucumber project directory structure
|
|
4
|
+
And a file named "features/f.feature" with:
|
|
5
|
+
"""
|
|
6
|
+
Feature: Test
|
|
7
|
+
In order to test
|
|
8
|
+
As a tester
|
|
9
|
+
I want to test
|
|
10
|
+
|
|
11
|
+
@tag
|
|
12
|
+
Scenario: Testing
|
|
13
|
+
Given I'm a test
|
|
14
|
+
"""
|
|
15
|
+
When I run cucumber -q features/f.feature --tag @i_dont_exist
|
|
16
|
+
Then it should pass
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/475
|
|
2
|
+
Scenario: error on pystring in scenario outline with pretty formatter
|
|
3
|
+
Given a standard Cucumber project directory structure
|
|
4
|
+
And a file named "features/f.feature" with:
|
|
5
|
+
"""
|
|
6
|
+
Feature: F
|
|
7
|
+
Scenario Outline: S
|
|
8
|
+
Given a multiline string:
|
|
9
|
+
\"\"\"
|
|
10
|
+
hello <who>
|
|
11
|
+
\"\"\"
|
|
12
|
+
Examples:
|
|
13
|
+
| who |
|
|
14
|
+
| aslak |
|
|
15
|
+
| david |
|
|
16
|
+
"""
|
|
17
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
18
|
+
"""
|
|
19
|
+
Given /a multiline string:/ do |s| s.should =~ /hello (\w+)/
|
|
20
|
+
end
|
|
21
|
+
"""
|
|
22
|
+
When I run cucumber features/f.feature
|
|
23
|
+
Then STDERR should be empty
|
|
24
|
+
And it should pass with
|
|
25
|
+
"""
|
|
26
|
+
Feature: F
|
|
27
|
+
|
|
28
|
+
Scenario Outline: S # features/f.feature:2
|
|
29
|
+
Given a multiline string: # features/step_definitions/steps.rb:1
|
|
30
|
+
\"\"\"
|
|
31
|
+
hello <who>
|
|
32
|
+
\"\"\"
|
|
33
|
+
|
|
34
|
+
Examples:
|
|
35
|
+
| who |
|
|
36
|
+
| aslak |
|
|
37
|
+
| david |
|
|
38
|
+
|
|
39
|
+
2 scenarios (2 passed)
|
|
40
|
+
2 steps (2 passed)
|
|
41
|
+
|
|
42
|
+
"""
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# Make sure tab indentation is preserved in this feature!
|
|
2
|
+
Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/585
|
|
3
|
+
Scenario: Tab indentation should work
|
|
4
|
+
Given a standard Cucumber project directory structure
|
|
5
|
+
And a file named "features/f.feature" with:
|
|
6
|
+
"""
|
|
7
|
+
Feature: developer creates a skeleton Ruby application
|
|
8
|
+
Scenario: create a new application
|
|
9
|
+
Given a tab indented pystring:
|
|
10
|
+
\"\"\"
|
|
11
|
+
I'm tab
|
|
12
|
+
and space indented
|
|
13
|
+
\"\"\"
|
|
14
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
15
|
+
\"\"\"
|
|
16
|
+
Given /a tab indented pystring:/ do |s| s.should == "I'm tab\n and space indented"
|
|
17
|
+
end
|
|
18
|
+
\"\"\"
|
|
19
|
+
"""
|
|
20
|
+
When I run cucumber features/f.feature
|
|
21
|
+
Then STDERR should be empty
|
|
22
|
+
And it should pass
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
Feature: http://rspec.lighthouseapp.com/projects/16211/tickets/600-inconsistent-order-of-execution-background-and-before-in-070beta2
|
|
2
|
+
|
|
3
|
+
Scenario: Background executed twice when scenario follows scenario outline
|
|
4
|
+
Given a standard Cucumber project directory structure
|
|
5
|
+
And a file named "features/t.feature" with:
|
|
6
|
+
"""
|
|
7
|
+
Feature: test
|
|
8
|
+
Background:
|
|
9
|
+
Given I am in the background
|
|
10
|
+
|
|
11
|
+
Scenario Outline: test 1
|
|
12
|
+
Given I am a step
|
|
13
|
+
|
|
14
|
+
Examples:
|
|
15
|
+
| a |
|
|
16
|
+
| 1 |
|
|
17
|
+
|
|
18
|
+
Scenario: test 2
|
|
19
|
+
"""
|
|
20
|
+
And a file named "features/step_definitions/t_steps.rb" with:
|
|
21
|
+
"""
|
|
22
|
+
Given "I am in the background" do
|
|
23
|
+
puts "Within background"
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
Given "I am a step" do
|
|
27
|
+
# no-op
|
|
28
|
+
end
|
|
29
|
+
"""
|
|
30
|
+
And a file named "features/support/env.rb" with:
|
|
31
|
+
"""
|
|
32
|
+
module TestWorld
|
|
33
|
+
def before_scenario
|
|
34
|
+
puts "Before scenario"
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def after_scenario
|
|
38
|
+
puts "After scenario"
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
World(TestWorld)
|
|
43
|
+
|
|
44
|
+
Before do
|
|
45
|
+
before_scenario
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
After do
|
|
49
|
+
after_scenario
|
|
50
|
+
end
|
|
51
|
+
"""
|
|
52
|
+
When I run cucumber -f progress features/t.feature
|
|
53
|
+
Then it should pass with
|
|
54
|
+
"""
|
|
55
|
+
|
|
56
|
+
Before scenario
|
|
57
|
+
|
|
58
|
+
Within background
|
|
59
|
+
.--
|
|
60
|
+
After scenario
|
|
61
|
+
|
|
62
|
+
Before scenario
|
|
63
|
+
|
|
64
|
+
Within background
|
|
65
|
+
.
|
|
66
|
+
After scenario
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
2 scenarios (2 passed)
|
|
70
|
+
3 steps (3 passed)
|
|
71
|
+
|
|
72
|
+
"""
|
|
73
|
+
|