cucumber 3.0.1 → 3.2.0
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.
- checksums.yaml +5 -5
- data/CHANGELOG.md +84 -4
- data/CONTRIBUTING.md +3 -4
- data/README.md +12 -12
- data/lib/autotest/cucumber.rb +1 -0
- data/lib/autotest/cucumber_mixin.rb +1 -0
- data/lib/autotest/cucumber_rails.rb +1 -0
- data/lib/autotest/cucumber_rails_rspec.rb +1 -0
- data/lib/autotest/cucumber_rails_rspec2.rb +1 -0
- data/lib/autotest/cucumber_rspec.rb +1 -0
- data/lib/autotest/cucumber_rspec2.rb +1 -0
- data/lib/autotest/discover.rb +1 -0
- data/lib/cucumber.rb +1 -0
- data/lib/cucumber/cli/configuration.rb +1 -0
- data/lib/cucumber/cli/main.rb +2 -2
- data/lib/cucumber/cli/options.rb +63 -55
- data/lib/cucumber/cli/profile_loader.rb +5 -7
- data/lib/cucumber/cli/rerun_file.rb +1 -0
- data/lib/cucumber/configuration.rb +8 -7
- data/lib/cucumber/constantize.rb +6 -5
- data/lib/cucumber/core_ext/string.rb +1 -0
- data/lib/cucumber/deprecate.rb +1 -1
- data/lib/cucumber/encoding.rb +2 -1
- data/lib/cucumber/errors.rb +2 -1
- data/lib/cucumber/events.rb +1 -2
- data/lib/cucumber/events/gherkin_source_read.rb +1 -4
- data/lib/cucumber/events/step_activated.rb +4 -5
- data/lib/cucumber/events/step_definition_registered.rb +4 -8
- data/lib/cucumber/events/test_case_finished.rb +0 -4
- data/lib/cucumber/events/test_case_started.rb +0 -4
- data/lib/cucumber/events/test_run_finished.rb +2 -3
- data/lib/cucumber/events/test_run_started.rb +2 -4
- data/lib/cucumber/events/test_step_finished.rb +0 -6
- data/lib/cucumber/events/test_step_started.rb +1 -7
- data/lib/cucumber/file_specs.rb +2 -1
- data/lib/cucumber/filters.rb +1 -0
- data/lib/cucumber/filters/activate_steps.rb +1 -1
- data/lib/cucumber/filters/apply_after_hooks.rb +1 -0
- data/lib/cucumber/filters/apply_after_step_hooks.rb +1 -0
- data/lib/cucumber/filters/apply_around_hooks.rb +1 -0
- data/lib/cucumber/filters/apply_before_hooks.rb +1 -0
- data/lib/cucumber/filters/broadcast_test_run_started_event.rb +2 -1
- data/lib/cucumber/filters/gated_receiver.rb +1 -2
- data/lib/cucumber/filters/prepare_world.rb +2 -5
- data/lib/cucumber/filters/quit.rb +2 -4
- data/lib/cucumber/filters/randomizer.rb +6 -7
- data/lib/cucumber/filters/retry.rb +2 -2
- data/lib/cucumber/filters/tag_limits.rb +2 -2
- data/lib/cucumber/filters/tag_limits/test_case_index.rb +1 -2
- data/lib/cucumber/filters/tag_limits/verifier.rb +1 -2
- data/lib/cucumber/formatter/ansicolor.rb +13 -12
- data/lib/cucumber/formatter/backtrace_filter.rb +1 -2
- data/lib/cucumber/formatter/console.rb +11 -12
- data/lib/cucumber/formatter/console_counts.rb +4 -4
- data/lib/cucumber/formatter/console_issues.rb +3 -3
- data/lib/cucumber/formatter/duration.rb +1 -0
- data/lib/cucumber/formatter/duration_extractor.rb +1 -1
- data/lib/cucumber/formatter/fail_fast.rb +9 -6
- data/lib/cucumber/formatter/fanout.rb +1 -3
- data/lib/cucumber/formatter/hook_query_visitor.rb +1 -0
- data/lib/cucumber/formatter/html.rb +28 -32
- data/lib/cucumber/formatter/html_builder.rb +3 -2
- data/lib/cucumber/formatter/http_io.rb +146 -0
- data/lib/cucumber/formatter/ignore_missing_messages.rb +1 -3
- data/lib/cucumber/formatter/interceptor.rb +18 -5
- data/lib/cucumber/formatter/io.rb +18 -11
- data/lib/cucumber/formatter/json.rb +11 -4
- data/lib/cucumber/formatter/json_pretty.rb +1 -1
- data/lib/cucumber/formatter/junit.rb +22 -17
- data/lib/cucumber/formatter/pretty.rb +4 -3
- data/lib/cucumber/formatter/progress.rb +3 -2
- data/lib/cucumber/formatter/rerun.rb +2 -1
- data/lib/cucumber/formatter/stepdefs.rb +1 -0
- data/lib/cucumber/formatter/steps.rb +2 -2
- data/lib/cucumber/formatter/summary.rb +1 -2
- data/lib/cucumber/formatter/unicode.rb +2 -2
- data/lib/cucumber/formatter/usage.rb +22 -19
- data/lib/cucumber/gherkin/data_table_parser.rb +1 -0
- data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +86 -85
- data/lib/cucumber/gherkin/formatter/escaping.rb +13 -12
- data/lib/cucumber/gherkin/i18n.rb +1 -0
- data/lib/cucumber/gherkin/steps_parser.rb +1 -0
- data/lib/cucumber/glue/dsl.rb +1 -0
- data/lib/cucumber/glue/hook.rb +1 -0
- data/lib/cucumber/glue/invoke_in_world.rb +3 -3
- data/lib/cucumber/glue/proto_world.rb +10 -9
- data/lib/cucumber/glue/registry_and_more.rb +13 -12
- data/lib/cucumber/glue/snippet.rb +1 -5
- data/lib/cucumber/glue/step_definition.rb +10 -10
- data/lib/cucumber/glue/world_factory.rb +1 -3
- data/lib/cucumber/hooks.rb +13 -3
- data/lib/cucumber/load_path.rb +1 -0
- data/lib/cucumber/multiline_argument.rb +3 -3
- data/lib/cucumber/multiline_argument/data_table.rb +16 -20
- data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +7 -11
- data/lib/cucumber/multiline_argument/doc_string.rb +1 -0
- data/lib/cucumber/platform.rb +2 -1
- data/lib/cucumber/project_initializer.rb +1 -1
- data/lib/cucumber/rake/task.rb +8 -5
- data/lib/cucumber/rspec/disable_option_parser.rb +1 -0
- data/lib/cucumber/rspec/doubles.rb +1 -0
- data/lib/cucumber/running_test_case.rb +2 -1
- data/lib/cucumber/runtime.rb +6 -6
- data/lib/cucumber/runtime/after_hooks.rb +1 -0
- data/lib/cucumber/runtime/before_hooks.rb +1 -0
- data/lib/cucumber/runtime/for_programming_languages.rb +8 -7
- data/lib/cucumber/runtime/step_hooks.rb +2 -0
- data/lib/cucumber/runtime/support_code.rb +3 -7
- data/lib/cucumber/runtime/user_interface.rb +2 -3
- data/lib/cucumber/step_argument.rb +1 -0
- data/lib/cucumber/step_definition_light.rb +2 -1
- data/lib/cucumber/step_definitions.rb +2 -1
- data/lib/cucumber/step_match.rb +9 -8
- data/lib/cucumber/step_match_search.rb +8 -9
- data/lib/cucumber/term/ansicolor.rb +30 -30
- data/lib/cucumber/unit.rb +1 -0
- data/lib/cucumber/version +1 -1
- data/lib/simplecov_setup.rb +1 -0
- metadata +64 -659
- data/.coveralls.yml +0 -1
- data/.cucumberproignore +0 -6
- data/.gitattributes +0 -32
- data/.github/ISSUE_TEMPLATE.md +0 -48
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -40
- data/.rspec +0 -1
- data/.rubocop.yml +0 -13
- data/.rubocop_todo.yml +0 -991
- data/.ruby-gemset +0 -1
- data/.travis.yml +0 -70
- data/.yardopts +0 -1
- data/Gemfile +0 -28
- data/Rakefile +0 -32
- data/appveyor.yml +0 -27
- data/cucumber.gemspec +0 -52
- data/cucumber.yml +0 -19
- data/examples/i18n/README.textile +0 -3
- data/examples/i18n/Rakefile +0 -33
- data/examples/i18n/ar/Rakefile +0 -6
- data/examples/i18n/ar/features/addition.feature +0 -17
- data/examples/i18n/ar/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/ar/lib/calculator.rb +0 -11
- data/examples/i18n/bg/Rakefile +0 -6
- data/examples/i18n/bg/features/addition.feature +0 -12
- data/examples/i18n/bg/features/consecutive_calculations.feature +0 -19
- data/examples/i18n/bg/features/division.feature +0 -17
- data/examples/i18n/bg/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/bg/features/support/env.rb +0 -10
- data/examples/i18n/bg/features/support/world.rb +0 -8
- data/examples/i18n/bg/lib/calculator.rb +0 -25
- data/examples/i18n/ca/Rakefile +0 -6
- data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +0 -26
- data/examples/i18n/ca/features/suma.feature +0 -17
- data/examples/i18n/ca/lib/calculadora.rb +0 -16
- data/examples/i18n/cs/Rakefile +0 -6
- data/examples/i18n/cs/features/addition.feature +0 -17
- data/examples/i18n/cs/features/division.feature +0 -11
- data/examples/i18n/cs/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/cs/lib/calculator.rb +0 -14
- data/examples/i18n/da/Rakefile +0 -6
- data/examples/i18n/da/features/sammenlaegning.feature +0 -18
- data/examples/i18n/da/features/step_definitions/lommeregner_steps.rb +0 -29
- data/examples/i18n/da/lib/lommeregner.rb +0 -11
- data/examples/i18n/de/Rakefile +0 -6
- data/examples/i18n/de/features/addition.feature +0 -17
- data/examples/i18n/de/features/division.feature +0 -10
- data/examples/i18n/de/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/de/lib/calculator.rb +0 -14
- data/examples/i18n/el/Rakefile +0 -6
- data/examples/i18n/el/features/addition.feature +0 -17
- data/examples/i18n/el/features/division.feature +0 -10
- data/examples/i18n/el/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/el/lib/calculator.rb +0 -14
- data/examples/i18n/en-lol/Rakefile +0 -4
- data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +0 -16
- data/examples/i18n/en-lol/features/stuffing.feature +0 -8
- data/examples/i18n/en-lol/features/support/env.rb +0 -11
- data/examples/i18n/en-lol/lib/basket.rb +0 -12
- data/examples/i18n/en-lol/lib/belly.rb +0 -11
- data/examples/i18n/en/Rakefile +0 -6
- data/examples/i18n/en/features/addition.feature +0 -17
- data/examples/i18n/en/features/division.feature +0 -10
- data/examples/i18n/en/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/en/lib/calculator.rb +0 -14
- data/examples/i18n/eo/Rakefile +0 -6
- data/examples/i18n/eo/features/adicio.feature +0 -17
- data/examples/i18n/eo/features/divido.feature +0 -10
- data/examples/i18n/eo/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/eo/lib/calculator.rb +0 -14
- data/examples/i18n/es/Rakefile +0 -6
- data/examples/i18n/es/features/adicion.feature +0 -17
- data/examples/i18n/es/features/step_definitions/calculador_steps.rb +0 -26
- data/examples/i18n/es/lib/calculador.rb +0 -14
- data/examples/i18n/et/Rakefile +0 -6
- data/examples/i18n/et/features/jagamine.feature +0 -10
- data/examples/i18n/et/features/liitmine.feature +0 -17
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -29
- data/examples/i18n/et/lib/kalkulaator.rb +0 -14
- data/examples/i18n/fi/Rakefile +0 -6
- data/examples/i18n/fi/features/jakolasku.feature +0 -10
- data/examples/i18n/fi/features/step_definitions/laskin_steps.rb +0 -29
- data/examples/i18n/fi/features/yhteenlasku.feature +0 -17
- data/examples/i18n/fi/lib/laskin.rb +0 -14
- data/examples/i18n/fr/Rakefile +0 -8
- data/examples/i18n/fr/features/addition.feature +0 -18
- data/examples/i18n/fr/features/addition2.feature +0 -17
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -32
- data/examples/i18n/fr/features/support/env.rb +0 -10
- data/examples/i18n/fr/lib/calculatrice.rb +0 -10
- data/examples/i18n/he/Rakefile +0 -6
- data/examples/i18n/he/features/addition.feature +0 -17
- data/examples/i18n/he/features/division.feature +0 -10
- data/examples/i18n/he/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/he/lib/calculator.rb +0 -15
- data/examples/i18n/hi/Rakefile +0 -6
- data/examples/i18n/hi/features/addition.feature +0 -16
- data/examples/i18n/hi/features/division.feature +0 -10
- data/examples/i18n/hi/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/hi/lib/calculator.rb +0 -15
- data/examples/i18n/ht/Rakefile +0 -6
- data/examples/i18n/ht/features/adisyon.feature +0 -17
- data/examples/i18n/ht/features/divizyon.feature +0 -10
- data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +0 -29
- data/examples/i18n/ht/lib/kalkilatris.rb +0 -14
- data/examples/i18n/hu/Rakefile +0 -6
- data/examples/i18n/hu/features/osszeadas.feature +0 -17
- data/examples/i18n/hu/features/osztas.feature +0 -10
- data/examples/i18n/hu/features/step_definitions/calculator_steps.rb +0 -30
- data/examples/i18n/hu/lib/calculator.rb +0 -14
- data/examples/i18n/id/Rakefile +0 -6
- data/examples/i18n/id/features/addition.feature +0 -17
- data/examples/i18n/id/features/division.feature +0 -10
- data/examples/i18n/id/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/id/lib/calculator.rb +0 -14
- data/examples/i18n/it/Rakefile +0 -6
- data/examples/i18n/it/features/somma.feature +0 -11
- data/examples/i18n/it/features/step_definitions/calcolatrice_steps.rb +0 -29
- data/examples/i18n/it/lib/calcolatrice.rb +0 -11
- data/examples/i18n/ja/Rakefile +0 -6
- data/examples/i18n/ja/features/addition.feature +0 -17
- data/examples/i18n/ja/features/division.feature +0 -10
- data/examples/i18n/ja/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/ja/features/support/env.rb +0 -10
- data/examples/i18n/ja/lib/calculator.rb +0 -14
- data/examples/i18n/ko/Rakefile +0 -6
- data/examples/i18n/ko/features/addition.feature +0 -17
- data/examples/i18n/ko/features/division.feature +0 -11
- data/examples/i18n/ko/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/ko/lib/calculator.rb +0 -14
- data/examples/i18n/lt/Rakefile +0 -6
- data/examples/i18n/lt/features/addition.feature +0 -17
- data/examples/i18n/lt/features/division.feature +0 -10
- data/examples/i18n/lt/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/lt/lib/calculator.rb +0 -14
- data/examples/i18n/lv/Rakefile +0 -6
- data/examples/i18n/lv/features/addition.feature +0 -17
- data/examples/i18n/lv/features/division.feature +0 -10
- data/examples/i18n/lv/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/lv/lib/calculator.rb +0 -14
- data/examples/i18n/no/Rakefile +0 -6
- data/examples/i18n/no/features/step_definitions/kalkulator_steps.rb +0 -17
- data/examples/i18n/no/features/summering.feature +0 -19
- data/examples/i18n/no/features/support/env.rb +0 -11
- data/examples/i18n/no/lib/kalkulator.rb +0 -11
- data/examples/i18n/pl/Rakefile +0 -6
- data/examples/i18n/pl/features/addition.feature +0 -17
- data/examples/i18n/pl/features/division.feature +0 -10
- data/examples/i18n/pl/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/pl/features/support/env.rb +0 -10
- data/examples/i18n/pl/lib/calculator.rb +0 -14
- data/examples/i18n/pt/Rakefile +0 -6
- data/examples/i18n/pt/features/adicao.feature +0 -11
- data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -20
- data/examples/i18n/pt/features/support/env.rb +0 -10
- data/examples/i18n/pt/lib/calculadora.rb +0 -10
- data/examples/i18n/ro/Rakefile +0 -6
- data/examples/i18n/ro/features/adunare.feature +0 -12
- data/examples/i18n/ro/features/step_definitions/calculator_steps.rb +0 -26
- data/examples/i18n/ro/lib/calculator.rb +0 -11
- data/examples/i18n/ru/Rakefile +0 -6
- data/examples/i18n/ru/features/addition.feature +0 -11
- data/examples/i18n/ru/features/consecutive_calculations.feature +0 -17
- data/examples/i18n/ru/features/division.feature +0 -16
- data/examples/i18n/ru/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/ru/features/support/env.rb +0 -10
- data/examples/i18n/ru/features/support/world.rb +0 -8
- data/examples/i18n/ru/lib/calculator.rb +0 -25
- data/examples/i18n/sk/Rakefile +0 -6
- data/examples/i18n/sk/features/addition.feature +0 -17
- data/examples/i18n/sk/features/division.feature +0 -10
- data/examples/i18n/sk/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/sk/lib/calculator.rb +0 -14
- data/examples/i18n/sr-Cyrl/Rakefile +0 -6
- data/examples/i18n/sr-Cyrl/features/sabiranje.feature +0 -18
- data/examples/i18n/sr-Cyrl/features/step_definitions/calculator_steps.rb +0 -20
- data/examples/i18n/sr-Cyrl/features/support/env.rb +0 -10
- data/examples/i18n/sr-Cyrl/lib/calculator.rb +0 -12
- data/examples/i18n/sr-Latn/Rakefile +0 -6
- data/examples/i18n/sr-Latn/features/sabiranje.feature +0 -18
- data/examples/i18n/sr-Latn/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/sr-Latn/lib/calculator.rb +0 -12
- data/examples/i18n/sv/Rakefile +0 -6
- data/examples/i18n/sv/features/step_definitions/kalkulator_steps.rb +0 -29
- data/examples/i18n/sv/features/summering.feature +0 -18
- data/examples/i18n/sv/lib/kalkulator.rb +0 -11
- data/examples/i18n/tr/Rakefile +0 -6
- data/examples/i18n/tr/features/bolme.feature +0 -10
- data/examples/i18n/tr/features/step_definitions/hesap_makinesi_adimlari.rb +0 -29
- data/examples/i18n/tr/features/toplama.feature +0 -18
- data/examples/i18n/tr/lib/hesap_makinesi.rb +0 -15
- data/examples/i18n/uk/Rakefile +0 -6
- data/examples/i18n/uk/features/addition.feature +0 -11
- data/examples/i18n/uk/features/consecutive_calculations.feature +0 -17
- data/examples/i18n/uk/features/division.feature +0 -16
- data/examples/i18n/uk/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/uk/features/support/env.rb +0 -10
- data/examples/i18n/uk/features/support/world.rb +0 -8
- data/examples/i18n/uk/lib/calculator.rb +0 -25
- data/examples/i18n/uz/Rakefile +0 -6
- data/examples/i18n/uz/features/addition.feature +0 -10
- data/examples/i18n/uz/features/consecutive_calculations.feature +0 -17
- data/examples/i18n/uz/features/division.feature +0 -17
- data/examples/i18n/uz/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/uz/features/support/env.rb +0 -10
- data/examples/i18n/uz/features/support/world.rb +0 -8
- data/examples/i18n/uz/lib/calculator.rb +0 -25
- data/examples/i18n/zh-CN/Rakefile +0 -4
- data/examples/i18n/zh-CN/features/addition.feature +0 -18
- data/examples/i18n/zh-CN/features/step_definitions/calculator_steps.rb +0 -31
- data/examples/i18n/zh-CN/lib/calculator.rb +0 -10
- data/examples/i18n/zh-TW/Rakefile +0 -4
- data/examples/i18n/zh-TW/features/addition.feature +0 -17
- data/examples/i18n/zh-TW/features/division.feature +0 -11
- data/examples/i18n/zh-TW/features/step_definitions/calculator_steps.rb +0 -29
- data/examples/i18n/zh-TW/lib/calculator.rb +0 -14
- data/examples/rspec_doubles/Rakefile +0 -4
- data/examples/rspec_doubles/features/mocking.feature +0 -9
- data/examples/rspec_doubles/features/step_definitions/calvin_steps.rb +0 -19
- data/examples/rspec_doubles/features/support/env.rb +0 -12
- data/examples/sinatra/README.textile +0 -13
- data/examples/sinatra/Rakefile +0 -6
- data/examples/sinatra/app.rb +0 -14
- data/examples/sinatra/features/add.feature +0 -11
- data/examples/sinatra/features/step_definitions/add_steps.rb +0 -15
- data/examples/sinatra/features/support/env.rb +0 -15
- data/examples/sinatra/views/add.erb +0 -7
- data/examples/sinatra/views/layout.erb +0 -8
- data/examples/tcl/README.textile +0 -11
- data/examples/tcl/Rakefile +0 -6
- data/examples/tcl/features/fibonnacci.feature +0 -17
- data/examples/tcl/features/step_definitions/fib_steps.rb +0 -7
- data/examples/tcl/features/support/env.rb +0 -7
- data/examples/tcl/src/fib.tcl +0 -3
- data/examples/test_unit/Gemfile +0 -4
- data/examples/test_unit/Rakefile +0 -6
- data/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -20
- data/examples/test_unit/features/test_unit.feature +0 -9
- data/examples/watir/README.textile +0 -16
- data/examples/watir/Rakefile +0 -12
- data/examples/watir/cucumber.yml +0 -1
- data/examples/watir/features/search.feature +0 -12
- data/examples/watir/features/step_definitions/search_steps.rb +0 -27
- data/examples/watir/features/support/env.rb +0 -39
- data/examples/watir/features/support/screenshots.rb +0 -47
- data/features/docs/api/list_step_defs_as_json.feature +0 -64
- data/features/docs/api/listen_for_events.feature +0 -59
- data/features/docs/api/run_cli_main_with_existing_runtime.feature +0 -27
- data/features/docs/cli/backtraces.feature +0 -36
- data/features/docs/cli/dry_run.feature +0 -73
- data/features/docs/cli/exclude_files.feature +0 -18
- data/features/docs/cli/execute_with_tag_filter.feature +0 -119
- data/features/docs/cli/fail_fast.feature +0 -48
- data/features/docs/cli/finding_steps.feature +0 -28
- data/features/docs/cli/help.feature +0 -8
- data/features/docs/cli/i18n.feature +0 -42
- data/features/docs/cli/randomize.feature +0 -140
- data/features/docs/cli/require.feature +0 -27
- data/features/docs/cli/retry_failing_tests.feature +0 -92
- data/features/docs/cli/run_scenarios_matching_name.feature +0 -105
- data/features/docs/cli/run_specific_scenarios.feature +0 -77
- data/features/docs/cli/showing_differences.feature +0 -43
- data/features/docs/cli/specifying_multiple_formatters.feature +0 -68
- data/features/docs/cli/strict_mode.feature +0 -70
- data/features/docs/defining_steps/ambiguous_steps.feature +0 -89
- data/features/docs/defining_steps/nested_steps.feature +0 -181
- data/features/docs/defining_steps/nested_steps_i18n.feature +0 -37
- data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -56
- data/features/docs/defining_steps/one_line_step_definitions.feature +0 -65
- data/features/docs/defining_steps/printing_messages.feature +0 -147
- data/features/docs/defining_steps/skip_scenario.feature +0 -31
- data/features/docs/defining_steps/snippets.feature +0 -56
- data/features/docs/defining_steps/table_diffing.feature +0 -50
- data/features/docs/events/gherkin_source_read_event.feature +0 -43
- data/features/docs/events/step_activated_event.feature +0 -36
- data/features/docs/events/step_definition_registered_event.feature +0 -29
- data/features/docs/events/test_case_finished_event.feature +0 -35
- data/features/docs/events/test_case_started_event.feature +0 -54
- data/features/docs/events/test_run_finished_event.feature +0 -40
- data/features/docs/events/test_run_started_event.feature +0 -41
- data/features/docs/events/test_step_finished_event.feature +0 -47
- data/features/docs/events/test_step_started_event.feature +0 -43
- data/features/docs/exception_in_after_hook.feature +0 -127
- data/features/docs/exception_in_after_step_hook.feature +0 -104
- data/features/docs/exception_in_around_hook.feature +0 -80
- data/features/docs/exception_in_before_hook.feature +0 -98
- data/features/docs/extending_cucumber/custom_filter.feature +0 -29
- data/features/docs/extending_cucumber/custom_formatter.feature +0 -94
- data/features/docs/formatters/api_methods.feature +0 -37
- data/features/docs/formatters/html_formatter.feature +0 -91
- data/features/docs/formatters/json_formatter.feature +0 -767
- data/features/docs/formatters/junit_formatter.feature +0 -455
- data/features/docs/formatters/pretty_formatter.feature +0 -74
- data/features/docs/formatters/progress_formatter.feature +0 -32
- data/features/docs/formatters/rerun_formatter.feature +0 -190
- data/features/docs/formatters/summary_formatter.feature +0 -35
- data/features/docs/formatters/usage_formatter.feature +0 -101
- data/features/docs/getting_started.feature +0 -28
- data/features/docs/gherkin/background.feature +0 -548
- data/features/docs/gherkin/doc_strings.feature +0 -76
- data/features/docs/gherkin/expand_option_for_outlines.feature +0 -47
- data/features/docs/gherkin/language_from_header.feature +0 -32
- data/features/docs/gherkin/outlines.feature +0 -158
- data/features/docs/gherkin/unicode_table.feature +0 -33
- data/features/docs/gherkin/using_descriptions.feature +0 -83
- data/features/docs/gherkin/using_star_notation.feature +0 -37
- data/features/docs/iso-8859-1.feature +0 -6
- data/features/docs/post_configuration_hook.feature +0 -33
- data/features/docs/profiles.feature +0 -120
- data/features/docs/rake_task.feature +0 -146
- data/features/docs/raketask.feature +0 -46
- data/features/docs/work_in_progress.feature +0 -157
- data/features/docs/writing_support_code/after_hooks.feature +0 -102
- data/features/docs/writing_support_code/after_step_hooks.feature +0 -55
- data/features/docs/writing_support_code/around_hooks.feature +0 -266
- data/features/docs/writing_support_code/before_hook.feature +0 -66
- data/features/docs/writing_support_code/hook_order.feature +0 -63
- data/features/docs/writing_support_code/load_path.feature +0 -17
- data/features/docs/writing_support_code/parameter_types.feature +0 -69
- data/features/docs/writing_support_code/state.feature +0 -32
- data/features/docs/writing_support_code/tagged_hooks.feature +0 -95
- data/features/docs/writing_support_code/world.feature +0 -129
- data/features/lib/step_definitions/aruba_steps.rb +0 -21
- data/features/lib/step_definitions/cli_steps.rb +0 -4
- data/features/lib/step_definitions/cucumber_steps.rb +0 -75
- data/features/lib/step_definitions/iso-8859-1_steps.rb +0 -16
- data/features/lib/step_definitions/json_steps.rb +0 -8
- data/features/lib/step_definitions/junit_steps.rb +0 -14
- data/features/lib/step_definitions/language_steps.rb +0 -9
- data/features/lib/step_definitions/profile_steps.rb +0 -16
- data/features/lib/step_definitions/retry_steps.rb +0 -55
- data/features/lib/step_definitions/ruby_steps.rb +0 -4
- data/features/lib/support/env.rb +0 -22
- data/features/lib/support/fake_wire_server.rb +0 -94
- data/features/lib/support/feature_factory.rb +0 -68
- data/features/lib/support/normalise_output.rb +0 -52
- data/features/lib/support/parameter_types.rb +0 -5
- data/gem_tasks/contributors.rake +0 -19
- data/gem_tasks/cov.rake +0 -6
- data/gem_tasks/downloads.rb +0 -8
- data/gem_tasks/environment.rake +0 -4
- data/gem_tasks/examples.rake +0 -12
- data/gem_tasks/fix_cr_lf.rake +0 -22
- data/gem_tasks/flog.rake +0 -5
- data/gem_tasks/rspec.rake +0 -7
- data/gem_tasks/sass.rake +0 -5
- data/gem_tasks/stats +0 -16
- data/gem_tasks/versions.txt +0 -74
- data/scripts/invite-collaborator +0 -40
- data/scripts/update-changelog +0 -86
- data/spec/cucumber/cli/configuration_spec.rb +0 -446
- data/spec/cucumber/cli/main_spec.rb +0 -84
- data/spec/cucumber/cli/options_spec.rb +0 -445
- data/spec/cucumber/cli/profile_loader_spec.rb +0 -66
- data/spec/cucumber/cli/rerun_spec.rb +0 -86
- data/spec/cucumber/configuration_spec.rb +0 -148
- data/spec/cucumber/constantize_spec.rb +0 -20
- data/spec/cucumber/events_spec.rb +0 -9
- data/spec/cucumber/file_specs_spec.rb +0 -61
- data/spec/cucumber/filters/activate_steps_spec.rb +0 -152
- data/spec/cucumber/filters/gated_receiver_spec.rb +0 -48
- data/spec/cucumber/filters/retry_spec.rb +0 -98
- data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +0 -39
- data/spec/cucumber/filters/tag_limits/verifier_spec.rb +0 -58
- data/spec/cucumber/filters/tag_limits_spec.rb +0 -60
- data/spec/cucumber/formatter/ansicolor_spec.rb +0 -33
- data/spec/cucumber/formatter/backtrace_filter_spec.rb +0 -32
- data/spec/cucumber/formatter/console_counts_spec.rb +0 -14
- data/spec/cucumber/formatter/duration_spec.rb +0 -23
- data/spec/cucumber/formatter/fail_fast_spec.rb +0 -88
- data/spec/cucumber/formatter/html_spec.rb +0 -543
- data/spec/cucumber/formatter/interceptor_spec.rb +0 -137
- data/spec/cucumber/formatter/json_spec.rb +0 -815
- data/spec/cucumber/formatter/junit_spec.rb +0 -251
- data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2175
- data/spec/cucumber/formatter/pretty_spec.rb +0 -907
- data/spec/cucumber/formatter/progress_spec.rb +0 -170
- data/spec/cucumber/formatter/rerun_spec.rb +0 -97
- data/spec/cucumber/formatter/spec_helper.rb +0 -84
- data/spec/cucumber/glue/proto_world_spec.rb +0 -63
- data/spec/cucumber/glue/registry_and_more_spec.rb +0 -213
- data/spec/cucumber/glue/snippet_spec.rb +0 -174
- data/spec/cucumber/glue/step_definition_spec.rb +0 -207
- data/spec/cucumber/hooks_spec.rb +0 -31
- data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -653
- data/spec/cucumber/project_initializer_spec.rb +0 -88
- data/spec/cucumber/rake/forked_spec.rb +0 -58
- data/spec/cucumber/rake/task_spec.rb +0 -86
- data/spec/cucumber/running_test_case_spec.rb +0 -140
- data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -8
- data/spec/cucumber/runtime/support_code_spec.rb +0 -17
- data/spec/cucumber/runtime_spec.rb +0 -21
- data/spec/cucumber/sell_cucumbers.feature +0 -19
- data/spec/cucumber/step_argument_spec.rb +0 -19
- data/spec/cucumber/step_match_search_spec.rb +0 -113
- data/spec/cucumber/step_match_spec.rb +0 -86
- data/spec/cucumber/world/pending_spec.rb +0 -48
- data/spec/spec_helper.rb +0 -30
- data/spec/support/standard_step_actions.rb +0 -19
@@ -1,102 +0,0 @@
|
|
1
|
-
Feature: After Hooks
|
2
|
-
|
3
|
-
After hooks can be used to clean up any state you've altered during your
|
4
|
-
scenario, or to check the status of the scenario and act accordingly.
|
5
|
-
|
6
|
-
You can ask a scenario whether it has failed, for example.
|
7
|
-
|
8
|
-
Mind you, even if it hasn't failed yet, you can still make the scenario
|
9
|
-
fail if your After hook throws an error.
|
10
|
-
|
11
|
-
Background:
|
12
|
-
Given the standard step definitions
|
13
|
-
|
14
|
-
Scenario Outline: Retrieve the status of a scenario as a symbol
|
15
|
-
Given a file named "features/support/debug_hook.rb" with:
|
16
|
-
"""
|
17
|
-
After do |scenario|
|
18
|
-
puts scenario.status.inspect
|
19
|
-
end
|
20
|
-
"""
|
21
|
-
And a file named "features/result.feature" with:
|
22
|
-
"""
|
23
|
-
Feature:
|
24
|
-
Scenario:
|
25
|
-
Given this step <result>
|
26
|
-
"""
|
27
|
-
When I run `cucumber -f progress`
|
28
|
-
Then the output should contain "<status symbol>"
|
29
|
-
|
30
|
-
Examples:
|
31
|
-
| result | status symbol |
|
32
|
-
| passes | :passed |
|
33
|
-
| fails | :failed |
|
34
|
-
| is pending | :pending |
|
35
|
-
|
36
|
-
Scenario: Check the failed status of a scenario in a hook
|
37
|
-
Given a file named "features/support/debug_hook.rb" with:
|
38
|
-
"""
|
39
|
-
After do |scenario|
|
40
|
-
if scenario.failed?
|
41
|
-
puts "eek"
|
42
|
-
end
|
43
|
-
end
|
44
|
-
"""
|
45
|
-
And a file named "features/fail.feature" with:
|
46
|
-
"""
|
47
|
-
Feature:
|
48
|
-
Scenario:
|
49
|
-
Given this step fails
|
50
|
-
"""
|
51
|
-
When I run `cucumber -f progress`
|
52
|
-
Then the output should contain:
|
53
|
-
"""
|
54
|
-
eek
|
55
|
-
"""
|
56
|
-
|
57
|
-
Scenario: Make a scenario fail from an After hook
|
58
|
-
Given a file named "features/support/bad_hook.rb" with:
|
59
|
-
"""
|
60
|
-
After do
|
61
|
-
fail 'yikes'
|
62
|
-
end
|
63
|
-
"""
|
64
|
-
And a file named "features/pass.feature" with:
|
65
|
-
"""
|
66
|
-
Feature:
|
67
|
-
Scenario:
|
68
|
-
Given this step passes
|
69
|
-
"""
|
70
|
-
When I run `cucumber -f pretty`
|
71
|
-
Then it should fail with:
|
72
|
-
"""
|
73
|
-
Scenario: # features/pass.feature:2
|
74
|
-
Given this step passes # features/step_definitions/steps.rb:1
|
75
|
-
yikes (RuntimeError)
|
76
|
-
./features/support/bad_hook.rb:2:in `After'
|
77
|
-
"""
|
78
|
-
|
79
|
-
Scenario: After hooks are executed in reverse order of definition
|
80
|
-
Given a file named "features/support/hooks.rb" with:
|
81
|
-
"""
|
82
|
-
After do
|
83
|
-
puts "First"
|
84
|
-
end
|
85
|
-
|
86
|
-
After do
|
87
|
-
puts "Second"
|
88
|
-
end
|
89
|
-
"""
|
90
|
-
And a file named "features/pass.feature" with:
|
91
|
-
"""
|
92
|
-
Feature:
|
93
|
-
Scenario:
|
94
|
-
Given this step passes
|
95
|
-
"""
|
96
|
-
When I run `cucumber -f progress`
|
97
|
-
Then the output should contain:
|
98
|
-
"""
|
99
|
-
Second
|
100
|
-
|
101
|
-
First
|
102
|
-
"""
|
@@ -1,55 +0,0 @@
|
|
1
|
-
Feature: AfterStep Hooks
|
2
|
-
AfterStep hooks can be used to further inspect the Step object of the step
|
3
|
-
that has just run, or to simply check the step's result.
|
4
|
-
|
5
|
-
Background:
|
6
|
-
Given the standard step definitions
|
7
|
-
And a file named "features/sample.feature" with:
|
8
|
-
"""
|
9
|
-
Feature: Sample
|
10
|
-
|
11
|
-
Scenario: Success
|
12
|
-
Given this step passes
|
13
|
-
"""
|
14
|
-
|
15
|
-
@todo-windows
|
16
|
-
Scenario: Access Test Step object in AfterStep Block
|
17
|
-
Given a file named "features/support/env.rb" with:
|
18
|
-
"""
|
19
|
-
AfterStep do |result, test_step|
|
20
|
-
expect(test_step).to be_a(Cucumber::Core::Test::Step)
|
21
|
-
end
|
22
|
-
"""
|
23
|
-
When I run `cucumber features`
|
24
|
-
Then it should pass with:
|
25
|
-
"""
|
26
|
-
Feature: Sample
|
27
|
-
|
28
|
-
Scenario: Success # features/sample.feature:3
|
29
|
-
Given this step passes # features/step_definitions/steps.rb:1
|
30
|
-
|
31
|
-
1 scenario (1 passed)
|
32
|
-
1 step (1 passed)
|
33
|
-
|
34
|
-
"""
|
35
|
-
|
36
|
-
@todo-windows
|
37
|
-
Scenario: An AfterStep with one named argument receives only the result
|
38
|
-
Given a file named "features/support/env.rb" with:
|
39
|
-
"""
|
40
|
-
AfterStep do |result|
|
41
|
-
expect(result).to be_a(Cucumber::Core::Test::Result::Passed)
|
42
|
-
end
|
43
|
-
"""
|
44
|
-
When I run `cucumber features`
|
45
|
-
Then it should pass with:
|
46
|
-
"""
|
47
|
-
Feature: Sample
|
48
|
-
|
49
|
-
Scenario: Success # features/sample.feature:3
|
50
|
-
Given this step passes # features/step_definitions/steps.rb:1
|
51
|
-
|
52
|
-
1 scenario (1 passed)
|
53
|
-
1 step (1 passed)
|
54
|
-
|
55
|
-
"""
|
@@ -1,266 +0,0 @@
|
|
1
|
-
@spawn
|
2
|
-
Feature: Around hooks
|
3
|
-
|
4
|
-
In order to support transactional scenarios for database libraries
|
5
|
-
that provide only a block syntax for transactions, Cucumber should
|
6
|
-
permit definition of Around hooks.
|
7
|
-
|
8
|
-
@todo-windows
|
9
|
-
Scenario: A single Around hook
|
10
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
11
|
-
"""
|
12
|
-
Then /^the hook is called$/ do
|
13
|
-
expect($hook_called).to be true
|
14
|
-
end
|
15
|
-
"""
|
16
|
-
And a file named "features/support/hooks.rb" with:
|
17
|
-
"""
|
18
|
-
Around do |scenario, block|
|
19
|
-
$hook_called = true
|
20
|
-
block.call
|
21
|
-
end
|
22
|
-
"""
|
23
|
-
And a file named "features/f.feature" with:
|
24
|
-
"""
|
25
|
-
Feature: Around hooks
|
26
|
-
Scenario: using hook
|
27
|
-
Then the hook is called
|
28
|
-
"""
|
29
|
-
When I run `cucumber features/f.feature`
|
30
|
-
Then it should pass with:
|
31
|
-
"""
|
32
|
-
Feature: Around hooks
|
33
|
-
|
34
|
-
Scenario: using hook # features/f.feature:2
|
35
|
-
Then the hook is called # features/step_definitions/steps.rb:1
|
36
|
-
|
37
|
-
1 scenario (1 passed)
|
38
|
-
1 step (1 passed)
|
39
|
-
|
40
|
-
"""
|
41
|
-
|
42
|
-
@todo-windows
|
43
|
-
Scenario: Multiple Around hooks
|
44
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
45
|
-
"""
|
46
|
-
Then /^the hooks are called in the correct order$/ do
|
47
|
-
expect($hooks_called).to eq ['A', 'B', 'C']
|
48
|
-
end
|
49
|
-
"""
|
50
|
-
And a file named "features/support/hooks.rb" with:
|
51
|
-
"""
|
52
|
-
Around do |scenario, block|
|
53
|
-
$hooks_called ||= []
|
54
|
-
$hooks_called << 'A'
|
55
|
-
block.call
|
56
|
-
end
|
57
|
-
|
58
|
-
Around do |scenario, block|
|
59
|
-
$hooks_called ||= []
|
60
|
-
$hooks_called << 'B'
|
61
|
-
block.call
|
62
|
-
end
|
63
|
-
|
64
|
-
Around do |scenario, block|
|
65
|
-
$hooks_called ||= []
|
66
|
-
$hooks_called << 'C'
|
67
|
-
block.call
|
68
|
-
end
|
69
|
-
"""
|
70
|
-
And a file named "features/f.feature" with:
|
71
|
-
"""
|
72
|
-
Feature: Around hooks
|
73
|
-
Scenario: using multiple hooks
|
74
|
-
Then the hooks are called in the correct order
|
75
|
-
"""
|
76
|
-
When I run `cucumber features/f.feature`
|
77
|
-
Then it should pass with:
|
78
|
-
"""
|
79
|
-
Feature: Around hooks
|
80
|
-
|
81
|
-
Scenario: using multiple hooks # features/f.feature:2
|
82
|
-
Then the hooks are called in the correct order # features/step_definitions/steps.rb:1
|
83
|
-
|
84
|
-
1 scenario (1 passed)
|
85
|
-
1 step (1 passed)
|
86
|
-
|
87
|
-
"""
|
88
|
-
|
89
|
-
@todo-windows
|
90
|
-
Scenario: Mixing Around, Before, and After hooks
|
91
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
92
|
-
"""
|
93
|
-
Then /^the Around hook is called around Before and After hooks$/ do
|
94
|
-
expect($hooks_called).to eq ['Around', 'Before']
|
95
|
-
end
|
96
|
-
"""
|
97
|
-
And a file named "features/support/hooks.rb" with:
|
98
|
-
"""
|
99
|
-
Around do |scenario, block|
|
100
|
-
$hooks_called ||= []
|
101
|
-
$hooks_called << 'Around'
|
102
|
-
block.call
|
103
|
-
$hooks_called << 'Around'
|
104
|
-
$hooks_called.should == ['Around', 'Before', 'After', 'Around'] #TODO: Find out why this fails using the new rspec expect syntax.
|
105
|
-
end
|
106
|
-
|
107
|
-
Before do |scenario|
|
108
|
-
$hooks_called ||= []
|
109
|
-
$hooks_called << 'Before'
|
110
|
-
end
|
111
|
-
|
112
|
-
After do |scenario|
|
113
|
-
$hooks_called ||= []
|
114
|
-
$hooks_called << 'After'
|
115
|
-
expect($hooks_called).to eq ['Around', 'Before', 'After']
|
116
|
-
end
|
117
|
-
"""
|
118
|
-
And a file named "features/f.feature" with:
|
119
|
-
"""
|
120
|
-
Feature: Around hooks
|
121
|
-
Scenario: Mixing Around, Before, and After hooks
|
122
|
-
Then the Around hook is called around Before and After hooks
|
123
|
-
"""
|
124
|
-
When I run `cucumber features/f.feature`
|
125
|
-
Then it should pass with:
|
126
|
-
"""
|
127
|
-
Feature: Around hooks
|
128
|
-
|
129
|
-
Scenario: Mixing Around, Before, and After hooks # features/f.feature:2
|
130
|
-
Then the Around hook is called around Before and After hooks # features/step_definitions/steps.rb:1
|
131
|
-
|
132
|
-
1 scenario (1 passed)
|
133
|
-
1 step (1 passed)
|
134
|
-
|
135
|
-
"""
|
136
|
-
|
137
|
-
@todo-windows
|
138
|
-
Scenario: Around hooks with tags
|
139
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
140
|
-
"""
|
141
|
-
Then /^the Around hooks with matching tags are called$/ do
|
142
|
-
expect($hooks_called).to eq ['one', 'one or two']
|
143
|
-
end
|
144
|
-
"""
|
145
|
-
And a file named "features/support/hooks.rb" with:
|
146
|
-
"""
|
147
|
-
Around('@one') do |scenario, block|
|
148
|
-
$hooks_called ||= []
|
149
|
-
$hooks_called << 'one'
|
150
|
-
block.call
|
151
|
-
end
|
152
|
-
|
153
|
-
Around('@one,@two') do |scenario, block|
|
154
|
-
$hooks_called ||= []
|
155
|
-
$hooks_called << 'one or two'
|
156
|
-
block.call
|
157
|
-
end
|
158
|
-
|
159
|
-
Around('@one', '@two') do |scenario, block|
|
160
|
-
$hooks_called ||= []
|
161
|
-
$hooks_called << 'one and two'
|
162
|
-
block.call
|
163
|
-
end
|
164
|
-
|
165
|
-
Around('@two') do |scenario, block|
|
166
|
-
$hooks_called ||= []
|
167
|
-
$hooks_called << 'two'
|
168
|
-
block.call
|
169
|
-
end
|
170
|
-
"""
|
171
|
-
And a file named "features/f.feature" with:
|
172
|
-
"""
|
173
|
-
Feature: Around hooks
|
174
|
-
@one
|
175
|
-
Scenario: Around hooks with tags
|
176
|
-
Then the Around hooks with matching tags are called
|
177
|
-
"""
|
178
|
-
When I run `cucumber -q -t @one features/f.feature`
|
179
|
-
Then it should pass with:
|
180
|
-
"""
|
181
|
-
Feature: Around hooks
|
182
|
-
|
183
|
-
@one
|
184
|
-
Scenario: Around hooks with tags
|
185
|
-
Then the Around hooks with matching tags are called
|
186
|
-
|
187
|
-
1 scenario (1 passed)
|
188
|
-
1 step (1 passed)
|
189
|
-
|
190
|
-
"""
|
191
|
-
|
192
|
-
@todo-windows
|
193
|
-
Scenario: Around hooks with scenario outlines
|
194
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
195
|
-
"""
|
196
|
-
Then /^the hook is called$/ do
|
197
|
-
expect($hook_called).to be true
|
198
|
-
end
|
199
|
-
"""
|
200
|
-
And a file named "features/support/hooks.rb" with:
|
201
|
-
"""
|
202
|
-
Around do |scenario, block|
|
203
|
-
$hook_called = true
|
204
|
-
block.call
|
205
|
-
end
|
206
|
-
"""
|
207
|
-
And a file named "features/f.feature" with:
|
208
|
-
"""
|
209
|
-
Feature: Around hooks with scenario outlines
|
210
|
-
Scenario Outline: using hook
|
211
|
-
Then the hook is called
|
212
|
-
|
213
|
-
Examples:
|
214
|
-
| Number |
|
215
|
-
| one |
|
216
|
-
| two |
|
217
|
-
"""
|
218
|
-
When I run `cucumber features/f.feature`
|
219
|
-
Then it should pass with:
|
220
|
-
"""
|
221
|
-
Feature: Around hooks with scenario outlines
|
222
|
-
|
223
|
-
Scenario Outline: using hook # features/f.feature:2
|
224
|
-
Then the hook is called # features/f.feature:3
|
225
|
-
|
226
|
-
Examples:
|
227
|
-
| Number |
|
228
|
-
| one |
|
229
|
-
| two |
|
230
|
-
|
231
|
-
2 scenarios (2 passed)
|
232
|
-
2 steps (2 passed)
|
233
|
-
|
234
|
-
"""
|
235
|
-
|
236
|
-
@todo-windows
|
237
|
-
Scenario: Around Hooks and the Custom World
|
238
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
239
|
-
"""
|
240
|
-
Then /^the world should be available in the hook$/ do
|
241
|
-
$previous_world = self
|
242
|
-
expect($hook_world).to eq(self)
|
243
|
-
end
|
244
|
-
|
245
|
-
Then /^what$/ do
|
246
|
-
expect($hook_world).not_to eq($previous_world)
|
247
|
-
end
|
248
|
-
"""
|
249
|
-
And a file named "features/support/hooks.rb" with:
|
250
|
-
"""
|
251
|
-
Around do |scenario, block|
|
252
|
-
$hook_world = self
|
253
|
-
block.call
|
254
|
-
end
|
255
|
-
"""
|
256
|
-
And a file named "features/f.feature" with:
|
257
|
-
"""
|
258
|
-
Feature: Around hooks
|
259
|
-
Scenario: using hook
|
260
|
-
Then the world should be available in the hook
|
261
|
-
|
262
|
-
Scenario: using the same hook
|
263
|
-
Then what
|
264
|
-
"""
|
265
|
-
When I run `cucumber features/f.feature`
|
266
|
-
Then it should pass
|
@@ -1,66 +0,0 @@
|
|
1
|
-
Feature: Before Hook
|
2
|
-
|
3
|
-
@todo-windows
|
4
|
-
Scenario: Examine names of scenario and feature
|
5
|
-
Given a file named "features/foo.feature" with:
|
6
|
-
"""
|
7
|
-
Feature: Feature name
|
8
|
-
|
9
|
-
Scenario: Scenario name
|
10
|
-
Given a step
|
11
|
-
"""
|
12
|
-
And a file named "features/support/hook.rb" with:
|
13
|
-
"""
|
14
|
-
names = []
|
15
|
-
Before do |scenario|
|
16
|
-
expect(scenario).to_not respond_to(:scenario_outline)
|
17
|
-
names << scenario.feature.name.split("\n").first
|
18
|
-
names << scenario.name.split("\n").first
|
19
|
-
if(names.size == 2)
|
20
|
-
raise "NAMES:\n" + names.join("\n") + "\n"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
"""
|
24
|
-
When I run `cucumber`
|
25
|
-
Then the output should contain:
|
26
|
-
"""
|
27
|
-
NAMES:
|
28
|
-
Feature name
|
29
|
-
Scenario name
|
30
|
-
|
31
|
-
"""
|
32
|
-
|
33
|
-
Scenario: Examine names of scenario outline and feature
|
34
|
-
Given a file named "features/foo.feature" with:
|
35
|
-
"""
|
36
|
-
Feature: Feature name
|
37
|
-
|
38
|
-
Scenario Outline: Scenario Outline name
|
39
|
-
Given a <placeholder>
|
40
|
-
|
41
|
-
Examples: Examples Table name
|
42
|
-
| <placeholder> |
|
43
|
-
| step |
|
44
|
-
"""
|
45
|
-
And a file named "features/support/hook.rb" with:
|
46
|
-
"""
|
47
|
-
names = []
|
48
|
-
Before do |scenario|
|
49
|
-
names << scenario.scenario_outline.feature.name.split("\n").first
|
50
|
-
names << scenario.scenario_outline.name.split("\n").first
|
51
|
-
names << scenario.name.split("\n").first
|
52
|
-
if(names.size == 3)
|
53
|
-
raise "NAMES:\n" + names.join("\n") + "\n"
|
54
|
-
end
|
55
|
-
end
|
56
|
-
"""
|
57
|
-
When I run `cucumber`
|
58
|
-
Then the output should contain:
|
59
|
-
"""
|
60
|
-
NAMES:
|
61
|
-
Feature name
|
62
|
-
Scenario Outline name, Examples Table name (#1)
|
63
|
-
Scenario Outline name, Examples Table name (#1)
|
64
|
-
|
65
|
-
"""
|
66
|
-
|