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,36 +0,0 @@
|
|
1
|
-
Feature: Backtraces
|
2
|
-
|
3
|
-
In order to discover errors quickly
|
4
|
-
As a cuker
|
5
|
-
I want to see backtraces for failures
|
6
|
-
|
7
|
-
Background:
|
8
|
-
Given a file named "features/failing_hard.feature" with:
|
9
|
-
"""
|
10
|
-
Feature: Sample
|
11
|
-
Scenario: Example
|
12
|
-
Given failing
|
13
|
-
"""
|
14
|
-
|
15
|
-
@jruby
|
16
|
-
Scenario: Backtraces enabled
|
17
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
18
|
-
"""
|
19
|
-
require 'java'
|
20
|
-
java_import 'java.util.Collections'
|
21
|
-
|
22
|
-
Given /^failing$/ do
|
23
|
-
Collections.empty_list.add 1
|
24
|
-
end
|
25
|
-
"""
|
26
|
-
When I run `cucumber features/failing_hard.feature`
|
27
|
-
Then it should fail with:
|
28
|
-
"""
|
29
|
-
Feature: Sample
|
30
|
-
|
31
|
-
Scenario: Example # features/failing_hard.feature:2
|
32
|
-
Given failing # features/step_definitions/steps.rb:4
|
33
|
-
(Java::JavaLang::UnsupportedOperationException)
|
34
|
-
java.util.AbstractList.add(java/util/AbstractList.java:
|
35
|
-
"""
|
36
|
-
|
@@ -1,73 +0,0 @@
|
|
1
|
-
Feature: Dry Run
|
2
|
-
|
3
|
-
Dry run gives you a way to quickly scan your features without actually running them.
|
4
|
-
|
5
|
-
- Invokes formatters without executing the steps.
|
6
|
-
- This also omits the loading of your support/env.rb file if it exists.
|
7
|
-
|
8
|
-
Scenario: With a failing step
|
9
|
-
Given a file named "features/test.feature" with:
|
10
|
-
"""
|
11
|
-
Feature: test
|
12
|
-
Scenario:
|
13
|
-
Given this step fails
|
14
|
-
"""
|
15
|
-
And the standard step definitions
|
16
|
-
When I run `cucumber --dry-run`
|
17
|
-
Then it should pass with exactly:
|
18
|
-
"""
|
19
|
-
Feature: test
|
20
|
-
|
21
|
-
Scenario: # features/test.feature:2
|
22
|
-
Given this step fails # features/step_definitions/steps.rb:4
|
23
|
-
|
24
|
-
1 scenario (1 skipped)
|
25
|
-
1 step (1 skipped)
|
26
|
-
|
27
|
-
"""
|
28
|
-
|
29
|
-
Scenario: In strict mode
|
30
|
-
Given a file named "features/test.feature" with:
|
31
|
-
"""
|
32
|
-
Feature: test
|
33
|
-
Scenario:
|
34
|
-
Given this step fails
|
35
|
-
"""
|
36
|
-
And the standard step definitions
|
37
|
-
When I run `cucumber --dry-run --strict`
|
38
|
-
Then it should pass with exactly:
|
39
|
-
"""
|
40
|
-
Feature: test
|
41
|
-
|
42
|
-
Scenario: # features/test.feature:2
|
43
|
-
Given this step fails # features/step_definitions/steps.rb:4
|
44
|
-
|
45
|
-
1 scenario (1 skipped)
|
46
|
-
1 step (1 skipped)
|
47
|
-
|
48
|
-
"""
|
49
|
-
|
50
|
-
Scenario: In strict mode with an undefined step
|
51
|
-
Given a file named "features/test.feature" with:
|
52
|
-
"""
|
53
|
-
Feature: test
|
54
|
-
Scenario:
|
55
|
-
Given this step is undefined
|
56
|
-
"""
|
57
|
-
When I run `cucumber --dry-run --strict`
|
58
|
-
Then it should fail with:
|
59
|
-
"""
|
60
|
-
Feature: test
|
61
|
-
|
62
|
-
Scenario: # features/test.feature:2
|
63
|
-
Given this step is undefined # features/test.feature:3
|
64
|
-
Undefined step: "this step is undefined" (Cucumber::Undefined)
|
65
|
-
features/test.feature:3:in `Given this step is undefined'
|
66
|
-
|
67
|
-
Undefined Scenarios:
|
68
|
-
cucumber features/test.feature:2 # Scenario:
|
69
|
-
|
70
|
-
1 scenario (1 undefined)
|
71
|
-
1 step (1 undefined)
|
72
|
-
|
73
|
-
"""
|
@@ -1,18 +0,0 @@
|
|
1
|
-
Feature: Excluding ruby and feature files from runs
|
2
|
-
|
3
|
-
Developers are able to easily exclude files from cucumber runs
|
4
|
-
This is a nice feature to have in conjunction with profiles, so you can exclude
|
5
|
-
certain environment files from certain runs.
|
6
|
-
|
7
|
-
Scenario: exclude ruby files
|
8
|
-
Given an empty file named "features/support/dont_require_me.rb"
|
9
|
-
And an empty file named "features/step_definitions/fooz.rb"
|
10
|
-
And an empty file named "features/step_definitions/foof.rb"
|
11
|
-
And an empty file named "features/step_definitions/foot.rb"
|
12
|
-
And an empty file named "features/support/require_me.rb"
|
13
|
-
When I run `cucumber features -q --verbose --exclude features/support/dont --exclude foo[zf]`
|
14
|
-
Then "features/support/require_me.rb" should be required
|
15
|
-
And "features/step_definitions/foot.rb" should be required
|
16
|
-
And "features/support/dont_require_me.rb" should not be required
|
17
|
-
And "features/step_definitions/foof.rb" should not be required
|
18
|
-
And "features/step_definitions/fooz.rb" should not be required
|
@@ -1,119 +0,0 @@
|
|
1
|
-
Feature: Tag logic
|
2
|
-
In order to conveniently run subsets of features
|
3
|
-
As a Cuker
|
4
|
-
I want to select features using logical AND/OR of tags
|
5
|
-
|
6
|
-
Background:
|
7
|
-
Given a file named "features/test.feature" with:
|
8
|
-
"""
|
9
|
-
@feature
|
10
|
-
Feature: Sample
|
11
|
-
|
12
|
-
@one @three
|
13
|
-
Scenario: Example
|
14
|
-
Given passing
|
15
|
-
|
16
|
-
@one
|
17
|
-
Scenario: Another Example
|
18
|
-
Given passing
|
19
|
-
|
20
|
-
@three
|
21
|
-
Scenario: Yet another Example
|
22
|
-
Given passing
|
23
|
-
|
24
|
-
@ignore
|
25
|
-
Scenario: And yet another Example
|
26
|
-
Given passing
|
27
|
-
"""
|
28
|
-
|
29
|
-
Scenario: ANDing tags
|
30
|
-
When I run `cucumber -q -t '@one and @three' features/test.feature`
|
31
|
-
Then it should pass with:
|
32
|
-
"""
|
33
|
-
@feature
|
34
|
-
Feature: Sample
|
35
|
-
|
36
|
-
@one @three
|
37
|
-
Scenario: Example
|
38
|
-
Given passing
|
39
|
-
|
40
|
-
1 scenario (1 undefined)
|
41
|
-
1 step (1 undefined)
|
42
|
-
|
43
|
-
"""
|
44
|
-
|
45
|
-
Scenario: ORing tags
|
46
|
-
When I run `cucumber -q -t '@one or @three' features/test.feature`
|
47
|
-
Then it should pass with:
|
48
|
-
"""
|
49
|
-
@feature
|
50
|
-
Feature: Sample
|
51
|
-
|
52
|
-
@one @three
|
53
|
-
Scenario: Example
|
54
|
-
Given passing
|
55
|
-
|
56
|
-
@one
|
57
|
-
Scenario: Another Example
|
58
|
-
Given passing
|
59
|
-
|
60
|
-
@three
|
61
|
-
Scenario: Yet another Example
|
62
|
-
Given passing
|
63
|
-
|
64
|
-
3 scenarios (3 undefined)
|
65
|
-
3 steps (3 undefined)
|
66
|
-
|
67
|
-
"""
|
68
|
-
|
69
|
-
Scenario: Negative tags
|
70
|
-
When I run `cucumber -q -t 'not @three' features/test.feature`
|
71
|
-
Then it should pass with:
|
72
|
-
"""
|
73
|
-
@feature
|
74
|
-
Feature: Sample
|
75
|
-
|
76
|
-
@one
|
77
|
-
Scenario: Another Example
|
78
|
-
Given passing
|
79
|
-
|
80
|
-
@ignore
|
81
|
-
Scenario: And yet another Example
|
82
|
-
Given passing
|
83
|
-
|
84
|
-
2 scenarios (2 undefined)
|
85
|
-
2 steps (2 undefined)
|
86
|
-
"""
|
87
|
-
|
88
|
-
Scenario: Run with limited tag count, blowing it on scenario
|
89
|
-
When I run `cucumber -q --no-source --tags @one:1 features/test.feature`
|
90
|
-
Then it fails before running features with:
|
91
|
-
"""
|
92
|
-
@one occurred 2 times, but the limit was set to 1
|
93
|
-
features/test.feature:5
|
94
|
-
features/test.feature:9
|
95
|
-
"""
|
96
|
-
|
97
|
-
Scenario: Run with limited tag count, blowing it via feature inheritance
|
98
|
-
When I run `cucumber -q --no-source --tags @feature:1 features/test.feature`
|
99
|
-
Then it fails before running features with:
|
100
|
-
"""
|
101
|
-
@feature occurred 4 times, but the limit was set to 1
|
102
|
-
features/test.feature:5
|
103
|
-
features/test.feature:9
|
104
|
-
features/test.feature:13
|
105
|
-
features/test.feature:17
|
106
|
-
"""
|
107
|
-
|
108
|
-
Scenario: Run with limited tag count using negative tag, blowing it via a tag that is not run
|
109
|
-
When I run `cucumber -q --no-source --tags 'not @one:1' features/test.feature`
|
110
|
-
Then it fails before running features with:
|
111
|
-
"""
|
112
|
-
@one occurred 2 times, but the limit was set to 1
|
113
|
-
"""
|
114
|
-
|
115
|
-
Scenario: Limiting with tags which do not exist in the features
|
116
|
-
Originally added to check [Lighthouse bug #464](https://rspec.lighthouseapp.com/projects/16211/tickets/464).
|
117
|
-
|
118
|
-
When I run `cucumber -q -t @i_dont_exist features/test.feature`
|
119
|
-
Then it should pass
|
@@ -1,48 +0,0 @@
|
|
1
|
-
@spawn
|
2
|
-
Feature: Fail fast
|
3
|
-
|
4
|
-
The --fail-fast flag causes Cucumber to exit immediately after the first
|
5
|
-
scenario fails.
|
6
|
-
|
7
|
-
@todo-windows
|
8
|
-
Scenario: When a scenario fails
|
9
|
-
Given a file named "features/bad.feature" with:
|
10
|
-
"""
|
11
|
-
Feature: Bad
|
12
|
-
Scenario: Failing
|
13
|
-
Given this step fails
|
14
|
-
"""
|
15
|
-
And a file named "features/good.feature" with:
|
16
|
-
"""
|
17
|
-
Feature: Good
|
18
|
-
Scenario: Passing
|
19
|
-
Given this step passes
|
20
|
-
"""
|
21
|
-
And the standard step definitions
|
22
|
-
When I run `cucumber --fail-fast`
|
23
|
-
Then it should fail
|
24
|
-
And the output should contain:
|
25
|
-
"""
|
26
|
-
1 scenario (1 failed)
|
27
|
-
"""
|
28
|
-
|
29
|
-
@todo-windows
|
30
|
-
Scenario: When all the scenarios pass
|
31
|
-
Given a file named "features/first.feature" with:
|
32
|
-
"""
|
33
|
-
Feature: first feature
|
34
|
-
Scenario: foo first
|
35
|
-
Given this step passes
|
36
|
-
Scenario: bar first
|
37
|
-
Given this step passes
|
38
|
-
"""
|
39
|
-
And a file named "features/second.feature" with:
|
40
|
-
"""
|
41
|
-
Feature: second
|
42
|
-
Scenario: foo second
|
43
|
-
Given this step passes
|
44
|
-
Scenario: bar second
|
45
|
-
Given this step passes
|
46
|
-
"""
|
47
|
-
When I run `cucumber --fail-fast`
|
48
|
-
Then it should pass
|
@@ -1,28 +0,0 @@
|
|
1
|
-
Feature: Loading the steps users expect
|
2
|
-
As a User
|
3
|
-
In order to run features in subdirectories without having to pass extra options
|
4
|
-
I want cucumber to load all step files
|
5
|
-
|
6
|
-
Scenario:
|
7
|
-
Given a file named "features/nesting/test.feature" with:
|
8
|
-
"""
|
9
|
-
Feature: Feature in Subdirectory
|
10
|
-
Scenario: A step not in the subdirectory
|
11
|
-
Given not found in subdirectory
|
12
|
-
"""
|
13
|
-
And a file named "features/step_definitions/steps_no_in_subdirectory.rb" with:
|
14
|
-
"""
|
15
|
-
Given(/^not found in subdirectory$/) { }
|
16
|
-
"""
|
17
|
-
When I run `cucumber -q features/nesting/test.feature`
|
18
|
-
Then it should pass with:
|
19
|
-
"""
|
20
|
-
Feature: Feature in Subdirectory
|
21
|
-
|
22
|
-
Scenario: A step not in the subdirectory
|
23
|
-
Given not found in subdirectory
|
24
|
-
|
25
|
-
1 scenario (1 passed)
|
26
|
-
1 step (1 passed)
|
27
|
-
"""
|
28
|
-
|
@@ -1,42 +0,0 @@
|
|
1
|
-
@needs-many-fonts
|
2
|
-
Feature: i18n
|
3
|
-
|
4
|
-
It's possible to ask cucumber which keywords are used for any
|
5
|
-
particular language by running:
|
6
|
-
|
7
|
-
`cucumber --i18n-keywords <LANG>`
|
8
|
-
|
9
|
-
This will print a table showing all the different words we use for
|
10
|
-
that language, to allow you to easily write features in any language
|
11
|
-
you choose.
|
12
|
-
|
13
|
-
Scenario: Get help for Portuguese language
|
14
|
-
When I run `cucumber --i18n-keywords pt`
|
15
|
-
Then it should pass with:
|
16
|
-
"""
|
17
|
-
| feature | "Funcionalidade", "Característica", "Caracteristica" |
|
18
|
-
| background | "Contexto", "Cenário de Fundo", "Cenario de Fundo", "Fundo" |
|
19
|
-
| scenario | "Cenário", "Cenario" |
|
20
|
-
| scenario_outline | "Esquema do Cenário", "Esquema do Cenario", "Delineação do Cenário", "Delineacao do Cenario" |
|
21
|
-
| examples | "Exemplos", "Cenários", "Cenarios" |
|
22
|
-
| given | "* ", "Dado ", "Dada ", "Dados ", "Dadas " |
|
23
|
-
| when | "* ", "Quando " |
|
24
|
-
| then | "* ", "Então ", "Entao " |
|
25
|
-
| and | "* ", "E " |
|
26
|
-
| but | "* ", "Mas " |
|
27
|
-
| given (code) | "Dado", "Dada", "Dados", "Dadas" |
|
28
|
-
| when (code) | "Quando" |
|
29
|
-
| then (code) | "Então", "Entao" |
|
30
|
-
| and (code) | "E" |
|
31
|
-
| but (code) | "Mas" |
|
32
|
-
|
33
|
-
"""
|
34
|
-
|
35
|
-
Scenario: List languages
|
36
|
-
When I run `cucumber --i18n-languages`
|
37
|
-
Then cucumber lists all the supported languages
|
38
|
-
|
39
|
-
Scenario: Seek help for invalid language
|
40
|
-
When I run `cucumber --i18n-keywords foo`
|
41
|
-
Then the output includes the message "Invalid language 'foo'"
|
42
|
-
And cucumber lists all the supported languages
|
@@ -1,140 +0,0 @@
|
|
1
|
-
Feature: Randomize
|
2
|
-
|
3
|
-
Use the `--order random` switch to run scenarios in random order.
|
4
|
-
|
5
|
-
This is especially helpful for detecting situations where you have state
|
6
|
-
leaking between scenarios, which can cause flickering or fragile tests.
|
7
|
-
|
8
|
-
If you do find a random run that exposes dependencies between your tests,
|
9
|
-
you can reproduce that run by using the seed that's printed at the end of
|
10
|
-
the test run.
|
11
|
-
|
12
|
-
For a given seed, the order of scenarios is constant, i.e. if step A runs
|
13
|
-
before step B, it will always run before step B even if other steps are
|
14
|
-
skipped.
|
15
|
-
|
16
|
-
Background:
|
17
|
-
Given a file named "features/bad_practice_part_1.feature" with:
|
18
|
-
"""
|
19
|
-
Feature: Bad practice, part 1
|
20
|
-
|
21
|
-
Scenario: Set state
|
22
|
-
Given I set some state
|
23
|
-
|
24
|
-
Scenario: Depend on state from a preceding scenario
|
25
|
-
When I depend on the state
|
26
|
-
"""
|
27
|
-
And a file named "features/bad_practice_part_2.feature" with:
|
28
|
-
"""
|
29
|
-
Feature: Bad practice, part 2
|
30
|
-
|
31
|
-
Scenario: Depend on state from a preceding feature
|
32
|
-
When I depend on the state
|
33
|
-
"""
|
34
|
-
And a file named "features/unrelated.feature" with:
|
35
|
-
"""
|
36
|
-
Feature: Unrelated
|
37
|
-
|
38
|
-
@skipme
|
39
|
-
Scenario: Do something unrelated
|
40
|
-
When I do something
|
41
|
-
"""
|
42
|
-
And a file named "features/step_definitions/steps.rb" with:
|
43
|
-
"""
|
44
|
-
Given(/^I set some state$/) do
|
45
|
-
$global_state = "set"
|
46
|
-
end
|
47
|
-
|
48
|
-
Given(/^I depend on the state$/) do
|
49
|
-
raise "I expect the state to be set!" unless $global_state == "set"
|
50
|
-
end
|
51
|
-
|
52
|
-
Given(/^I do something$/) do
|
53
|
-
end
|
54
|
-
"""
|
55
|
-
|
56
|
-
Scenario: Run scenarios in order
|
57
|
-
When I run `cucumber`
|
58
|
-
Then it should pass
|
59
|
-
|
60
|
-
@spawn @todo-windows
|
61
|
-
Scenario: Run scenarios randomized
|
62
|
-
When I run `cucumber --order random:41544 -q`
|
63
|
-
Then it should fail
|
64
|
-
And the stdout should contain exactly:
|
65
|
-
"""
|
66
|
-
Feature: Bad practice, part 1
|
67
|
-
|
68
|
-
Scenario: Depend on state from a preceding scenario
|
69
|
-
When I depend on the state
|
70
|
-
I expect the state to be set! (RuntimeError)
|
71
|
-
./features/step_definitions/steps.rb:6:in `/^I depend on the state$/'
|
72
|
-
features/bad_practice_part_1.feature:7:in `When I depend on the state'
|
73
|
-
|
74
|
-
Feature: Unrelated
|
75
|
-
|
76
|
-
@skipme
|
77
|
-
Scenario: Do something unrelated
|
78
|
-
When I do something
|
79
|
-
|
80
|
-
Feature: Bad practice, part 2
|
81
|
-
|
82
|
-
Scenario: Depend on state from a preceding feature
|
83
|
-
When I depend on the state
|
84
|
-
I expect the state to be set! (RuntimeError)
|
85
|
-
./features/step_definitions/steps.rb:6:in `/^I depend on the state$/'
|
86
|
-
features/bad_practice_part_2.feature:4:in `When I depend on the state'
|
87
|
-
|
88
|
-
Feature: Bad practice, part 1
|
89
|
-
|
90
|
-
Scenario: Set state
|
91
|
-
Given I set some state
|
92
|
-
|
93
|
-
Failing Scenarios:
|
94
|
-
cucumber features/bad_practice_part_1.feature:6
|
95
|
-
cucumber features/bad_practice_part_2.feature:3
|
96
|
-
|
97
|
-
4 scenarios (2 failed, 2 passed)
|
98
|
-
4 steps (2 failed, 2 passed)
|
99
|
-
|
100
|
-
Randomized with seed 41544
|
101
|
-
|
102
|
-
"""
|
103
|
-
|
104
|
-
@spawn @todo-windows
|
105
|
-
Scenario: Run scenarios randomized with some skipped
|
106
|
-
When I run `cucumber --tags ~@skipme --order random:41544 -q`
|
107
|
-
Then it should fail
|
108
|
-
And the stdout should contain exactly:
|
109
|
-
"""
|
110
|
-
Feature: Bad practice, part 1
|
111
|
-
|
112
|
-
Scenario: Depend on state from a preceding scenario
|
113
|
-
When I depend on the state
|
114
|
-
I expect the state to be set! (RuntimeError)
|
115
|
-
./features/step_definitions/steps.rb:6:in `/^I depend on the state$/'
|
116
|
-
features/bad_practice_part_1.feature:7:in `When I depend on the state'
|
117
|
-
|
118
|
-
Feature: Bad practice, part 2
|
119
|
-
|
120
|
-
Scenario: Depend on state from a preceding feature
|
121
|
-
When I depend on the state
|
122
|
-
I expect the state to be set! (RuntimeError)
|
123
|
-
./features/step_definitions/steps.rb:6:in `/^I depend on the state$/'
|
124
|
-
features/bad_practice_part_2.feature:4:in `When I depend on the state'
|
125
|
-
|
126
|
-
Feature: Bad practice, part 1
|
127
|
-
|
128
|
-
Scenario: Set state
|
129
|
-
Given I set some state
|
130
|
-
|
131
|
-
Failing Scenarios:
|
132
|
-
cucumber features/bad_practice_part_1.feature:6
|
133
|
-
cucumber features/bad_practice_part_2.feature:3
|
134
|
-
|
135
|
-
3 scenarios (2 failed, 1 passed)
|
136
|
-
3 steps (2 failed, 1 passed)
|
137
|
-
|
138
|
-
Randomized with seed 41544
|
139
|
-
|
140
|
-
"""
|