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,89 +0,0 @@
|
|
1
|
-
Feature: Ambiguous Steps
|
2
|
-
|
3
|
-
When Cucumber searches for a step definition for a step, it might find multiple step
|
4
|
-
definitions that could match. In that case, it will give you an error that the step
|
5
|
-
definitions are ambiguous.
|
6
|
-
|
7
|
-
You can also use a `--guess` mode, where it uses magic powers to try and figure
|
8
|
-
out which of those two step definitions is most likely to be the one you meant it
|
9
|
-
to use. Use it with caution!
|
10
|
-
|
11
|
-
|
12
|
-
Scenario: Ambiguous steps
|
13
|
-
|
14
|
-
Given a file named "features/ambiguous.feature" with:
|
15
|
-
"""
|
16
|
-
Feature:
|
17
|
-
|
18
|
-
Scenario:
|
19
|
-
When a step
|
20
|
-
Then an ambiguous step
|
21
|
-
|
22
|
-
"""
|
23
|
-
And a file named "features/step_definitions.rb" with:
|
24
|
-
"""
|
25
|
-
When(/^a.*step$/) do
|
26
|
-
'foo'
|
27
|
-
end
|
28
|
-
|
29
|
-
Then(/^an ambiguous step$/) do
|
30
|
-
'bar'
|
31
|
-
end
|
32
|
-
|
33
|
-
"""
|
34
|
-
When I run `cucumber`
|
35
|
-
Then it should fail with:
|
36
|
-
"""
|
37
|
-
Ambiguous match of "an ambiguous step":
|
38
|
-
|
39
|
-
features/step_definitions.rb:1:in `/^a.*step$/'
|
40
|
-
features/step_definitions.rb:5:in `/^an ambiguous step$/'
|
41
|
-
|
42
|
-
You can run again with --guess to make Cucumber be more smart about it
|
43
|
-
(Cucumber::Ambiguous)
|
44
|
-
features/ambiguous.feature:5:in `Then an ambiguous step'
|
45
|
-
|
46
|
-
Failing Scenarios:
|
47
|
-
cucumber features/ambiguous.feature:3 # Scenario:
|
48
|
-
|
49
|
-
1 scenario (1 failed)
|
50
|
-
2 steps (1 failed, 1 passed)
|
51
|
-
0m0.012s
|
52
|
-
|
53
|
-
"""
|
54
|
-
|
55
|
-
|
56
|
-
Scenario: Ambiguous steps with guess mode
|
57
|
-
|
58
|
-
Given a file named "features/ambiguous.feature" with:
|
59
|
-
"""
|
60
|
-
Feature:
|
61
|
-
|
62
|
-
Scenario:
|
63
|
-
When a step
|
64
|
-
Then an ambiguous step
|
65
|
-
"""
|
66
|
-
And a file named "features/step_definitions.rb" with:
|
67
|
-
"""
|
68
|
-
When(/^a.*step$/) do
|
69
|
-
'foo'
|
70
|
-
end
|
71
|
-
|
72
|
-
Then(/^an ambiguous step$/) do
|
73
|
-
'bar'
|
74
|
-
end
|
75
|
-
"""
|
76
|
-
When I run `cucumber -g`
|
77
|
-
Then it should pass with exactly:
|
78
|
-
"""
|
79
|
-
Feature:
|
80
|
-
|
81
|
-
Scenario: # features/ambiguous.feature:3
|
82
|
-
When a step # features/step_definitions.rb:1
|
83
|
-
Then an ambiguous step # features/step_definitions.rb:5
|
84
|
-
|
85
|
-
1 scenario (1 passed)
|
86
|
-
2 steps (2 passed)
|
87
|
-
0m0.012s
|
88
|
-
|
89
|
-
"""
|
@@ -1,181 +0,0 @@
|
|
1
|
-
Feature: Nested Steps
|
2
|
-
|
3
|
-
Background:
|
4
|
-
Given a scenario with a step that looks like this:
|
5
|
-
"""gherkin
|
6
|
-
Given two turtles
|
7
|
-
"""
|
8
|
-
And a step definition that looks like this:
|
9
|
-
"""ruby
|
10
|
-
Given /a turtle/ do
|
11
|
-
puts "turtle!"
|
12
|
-
end
|
13
|
-
"""
|
14
|
-
|
15
|
-
@todo-windows
|
16
|
-
Scenario: Use #steps to call several steps at once
|
17
|
-
Given a step definition that looks like this:
|
18
|
-
"""ruby
|
19
|
-
Given /two turtles/ do
|
20
|
-
steps %{
|
21
|
-
Given a turtle
|
22
|
-
And a turtle
|
23
|
-
}
|
24
|
-
end
|
25
|
-
"""
|
26
|
-
When I run the feature with the progress formatter
|
27
|
-
Then the output should contain:
|
28
|
-
"""
|
29
|
-
turtle!
|
30
|
-
|
31
|
-
turtle!
|
32
|
-
|
33
|
-
"""
|
34
|
-
|
35
|
-
@todo-windows
|
36
|
-
Scenario: Use #step to call a single step
|
37
|
-
Given a step definition that looks like this:
|
38
|
-
"""ruby
|
39
|
-
Given /two turtles/ do
|
40
|
-
step "a turtle"
|
41
|
-
step "a turtle"
|
42
|
-
end
|
43
|
-
"""
|
44
|
-
When I run the feature with the progress formatter
|
45
|
-
Then the output should contain:
|
46
|
-
"""
|
47
|
-
turtle!
|
48
|
-
|
49
|
-
turtle!
|
50
|
-
|
51
|
-
"""
|
52
|
-
|
53
|
-
@todo-windows
|
54
|
-
Scenario: Use #steps to call a table
|
55
|
-
Given a step definition that looks like this:
|
56
|
-
"""ruby
|
57
|
-
Given /turtles:/ do |table|
|
58
|
-
table.hashes.each do |row|
|
59
|
-
puts row[:name]
|
60
|
-
end
|
61
|
-
end
|
62
|
-
"""
|
63
|
-
And a step definition that looks like this:
|
64
|
-
"""ruby
|
65
|
-
Given /two turtles/ do
|
66
|
-
steps %{
|
67
|
-
Given turtles:
|
68
|
-
| name |
|
69
|
-
| Sturm |
|
70
|
-
| Liouville |
|
71
|
-
}
|
72
|
-
end
|
73
|
-
"""
|
74
|
-
When I run the feature with the progress formatter
|
75
|
-
Then the output should contain:
|
76
|
-
"""
|
77
|
-
Sturm
|
78
|
-
|
79
|
-
Liouville
|
80
|
-
|
81
|
-
"""
|
82
|
-
|
83
|
-
@todo-windows
|
84
|
-
Scenario: Use #steps to call a multi-line string
|
85
|
-
Given a step definition that looks like this:
|
86
|
-
"""ruby
|
87
|
-
Given /two turtles/ do
|
88
|
-
steps %Q{
|
89
|
-
Given turtles:
|
90
|
-
\"\"\"
|
91
|
-
Sturm
|
92
|
-
Liouville
|
93
|
-
\"\"\"
|
94
|
-
}
|
95
|
-
end
|
96
|
-
"""
|
97
|
-
And a step definition that looks like this:
|
98
|
-
"""ruby
|
99
|
-
Given /turtles:/ do |string|
|
100
|
-
puts string
|
101
|
-
end
|
102
|
-
"""
|
103
|
-
When I run the feature with the progress formatter
|
104
|
-
Then the output should contain:
|
105
|
-
"""
|
106
|
-
Sturm
|
107
|
-
Liouville
|
108
|
-
"""
|
109
|
-
|
110
|
-
@spawn @todo-windows
|
111
|
-
Scenario: Backtrace doesn't skip nested steps
|
112
|
-
Given a step definition that looks like this:
|
113
|
-
"""ruby
|
114
|
-
Given /two turtles/ do
|
115
|
-
step "I have a couple turtles"
|
116
|
-
end
|
117
|
-
|
118
|
-
When(/I have a couple turtles/) { raise 'error' }
|
119
|
-
"""
|
120
|
-
When I run the feature with the progress formatter
|
121
|
-
Then it should fail with:
|
122
|
-
"""
|
123
|
-
error (RuntimeError)
|
124
|
-
./features/step_definitions/steps2.rb:5:in `/I have a couple turtles/'
|
125
|
-
./features/step_definitions/steps2.rb:2:in `/two turtles/'
|
126
|
-
features/test_feature_1.feature:3:in `Given two turtles'
|
127
|
-
|
128
|
-
Failing Scenarios:
|
129
|
-
cucumber features/test_feature_1.feature:2 # Scenario: Test Scenario 1
|
130
|
-
|
131
|
-
1 scenario (1 failed)
|
132
|
-
1 step (1 failed)
|
133
|
-
"""
|
134
|
-
|
135
|
-
Scenario: Undefined nested step
|
136
|
-
Given a file named "features/call_undefined_step_from_step_def.feature" with:
|
137
|
-
"""
|
138
|
-
Feature: Calling undefined step
|
139
|
-
|
140
|
-
Scenario: Call directly
|
141
|
-
Given a step that calls an undefined step
|
142
|
-
|
143
|
-
Scenario: Call via another
|
144
|
-
Given a step that calls a step that calls an undefined step
|
145
|
-
"""
|
146
|
-
And a file named "features/step_definitions/steps.rb" with:
|
147
|
-
"""
|
148
|
-
Given /^a step that calls an undefined step$/ do
|
149
|
-
step 'this does not exist'
|
150
|
-
end
|
151
|
-
|
152
|
-
Given /^a step that calls a step that calls an undefined step$/ do
|
153
|
-
step 'a step that calls an undefined step'
|
154
|
-
end
|
155
|
-
"""
|
156
|
-
When I run `cucumber -q features/call_undefined_step_from_step_def.feature`
|
157
|
-
Then it should fail with exactly:
|
158
|
-
"""
|
159
|
-
Feature: Calling undefined step
|
160
|
-
|
161
|
-
Scenario: Call directly
|
162
|
-
Given a step that calls an undefined step
|
163
|
-
Undefined dynamic step: "this does not exist" (Cucumber::UndefinedDynamicStep)
|
164
|
-
./features/step_definitions/steps.rb:2:in `/^a step that calls an undefined step$/'
|
165
|
-
features/call_undefined_step_from_step_def.feature:4:in `Given a step that calls an undefined step'
|
166
|
-
|
167
|
-
Scenario: Call via another
|
168
|
-
Given a step that calls a step that calls an undefined step
|
169
|
-
Undefined dynamic step: "this does not exist" (Cucumber::UndefinedDynamicStep)
|
170
|
-
./features/step_definitions/steps.rb:2:in `/^a step that calls an undefined step$/'
|
171
|
-
./features/step_definitions/steps.rb:6:in `/^a step that calls a step that calls an undefined step$/'
|
172
|
-
features/call_undefined_step_from_step_def.feature:7:in `Given a step that calls a step that calls an undefined step'
|
173
|
-
|
174
|
-
Failing Scenarios:
|
175
|
-
cucumber features/call_undefined_step_from_step_def.feature:3
|
176
|
-
cucumber features/call_undefined_step_from_step_def.feature:6
|
177
|
-
|
178
|
-
2 scenarios (2 failed)
|
179
|
-
2 steps (2 failed)
|
180
|
-
|
181
|
-
"""
|
@@ -1,37 +0,0 @@
|
|
1
|
-
Feature: Nested Steps in I18n
|
2
|
-
|
3
|
-
Background:
|
4
|
-
Given a scenario with a step that looks like this in japanese:
|
5
|
-
"""gherkin
|
6
|
-
前提 two turtles
|
7
|
-
"""
|
8
|
-
And a step definition that looks like this:
|
9
|
-
"""ruby
|
10
|
-
# -*- coding: utf-8 -*-
|
11
|
-
# frozen_string_literal: true
|
12
|
-
前提 /a turtle/ do
|
13
|
-
puts "turtle!"
|
14
|
-
end
|
15
|
-
"""
|
16
|
-
|
17
|
-
@todo-windows
|
18
|
-
Scenario: Use #steps to call several steps at once
|
19
|
-
Given a step definition that looks like this:
|
20
|
-
"""ruby
|
21
|
-
# -*- coding: utf-8 -*-
|
22
|
-
# frozen_string_literal: true
|
23
|
-
前提 /two turtles/ do
|
24
|
-
steps %{
|
25
|
-
前提 a turtle
|
26
|
-
かつ a turtle
|
27
|
-
}
|
28
|
-
end
|
29
|
-
"""
|
30
|
-
When I run the feature with the progress formatter
|
31
|
-
Then the output should contain:
|
32
|
-
"""
|
33
|
-
turtle!
|
34
|
-
|
35
|
-
turtle!
|
36
|
-
|
37
|
-
"""
|
@@ -1,56 +0,0 @@
|
|
1
|
-
Feature: Nested Steps with either table or doc string
|
2
|
-
|
3
|
-
Background:
|
4
|
-
Given a scenario with a step that looks like this:
|
5
|
-
"""gherkin
|
6
|
-
Given two turtles
|
7
|
-
"""
|
8
|
-
|
9
|
-
@todo-windows
|
10
|
-
Scenario: Use #step with table
|
11
|
-
Given a step definition that looks like this:
|
12
|
-
"""ruby
|
13
|
-
Given /turtles:/ do |table|
|
14
|
-
table.hashes.each do |row|
|
15
|
-
puts row[:name]
|
16
|
-
end
|
17
|
-
end
|
18
|
-
"""
|
19
|
-
And a step definition that looks like this:
|
20
|
-
"""ruby
|
21
|
-
Given /two turtles/ do
|
22
|
-
step %{turtles:}, table(%{
|
23
|
-
| name |
|
24
|
-
| Sturm |
|
25
|
-
| Liouville |
|
26
|
-
})
|
27
|
-
end
|
28
|
-
"""
|
29
|
-
When I run the feature with the progress formatter
|
30
|
-
Then the output should contain:
|
31
|
-
"""
|
32
|
-
Sturm
|
33
|
-
|
34
|
-
Liouville
|
35
|
-
|
36
|
-
"""
|
37
|
-
|
38
|
-
@todo-windows
|
39
|
-
Scenario: Use #step with Doc String
|
40
|
-
Given a step definition that looks like this:
|
41
|
-
"""ruby
|
42
|
-
Given /two turtles/ do
|
43
|
-
step %{turtles:}, "Sturm and Lioville"
|
44
|
-
end
|
45
|
-
"""
|
46
|
-
And a step definition that looks like this:
|
47
|
-
"""ruby
|
48
|
-
Given /turtles:/ do |text|
|
49
|
-
puts "#{text}:#{text.class}"
|
50
|
-
end
|
51
|
-
"""
|
52
|
-
When I run the feature with the progress formatter
|
53
|
-
Then the output should contain:
|
54
|
-
"""
|
55
|
-
Sturm and Lioville:String
|
56
|
-
"""
|
@@ -1,65 +0,0 @@
|
|
1
|
-
Feature: One line step definitions
|
2
|
-
|
3
|
-
Everybody knows you can do step definitions in Cucumber
|
4
|
-
but did you know you can do this?
|
5
|
-
|
6
|
-
Scenario: Call a method in World directly from a step def
|
7
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
8
|
-
"""
|
9
|
-
module Driver
|
10
|
-
def do_action
|
11
|
-
@done = true
|
12
|
-
end
|
13
|
-
|
14
|
-
def assert_done
|
15
|
-
expect(@done).to be true
|
16
|
-
end
|
17
|
-
end
|
18
|
-
World(Driver)
|
19
|
-
|
20
|
-
When /I do the action/, :do_action
|
21
|
-
Then /The action should be done/, :assert_done
|
22
|
-
"""
|
23
|
-
And a file named "features/action.feature" with:
|
24
|
-
"""
|
25
|
-
Feature:
|
26
|
-
Scenario:
|
27
|
-
When I do the action
|
28
|
-
Then the action should be done
|
29
|
-
"""
|
30
|
-
When I run `cucumber`
|
31
|
-
Then it should pass
|
32
|
-
|
33
|
-
Scenario: Call a method on an actor in the World directly from a step def
|
34
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
35
|
-
"""
|
36
|
-
class Thing
|
37
|
-
def do_action
|
38
|
-
@done = true
|
39
|
-
end
|
40
|
-
|
41
|
-
def assert_done
|
42
|
-
expect(@done).to be true
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
module Driver
|
47
|
-
def thing
|
48
|
-
@thing ||= Thing.new
|
49
|
-
end
|
50
|
-
end
|
51
|
-
World(Driver)
|
52
|
-
|
53
|
-
When /I do the action to the thing/, :do_action, :on => lambda { thing }
|
54
|
-
Then /The thing should be done/, :assert_done, :on => lambda { thing }
|
55
|
-
"""
|
56
|
-
And a file named "features/action.feature" with:
|
57
|
-
"""
|
58
|
-
Feature:
|
59
|
-
Scenario:
|
60
|
-
When I do the action to the thing
|
61
|
-
Then the thing should be done
|
62
|
-
"""
|
63
|
-
When I run `cucumber`
|
64
|
-
Then it should pass
|
65
|
-
|
@@ -1,147 +0,0 @@
|
|
1
|
-
Feature: Pretty formatter - Printing messages
|
2
|
-
|
3
|
-
When you want to print to Cucumber's output, just call `puts` from
|
4
|
-
a step definition. Cucumber will grab the output and print it via
|
5
|
-
the formatter that you're using.
|
6
|
-
|
7
|
-
Your message will be printed out after the step has run.
|
8
|
-
|
9
|
-
Background:
|
10
|
-
Given the standard step definitions
|
11
|
-
And a file named "features/step_definitions/puts_steps.rb" with:
|
12
|
-
"""
|
13
|
-
Given /^I use puts with text "(.*)"$/ do |ann|
|
14
|
-
puts(ann)
|
15
|
-
end
|
16
|
-
|
17
|
-
Given /^I use multiple putss$/ do
|
18
|
-
puts("Multiple")
|
19
|
-
puts("Announce","Me")
|
20
|
-
end
|
21
|
-
|
22
|
-
Given /^I use message (.+) in line (.+) (?:with result (.+))$/ do |ann, line, result|
|
23
|
-
puts("Last message") if line == "3"
|
24
|
-
puts("Line: #{line}: #{ann}")
|
25
|
-
fail if result =~ /fail/i
|
26
|
-
end
|
27
|
-
|
28
|
-
Given /^I use puts and step fails$/ do
|
29
|
-
puts("Announce with fail")
|
30
|
-
fail
|
31
|
-
end
|
32
|
-
|
33
|
-
Given /^I puts the world$/ do
|
34
|
-
puts(self)
|
35
|
-
end
|
36
|
-
"""
|
37
|
-
And a file named "features/f.feature" with:
|
38
|
-
"""
|
39
|
-
Feature:
|
40
|
-
|
41
|
-
Scenario:
|
42
|
-
Given I use puts with text "Ann"
|
43
|
-
And this step passes
|
44
|
-
|
45
|
-
Scenario:
|
46
|
-
Given I use multiple putss
|
47
|
-
And this step passes
|
48
|
-
|
49
|
-
Scenario Outline:
|
50
|
-
Given I use message <ann> in line <line>
|
51
|
-
|
52
|
-
Examples:
|
53
|
-
| line | ann |
|
54
|
-
| 1 | anno1 |
|
55
|
-
| 2 | anno2 |
|
56
|
-
| 3 | anno3 |
|
57
|
-
|
58
|
-
Scenario:
|
59
|
-
Given I use puts and step fails
|
60
|
-
And this step passes
|
61
|
-
|
62
|
-
Scenario Outline:
|
63
|
-
Given I use message <ann> in line <line> with result <result>
|
64
|
-
|
65
|
-
Examples:
|
66
|
-
| line | ann | result |
|
67
|
-
| 1 | anno1 | fail |
|
68
|
-
| 2 | anno2 | pass |
|
69
|
-
"""
|
70
|
-
|
71
|
-
And a file named "features/puts_world.feature" with:
|
72
|
-
"""
|
73
|
-
Feature: puts_world
|
74
|
-
Scenario: puts_world
|
75
|
-
Given I puts the world
|
76
|
-
"""
|
77
|
-
|
78
|
-
# Don't know why, but we need to spawn this for JRuby otherwise it gives wierd errors
|
79
|
-
@spawn @todo-windows
|
80
|
-
Scenario: Delayed messages feature
|
81
|
-
When I run `cucumber --quiet --format pretty features/f.feature`
|
82
|
-
Then the stderr should not contain anything
|
83
|
-
And the output should contain:
|
84
|
-
"""
|
85
|
-
Feature:
|
86
|
-
|
87
|
-
Scenario:
|
88
|
-
Given I use puts with text "Ann"
|
89
|
-
Ann
|
90
|
-
And this step passes
|
91
|
-
|
92
|
-
Scenario:
|
93
|
-
Given I use multiple putss
|
94
|
-
Multiple
|
95
|
-
Announce
|
96
|
-
Me
|
97
|
-
And this step passes
|
98
|
-
|
99
|
-
Scenario Outline:
|
100
|
-
Given I use message <ann> in line <line>
|
101
|
-
|
102
|
-
Examples:
|
103
|
-
| line | ann |
|
104
|
-
| 1 | anno1 |
|
105
|
-
| 2 | anno2 |
|
106
|
-
| 3 | anno3 |
|
107
|
-
|
108
|
-
Scenario:
|
109
|
-
Given I use puts and step fails
|
110
|
-
Announce with fail
|
111
|
-
(RuntimeError)
|
112
|
-
./features/step_definitions/puts_steps.rb:18:in `/^I use puts and step fails$/'
|
113
|
-
features/f.feature:21:in `Given I use puts and step fails'
|
114
|
-
And this step passes
|
115
|
-
|
116
|
-
Scenario Outline:
|
117
|
-
Given I use message <ann> in line <line> with result <result>
|
118
|
-
|
119
|
-
Examples:
|
120
|
-
| line | ann | result |
|
121
|
-
| 1 | anno1 | fail | Line: 1: anno1
|
122
|
-
(RuntimeError)
|
123
|
-
./features/step_definitions/puts_steps.rb:13:in `/^I use message (.+) in line (.+) (?:with result (.+))$/'
|
124
|
-
features/f.feature:29:in `Given I use message anno1 in line 1 with result fail'
|
125
|
-
features/f.feature:25:in `Given I use message <ann> in line <line> with result <result>'
|
126
|
-
| 2 | anno2 | pass | Line: 2: anno2
|
127
|
-
"""
|
128
|
-
|
129
|
-
Scenario: Non-delayed messages feature (progress formatter)
|
130
|
-
When I run `cucumber --format progress features/f.feature`
|
131
|
-
Then the output should contain:
|
132
|
-
"""
|
133
|
-
Ann
|
134
|
-
..
|
135
|
-
Multiple
|
136
|
-
|
137
|
-
Announce
|
138
|
-
Me
|
139
|
-
..UUU
|
140
|
-
Announce with fail
|
141
|
-
F-
|
142
|
-
Line: 1: anno1
|
143
|
-
F
|
144
|
-
Line: 2: anno2
|
145
|
-
.
|
146
|
-
"""
|
147
|
-
|