cucumber 3.0.0.pre.2 → 4.0.0.rc.5
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/{History.md → CHANGELOG.md} +267 -14
- data/CONTRIBUTING.md +4 -21
- data/README.md +14 -15
- data/bin/cucumber +2 -1
- data/lib/autotest/cucumber.rb +1 -0
- data/lib/autotest/cucumber_mixin.rb +36 -40
- 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 +2 -1
- data/lib/cucumber/cli/configuration.rb +8 -7
- data/lib/cucumber/cli/main.rb +14 -14
- data/lib/cucumber/cli/options.rb +141 -120
- data/lib/cucumber/cli/profile_loader.rb +50 -29
- data/lib/cucumber/cli/rerun_file.rb +1 -0
- data/lib/cucumber/configuration.rb +40 -30
- data/lib/cucumber/constantize.rb +8 -10
- data/lib/cucumber/core_ext/string.rb +1 -0
- data/lib/cucumber/deprecate.rb +33 -9
- data/lib/cucumber/encoding.rb +2 -1
- data/lib/cucumber/errors.rb +10 -8
- data/lib/cucumber/events.rb +14 -9
- data/lib/cucumber/events/envelope.rb +9 -0
- data/lib/cucumber/events/gherkin_source_parsed.rb +11 -0
- data/lib/cucumber/events/gherkin_source_read.rb +1 -4
- data/lib/cucumber/events/hook_test_step_created.rb +13 -0
- data/lib/cucumber/events/step_activated.rb +6 -6
- data/lib/cucumber/events/step_definition_registered.rb +4 -8
- data/lib/cucumber/events/test_case_created.rb +13 -0
- data/lib/cucumber/events/test_case_finished.rb +1 -5
- data/lib/cucumber/events/test_case_ready.rb +12 -0
- data/lib/cucumber/events/{test_case_starting.rb → test_case_started.rb} +1 -5
- data/lib/cucumber/events/test_run_finished.rb +2 -3
- data/lib/cucumber/events/{test_run_starting.rb → test_run_started.rb} +3 -5
- data/lib/cucumber/events/test_step_created.rb +13 -0
- data/lib/cucumber/events/test_step_finished.rb +0 -6
- data/lib/cucumber/events/{test_step_starting.rb → test_step_started.rb} +2 -8
- data/lib/cucumber/file_specs.rb +7 -6
- data/lib/cucumber/filters.rb +3 -1
- data/lib/cucumber/filters/activate_steps.rb +11 -5
- 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_case_ready_event.rb +12 -0
- data/lib/cucumber/filters/{broadcast_test_run_starting_event.rb → broadcast_test_run_started_event.rb} +4 -3
- data/lib/cucumber/filters/gated_receiver.rb +1 -2
- data/lib/cucumber/filters/prepare_world.rb +6 -13
- data/lib/cucumber/filters/quit.rb +3 -7
- 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 +3 -6
- data/lib/cucumber/formatter/ansicolor.rb +33 -37
- data/lib/cucumber/formatter/ast_lookup.rb +165 -0
- data/lib/cucumber/formatter/backtrace_filter.rb +10 -10
- data/lib/cucumber/formatter/console.rb +37 -74
- data/lib/cucumber/formatter/console_counts.rb +4 -9
- data/lib/cucumber/formatter/console_issues.rb +10 -7
- data/lib/cucumber/formatter/duration.rb +2 -1
- data/lib/cucumber/formatter/duration_extractor.rb +4 -2
- data/lib/cucumber/formatter/errors.rb +6 -0
- data/lib/cucumber/formatter/fail_fast.rb +9 -6
- data/lib/cucumber/formatter/fanout.rb +3 -3
- data/lib/cucumber/formatter/html.rb +11 -603
- data/lib/cucumber/formatter/http_io.rb +93 -0
- data/lib/cucumber/formatter/ignore_missing_messages.rb +2 -4
- data/lib/cucumber/formatter/interceptor.rb +10 -12
- data/lib/cucumber/formatter/io.rb +19 -12
- data/lib/cucumber/formatter/json.rb +106 -112
- data/lib/cucumber/formatter/junit.rb +81 -76
- data/lib/cucumber/formatter/message.rb +22 -0
- data/lib/cucumber/formatter/message_builder.rb +241 -0
- data/lib/cucumber/formatter/pretty.rb +353 -153
- data/lib/cucumber/formatter/progress.rb +30 -33
- data/lib/cucumber/formatter/query/hook_by_test_step.rb +31 -0
- data/lib/cucumber/formatter/query/pickle_by_test.rb +26 -0
- data/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +26 -0
- data/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +40 -0
- data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +40 -0
- data/lib/cucumber/formatter/rerun.rb +24 -5
- data/lib/cucumber/formatter/stepdefs.rb +2 -2
- data/lib/cucumber/formatter/steps.rb +4 -5
- data/lib/cucumber/formatter/summary.rb +18 -11
- data/lib/cucumber/formatter/unicode.rb +16 -18
- data/lib/cucumber/formatter/usage.rb +30 -26
- data/lib/cucumber/gherkin/data_table_parser.rb +18 -6
- data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +83 -86
- data/lib/cucumber/gherkin/formatter/escaping.rb +13 -12
- data/lib/cucumber/gherkin/i18n.rb +1 -0
- data/lib/cucumber/gherkin/steps_parser.rb +18 -8
- data/lib/cucumber/glue/dsl.rb +13 -26
- data/lib/cucumber/glue/hook.rb +35 -11
- data/lib/cucumber/glue/invoke_in_world.rb +15 -20
- data/lib/cucumber/glue/proto_world.rb +48 -42
- data/lib/cucumber/glue/registry_and_more.rb +58 -23
- data/lib/cucumber/glue/snippet.rb +23 -26
- data/lib/cucumber/glue/step_definition.rb +51 -28
- data/lib/cucumber/glue/world_factory.rb +2 -4
- data/lib/cucumber/hooks.rb +27 -17
- data/lib/cucumber/load_path.rb +1 -0
- data/lib/cucumber/multiline_argument.rb +7 -17
- data/lib/cucumber/multiline_argument/data_table.rb +113 -82
- data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +8 -12
- data/lib/cucumber/multiline_argument/doc_string.rb +2 -1
- data/lib/cucumber/platform.rb +4 -3
- data/lib/cucumber/project_initializer.rb +2 -2
- data/lib/cucumber/rake/task.rb +28 -21
- data/lib/cucumber/rspec/disable_option_parser.rb +10 -8
- data/lib/cucumber/rspec/doubles.rb +1 -0
- data/lib/cucumber/running_test_case.rb +4 -54
- data/lib/cucumber/runtime.rb +32 -63
- data/lib/cucumber/runtime/after_hooks.rb +9 -4
- data/lib/cucumber/runtime/before_hooks.rb +9 -4
- data/lib/cucumber/runtime/for_programming_languages.rb +12 -9
- data/lib/cucumber/runtime/step_hooks.rb +5 -2
- data/lib/cucumber/runtime/support_code.rb +16 -22
- data/lib/cucumber/runtime/user_interface.rb +12 -23
- data/lib/cucumber/step_definition_light.rb +6 -4
- data/lib/cucumber/step_definitions.rb +3 -2
- data/lib/cucumber/step_match.rb +29 -14
- data/lib/cucumber/step_match_search.rb +10 -10
- data/lib/cucumber/term/ansicolor.rb +39 -39
- data/lib/cucumber/unit.rb +1 -0
- data/lib/cucumber/version +1 -1
- data/lib/simplecov_setup.rb +1 -0
- metadata +206 -678
- data/.coveralls.yml +0 -1
- data/.cucumberproignore +0 -6
- data/.github/ISSUE_TEMPLATE.md +0 -48
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -39
- data/.rspec +0 -1
- data/.rubocop.yml +0 -13
- data/.rubocop_todo.yml +0 -1075
- data/.ruby-gemset +0 -1
- data/.travis.yml +0 -69
- data/.yardopts +0 -1
- data/Gemfile +0 -28
- data/Rakefile +0 -32
- data/appveyor.yml +0 -26
- 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 -24
- 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 -5
- data/examples/i18n/bg/features/support/world.rb +0 -8
- data/examples/i18n/bg/lib/calculator.rb +0 -24
- data/examples/i18n/ca/Rakefile +0 -6
- data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +0 -21
- 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 -24
- 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 -24
- 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 -24
- 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 -24
- 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 -7
- 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 -24
- 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 -24
- 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 -21
- 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 -24
- 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 -24
- 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 -5
- 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 -24
- 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 -24
- 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 -25
- 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 -25
- 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 -24
- 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 -24
- 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 -5
- 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 -24
- 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 -24
- 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 -24
- 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 -6
- 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 -24
- data/examples/i18n/pl/features/support/env.rb +0 -5
- 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 -5
- 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 -21
- 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 -5
- data/examples/i18n/ru/features/support/world.rb +0 -8
- data/examples/i18n/ru/lib/calculator.rb +0 -24
- 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 -24
- 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 -5
- 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 -24
- 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 -24
- 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 -24
- 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 -5
- data/examples/i18n/uk/features/support/world.rb +0 -8
- data/examples/i18n/uk/lib/calculator.rb +0 -24
- 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 -5
- data/examples/i18n/uz/features/support/world.rb +0 -8
- data/examples/i18n/uz/lib/calculator.rb +0 -24
- 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 -26
- 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 -24
- 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 -10
- 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 -6
- 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 -26
- data/examples/watir/features/support/env.rb +0 -35
- 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 -117
- 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/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_starting_event.feature +0 -54
- data/features/docs/events/test_run_finished_event.feature +0 -40
- data/features/docs/events/test_run_starting_event.feature +0 -41
- data/features/docs/events/test_step_finished_event.feature +0 -47
- data/features/docs/events/test_step_starting_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 -122
- data/features/docs/formatters/api_methods.feature +0 -37
- data/features/docs/formatters/formatter_step_file_colon_line.feature +0 -44
- 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 -160
- 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 -75
- 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 -13
- 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 -86
- 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 -8
- 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 -11
- 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/lib/cucumber/formatter/cucumber.css +0 -286
- data/lib/cucumber/formatter/cucumber.sass +0 -247
- data/lib/cucumber/formatter/hook_query_visitor.rb +0 -41
- data/lib/cucumber/formatter/html_builder.rb +0 -110
- data/lib/cucumber/formatter/inline-js.js +0 -30
- data/lib/cucumber/formatter/jquery-min.js +0 -154
- data/lib/cucumber/formatter/json_pretty.rb +0 -11
- data/lib/cucumber/formatter/legacy_api/adapter.rb +0 -1012
- data/lib/cucumber/formatter/legacy_api/ast.rb +0 -386
- data/lib/cucumber/formatter/legacy_api/results.rb +0 -50
- data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +0 -32
- data/lib/cucumber/step_argument.rb +0 -24
- data/scripts/invite-collaborator +0 -40
- data/scripts/update-history +0 -83
- data/spec/cucumber/cli/configuration_spec.rb +0 -434
- 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 -840
- data/spec/cucumber/formatter/junit_spec.rb +0 -251
- data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2187
- data/spec/cucumber/formatter/pretty_spec.rb +0 -920
- 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 -648
- data/spec/cucumber/project_initializer_spec.rb +0 -88
- data/spec/cucumber/rake/forked_spec.rb +0 -54
- 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,36 +0,0 @@
|
|
1
|
-
Feature: Step Activated Event
|
2
|
-
|
3
|
-
This event is fired when Cucumber finds a matching definition for a Gherkin step.
|
4
|
-
|
5
|
-
See [the API documentation](http://www.rubydoc.info/github/cucumber/cucumber-ruby/Cucumber/Events/StepActivated)
|
6
|
-
for more information about the data available on this event.
|
7
|
-
|
8
|
-
Scenario: Activate a step
|
9
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
10
|
-
"""
|
11
|
-
Given /a step/ do
|
12
|
-
# automation goes here
|
13
|
-
end
|
14
|
-
"""
|
15
|
-
And a file named "features/test.feature" with:
|
16
|
-
"""
|
17
|
-
Feature:
|
18
|
-
Scenario:
|
19
|
-
Given a step
|
20
|
-
"""
|
21
|
-
And a file named "features/support/events.rb" with:
|
22
|
-
"""
|
23
|
-
AfterConfiguration do |config|
|
24
|
-
config.on_event :step_activated do |event|
|
25
|
-
config.out_stream.puts "The step: #{event.test_step.location}"
|
26
|
-
config.out_stream.puts "The step definition: #{event.step_match.location}"
|
27
|
-
end
|
28
|
-
end
|
29
|
-
"""
|
30
|
-
When I run `cucumber`
|
31
|
-
Then it should pass with:
|
32
|
-
"""
|
33
|
-
The step: features/test.feature:3
|
34
|
-
The step definition: features/step_definitions/steps.rb:1
|
35
|
-
"""
|
36
|
-
|
@@ -1,29 +0,0 @@
|
|
1
|
-
Feature: Step definition registered
|
2
|
-
|
3
|
-
This event is fired when Cucumber loads the user's step definitions. Typically, this is
|
4
|
-
when the `Given /^my step$/ do` methods are called.
|
5
|
-
|
6
|
-
See [the API documentation](http://www.rubydoc.info/github/cucumber/cucumber-ruby/Cucumber/Events/StepDefinitionRegistered) for more information about the data available on this event.
|
7
|
-
|
8
|
-
Scenario: Register a new step definition
|
9
|
-
Given the standard step definitions
|
10
|
-
And a file named "features/step_definitions/steps.rb" with:
|
11
|
-
"""
|
12
|
-
Given /a step/ do
|
13
|
-
# automation goes here
|
14
|
-
end
|
15
|
-
"""
|
16
|
-
And a file named "features/support/events.rb" with:
|
17
|
-
"""
|
18
|
-
AfterConfiguration do |config|
|
19
|
-
config.on_event :step_definition_registered do |event|
|
20
|
-
config.out_stream.puts "The step definition: #{event.step_definition.location}"
|
21
|
-
end
|
22
|
-
end
|
23
|
-
"""
|
24
|
-
When I run `cucumber`
|
25
|
-
Then it should pass with:
|
26
|
-
"""
|
27
|
-
The step definition: features/step_definitions/steps.rb:1
|
28
|
-
"""
|
29
|
-
|
@@ -1,35 +0,0 @@
|
|
1
|
-
Feature: Test Case Finished Event
|
2
|
-
|
3
|
-
This event is fired after each scenario or examples table row (generally named a
|
4
|
-
Test Case) has finished executing. You can use the event to learn about the
|
5
|
-
result of the test case.
|
6
|
-
|
7
|
-
See [the API documentation](http://www.rubydoc.info/github/cucumber/cucumber-ruby/Cucumber/Events/TestCaseFinished) for more information about the data available on this event.
|
8
|
-
|
9
|
-
Scenario: Test case passes
|
10
|
-
Given the standard step definitions
|
11
|
-
And a file named "features/passing.feature" with:
|
12
|
-
"""
|
13
|
-
Feature: A feature
|
14
|
-
Scenario: A scenario
|
15
|
-
Given this step passes
|
16
|
-
"""
|
17
|
-
And a file named "features/support/events.rb" with:
|
18
|
-
"""
|
19
|
-
AfterConfiguration do |config|
|
20
|
-
config.on_event :test_case_finished do |event|
|
21
|
-
config.out_stream.puts "Results"
|
22
|
-
config.out_stream.puts "-------"
|
23
|
-
config.out_stream.puts "Test case: #{event.test_case.name}"
|
24
|
-
config.out_stream.puts "The result is: #{event.result}"
|
25
|
-
end
|
26
|
-
end
|
27
|
-
"""
|
28
|
-
When I run `cucumber`
|
29
|
-
Then it should pass with:
|
30
|
-
"""
|
31
|
-
Results
|
32
|
-
-------
|
33
|
-
Test case: A scenario
|
34
|
-
The result is: ✓
|
35
|
-
"""
|
@@ -1,54 +0,0 @@
|
|
1
|
-
@wip
|
2
|
-
Feature: Test Case Starting Event
|
3
|
-
|
4
|
-
This event is fired just before each scenario or scenario outline example row
|
5
|
-
(generally named a Test Case) starts to be executed. This event is read-only.
|
6
|
-
|
7
|
-
See [the API documentation](http://www.rubydoc.info/github/cucumber/cucumber-ruby/Cucumber/Events/TestCaseStarting) for more information about the data available on this event and the result object.
|
8
|
-
|
9
|
-
Background:
|
10
|
-
Given the standard step definitions
|
11
|
-
And a file named "features/test.feature" with:
|
12
|
-
"""
|
13
|
-
@feature
|
14
|
-
Feature: A feature
|
15
|
-
|
16
|
-
@scenario
|
17
|
-
Scenario: A passing scenario
|
18
|
-
Given this is a step
|
19
|
-
"""
|
20
|
-
And a file named "features/support/events.rb" with:
|
21
|
-
"""
|
22
|
-
stdout = nil
|
23
|
-
AfterConfiguration do |config|
|
24
|
-
stdout = config.out_stream # make sure all the `puts` calls can write to the same output
|
25
|
-
config.on_event :test_case_starting do |event|
|
26
|
-
stdout.puts "before"
|
27
|
-
stdout.puts event.test_case.tags.map(&:name)
|
28
|
-
end
|
29
|
-
config.on_event :test_case_finished do |event|
|
30
|
-
stdout.puts "after"
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
Given(/this is a step/) do
|
35
|
-
end
|
36
|
-
|
37
|
-
"""
|
38
|
-
|
39
|
-
Scenario: Run the test case
|
40
|
-
When I run `cucumber -q`
|
41
|
-
Then it should pass with:
|
42
|
-
"""
|
43
|
-
before
|
44
|
-
@feature
|
45
|
-
@scenario
|
46
|
-
@feature
|
47
|
-
Feature: A feature
|
48
|
-
|
49
|
-
@scenario
|
50
|
-
Scenario: A passing scenario
|
51
|
-
Given this is a step
|
52
|
-
after
|
53
|
-
"""
|
54
|
-
|
@@ -1,40 +0,0 @@
|
|
1
|
-
Feature: Test Run Finished
|
2
|
-
|
3
|
-
This event is fired after all the test cases have been executed.
|
4
|
-
|
5
|
-
Typically, a formatter would use this to print out summary information.
|
6
|
-
|
7
|
-
At the moment this event contains no data, but it could be extended
|
8
|
-
in the future to carry the summary information for the convenience
|
9
|
-
of formatter authors.
|
10
|
-
|
11
|
-
Background:
|
12
|
-
Given the standard step definitions
|
13
|
-
And a file named "features/test.feature" with:
|
14
|
-
"""
|
15
|
-
Feature: A feature
|
16
|
-
|
17
|
-
Scenario: A passing scenario
|
18
|
-
Given this is a step
|
19
|
-
"""
|
20
|
-
And a file named "features/support/events.rb" with:
|
21
|
-
"""
|
22
|
-
class MyFormatter
|
23
|
-
def initialize(config)
|
24
|
-
config.on_event :test_case_finished do
|
25
|
-
config.out_stream.puts "test case finished"
|
26
|
-
end
|
27
|
-
config.on_event :test_run_finished do
|
28
|
-
config.out_stream.puts "the end"
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
"""
|
33
|
-
|
34
|
-
Scenario: Run the test case
|
35
|
-
When I run `cucumber -q -f MyFormatter`
|
36
|
-
Then it should pass with:
|
37
|
-
"""
|
38
|
-
test case finished
|
39
|
-
the end
|
40
|
-
"""
|
@@ -1,41 +0,0 @@
|
|
1
|
-
Feature: Test Run Starting Event
|
2
|
-
|
3
|
-
This event is fired once all test cases have been filtered, just before
|
4
|
-
the first one is executed.
|
5
|
-
|
6
|
-
See [the API documentation](http://www.rubydoc.info/github/cucumber/cucumber-ruby/Cucumber/Events/TestRunStarting) for more information about the data available on this event.
|
7
|
-
|
8
|
-
Background:
|
9
|
-
Given the standard step definitions
|
10
|
-
And a file named "features/foo.feature" with:
|
11
|
-
"""
|
12
|
-
Feature: Foo
|
13
|
-
Scenario:
|
14
|
-
Given a passing step
|
15
|
-
"""
|
16
|
-
And a file named "features/bar.feature" with:
|
17
|
-
"""
|
18
|
-
Feature: Foo
|
19
|
-
Scenario:
|
20
|
-
Given a passing step
|
21
|
-
"""
|
22
|
-
And a file named "features/support/events.rb" with:
|
23
|
-
"""
|
24
|
-
AfterConfiguration do |config|
|
25
|
-
config.on_event :test_run_starting do |event|
|
26
|
-
config.out_stream.puts "test run starting"
|
27
|
-
config.out_stream.puts event.test_cases.map(&:location)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
"""
|
31
|
-
|
32
|
-
@todo-windows
|
33
|
-
Scenario: Run the test case
|
34
|
-
When I run `cucumber -q`
|
35
|
-
Then it should pass with:
|
36
|
-
"""
|
37
|
-
test run starting
|
38
|
-
features/bar.feature:2
|
39
|
-
features/foo.feature:2
|
40
|
-
"""
|
41
|
-
|
@@ -1,47 +0,0 @@
|
|
1
|
-
Feature: Test Step Finished Event
|
2
|
-
|
3
|
-
This event is fired after each step in a scenario or scenario outline example
|
4
|
-
(generally named a Test Step) has finished executing. You can use the event to learn about the
|
5
|
-
result of the test step.
|
6
|
-
|
7
|
-
See [the API documentation](http://www.rubydoc.info/github/cucumber/cucumber-ruby/Cucumber/Events/TestStepFinished) for more information about the data available on this event and the result object.
|
8
|
-
|
9
|
-
Background:
|
10
|
-
Given the standard step definitions
|
11
|
-
And a file named "features/test.feature" with:
|
12
|
-
"""
|
13
|
-
Feature: A feature
|
14
|
-
|
15
|
-
@pass
|
16
|
-
Scenario: A passing scenario
|
17
|
-
Given this step passes
|
18
|
-
|
19
|
-
@fail
|
20
|
-
Scenario: A failing scenario
|
21
|
-
Given this step fails
|
22
|
-
"""
|
23
|
-
And a file named "features/support/events.rb" with:
|
24
|
-
"""
|
25
|
-
AfterConfiguration do |config|
|
26
|
-
config.on_event :test_step_finished do |event|
|
27
|
-
config.out_stream.puts "Test step: #{event.test_step.name}"
|
28
|
-
config.out_stream.puts "The result is: #{event.result}"
|
29
|
-
end
|
30
|
-
end
|
31
|
-
"""
|
32
|
-
|
33
|
-
Scenario: Test step passes
|
34
|
-
When I run `cucumber --tags @pass`
|
35
|
-
Then it should pass with:
|
36
|
-
"""
|
37
|
-
Test step: this step passes
|
38
|
-
The result is: ✓
|
39
|
-
"""
|
40
|
-
|
41
|
-
Scenario: Test step fails
|
42
|
-
When I run `cucumber --tags @fail`
|
43
|
-
Then it should fail with:
|
44
|
-
"""
|
45
|
-
Test step: this step fails
|
46
|
-
The result is: ✗
|
47
|
-
"""
|
@@ -1,43 +0,0 @@
|
|
1
|
-
Feature: Test Step Starting Event
|
2
|
-
|
3
|
-
This event is fired just before each step in a scenario or scenario outline example
|
4
|
-
(generally named a Test Step) starts to be executed. This event is read-only, so there
|
5
|
-
is no way to prevent the test step from running, but you can use it for logging or user
|
6
|
-
notification.
|
7
|
-
|
8
|
-
See [the API documentation](http://www.rubydoc.info/github/cucumber/cucumber-ruby/Cucumber/Events/TestStepStarting) for more information about the data available on this event and the result object.
|
9
|
-
|
10
|
-
Background:
|
11
|
-
Given the standard step definitions
|
12
|
-
And a file named "features/test.feature" with:
|
13
|
-
"""
|
14
|
-
Feature: A feature
|
15
|
-
|
16
|
-
Scenario: A passing scenario
|
17
|
-
Given this is a step
|
18
|
-
"""
|
19
|
-
And a file named "features/support/events.rb" with:
|
20
|
-
"""
|
21
|
-
stdout = nil
|
22
|
-
AfterConfiguration do |config|
|
23
|
-
stdout = config.out_stream # make sure all the `puts` calls can write to the same output
|
24
|
-
config.on_event :test_step_starting do |event|
|
25
|
-
stdout.puts "before"
|
26
|
-
end
|
27
|
-
config.on_event :test_step_finished do |event|
|
28
|
-
stdout.puts "after"
|
29
|
-
end
|
30
|
-
end
|
31
|
-
Given(/this is a step/) do
|
32
|
-
stdout.puts "during"
|
33
|
-
end
|
34
|
-
"""
|
35
|
-
|
36
|
-
Scenario: Test step passes
|
37
|
-
When I run `cucumber`
|
38
|
-
Then it should pass with:
|
39
|
-
"""
|
40
|
-
before
|
41
|
-
during
|
42
|
-
after
|
43
|
-
"""
|
@@ -1,127 +0,0 @@
|
|
1
|
-
Feature: Exception in After Block
|
2
|
-
In order to use custom assertions at the end of each scenario
|
3
|
-
As a developer
|
4
|
-
I want exceptions raised in After blocks to be handled gracefully and reported by the formatters
|
5
|
-
|
6
|
-
Background:
|
7
|
-
Given the standard step definitions
|
8
|
-
And a file named "features/step_definitions/naughty_steps.rb" with:
|
9
|
-
"""
|
10
|
-
Given /^this step does something naughty$/ do x=1
|
11
|
-
@naughty = true
|
12
|
-
end
|
13
|
-
"""
|
14
|
-
And a file named "features/support/env.rb" with:
|
15
|
-
"""
|
16
|
-
class NaughtyScenarioException < Exception; end
|
17
|
-
After do
|
18
|
-
if @naughty
|
19
|
-
raise NaughtyScenarioException.new("This scenario has been very very naughty")
|
20
|
-
end
|
21
|
-
end
|
22
|
-
"""
|
23
|
-
|
24
|
-
@spawn @todo-windows
|
25
|
-
Scenario: Handle Exception in standard scenario step and carry on
|
26
|
-
Given a file named "features/naughty_step_in_scenario.feature" with:
|
27
|
-
"""
|
28
|
-
Feature: Sample
|
29
|
-
|
30
|
-
Scenario: Naughty Step
|
31
|
-
Given this step does something naughty
|
32
|
-
|
33
|
-
Scenario: Success
|
34
|
-
Given this step passes
|
35
|
-
"""
|
36
|
-
When I run `cucumber features`
|
37
|
-
Then it should fail with:
|
38
|
-
"""
|
39
|
-
Feature: Sample
|
40
|
-
|
41
|
-
Scenario: Naughty Step # features/naughty_step_in_scenario.feature:3
|
42
|
-
Given this step does something naughty # features/step_definitions/naughty_steps.rb:1
|
43
|
-
This scenario has been very very naughty (NaughtyScenarioException)
|
44
|
-
./features/support/env.rb:4:in `After'
|
45
|
-
|
46
|
-
Scenario: Success # features/naughty_step_in_scenario.feature:6
|
47
|
-
Given this step passes # features/step_definitions/steps.rb:1
|
48
|
-
|
49
|
-
Failing Scenarios:
|
50
|
-
cucumber features/naughty_step_in_scenario.feature:3 # Scenario: Naughty Step
|
51
|
-
|
52
|
-
2 scenarios (1 failed, 1 passed)
|
53
|
-
2 steps (2 passed)
|
54
|
-
|
55
|
-
"""
|
56
|
-
|
57
|
-
@spawn @todo-windows
|
58
|
-
Scenario: Handle Exception in scenario outline table row and carry on
|
59
|
-
Given a file named "features/naughty_step_in_scenario_outline.feature" with:
|
60
|
-
"""
|
61
|
-
Feature: Sample
|
62
|
-
|
63
|
-
Scenario Outline: Naughty Step
|
64
|
-
Given this step <Might Work>
|
65
|
-
|
66
|
-
Examples:
|
67
|
-
| Might Work |
|
68
|
-
| passes |
|
69
|
-
| does something naughty |
|
70
|
-
| passes |
|
71
|
-
|
72
|
-
Scenario: Success
|
73
|
-
Given this step passes
|
74
|
-
|
75
|
-
"""
|
76
|
-
When I run `cucumber features -q`
|
77
|
-
Then it should fail with:
|
78
|
-
"""
|
79
|
-
Feature: Sample
|
80
|
-
|
81
|
-
Scenario Outline: Naughty Step
|
82
|
-
Given this step <Might Work>
|
83
|
-
|
84
|
-
Examples:
|
85
|
-
| Might Work |
|
86
|
-
| passes |
|
87
|
-
| does something naughty |
|
88
|
-
This scenario has been very very naughty (NaughtyScenarioException)
|
89
|
-
./features/support/env.rb:4:in `After'
|
90
|
-
| passes |
|
91
|
-
|
92
|
-
Scenario: Success
|
93
|
-
Given this step passes
|
94
|
-
|
95
|
-
Failing Scenarios:
|
96
|
-
cucumber features/naughty_step_in_scenario_outline.feature:9
|
97
|
-
|
98
|
-
4 scenarios (1 failed, 3 passed)
|
99
|
-
4 steps (4 passed)
|
100
|
-
|
101
|
-
"""
|
102
|
-
|
103
|
-
@todo-windows
|
104
|
-
Scenario: Handle Exception using the progress format
|
105
|
-
Given a file named "features/naughty_step_in_scenario.feature" with:
|
106
|
-
"""
|
107
|
-
Feature: Sample
|
108
|
-
|
109
|
-
Scenario: Naughty Step
|
110
|
-
Given this step does something naughty
|
111
|
-
|
112
|
-
Scenario: Success
|
113
|
-
Given this step passes
|
114
|
-
"""
|
115
|
-
When I run `cucumber features --format progress`
|
116
|
-
Then it should fail with:
|
117
|
-
"""
|
118
|
-
.F.
|
119
|
-
|
120
|
-
Failing Scenarios:
|
121
|
-
cucumber features/naughty_step_in_scenario.feature:3 # Scenario: Naughty Step
|
122
|
-
|
123
|
-
2 scenarios (1 failed, 1 passed)
|
124
|
-
2 steps (2 passed)
|
125
|
-
|
126
|
-
"""
|
127
|
-
|