cucumber 3.0.0.pre.1 → 4.0.0.rc.4
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} +339 -37
- data/CONTRIBUTING.md +11 -21
- data/README.md +20 -12
- data/bin/cucumber +2 -1
- data/lib/autotest/cucumber.rb +1 -0
- data/lib/autotest/cucumber_mixin.rb +44 -48
- 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 +3 -2
- data/lib/cucumber.rb +2 -1
- data/lib/cucumber/cli/configuration.rb +15 -20
- data/lib/cucumber/cli/main.rb +15 -15
- data/lib/cucumber/cli/options.rb +249 -197
- data/lib/cucumber/cli/profile_loader.rb +63 -38
- data/lib/cucumber/cli/rerun_file.rb +1 -0
- data/lib/cucumber/configuration.rb +49 -44
- data/lib/cucumber/constantize.rb +8 -10
- data/lib/cucumber/core_ext/string.rb +2 -1
- data/lib/cucumber/deprecate.rb +34 -10
- data/lib/cucumber/encoding.rb +2 -1
- data/lib/cucumber/errors.rb +10 -8
- data/lib/cucumber/events.rb +18 -3
- 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 +14 -0
- data/lib/cucumber/events/hook_test_step_created.rb +13 -0
- data/lib/cucumber/events/{step_match.rb → step_activated.rb} +8 -8
- data/lib/cucumber/events/step_definition_registered.rb +5 -9
- data/lib/cucumber/events/test_case_created.rb +13 -0
- data/lib/cucumber/events/test_case_finished.rb +14 -0
- data/lib/cucumber/events/test_case_ready.rb +12 -0
- data/lib/cucumber/events/test_case_started.rb +11 -0
- data/lib/cucumber/events/test_run_finished.rb +2 -3
- data/lib/cucumber/events/test_run_started.rb +14 -0
- data/lib/cucumber/events/test_step_created.rb +13 -0
- data/lib/cucumber/events/test_step_finished.rb +14 -0
- data/lib/cucumber/events/test_step_started.rb +11 -0
- data/lib/cucumber/file_specs.rb +7 -6
- data/lib/cucumber/filters.rb +3 -0
- data/lib/cucumber/filters/activate_steps.rb +12 -6
- 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_started_event.rb +28 -0
- 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 +3 -3
- data/lib/cucumber/filters/tag_limits.rb +5 -5
- data/lib/cucumber/filters/tag_limits/test_case_index.rb +1 -2
- data/lib/cucumber/filters/tag_limits/verifier.rb +4 -7
- data/lib/cucumber/formatter/ansicolor.rb +38 -45
- data/lib/cucumber/formatter/ast_lookup.rb +165 -0
- data/lib/cucumber/formatter/backtrace_filter.rb +24 -12
- data/lib/cucumber/formatter/console.rb +48 -88
- data/lib/cucumber/formatter/console_counts.rb +11 -29
- data/lib/cucumber/formatter/console_issues.rb +34 -10
- 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 +8 -5
- data/lib/cucumber/formatter/fanout.rb +3 -3
- data/lib/cucumber/formatter/ignore_missing_messages.rb +2 -4
- data/lib/cucumber/formatter/interceptor.rb +12 -14
- data/lib/cucumber/formatter/io.rb +5 -4
- data/lib/cucumber/formatter/json.rb +109 -115
- data/lib/cucumber/formatter/junit.rb +85 -80
- data/lib/cucumber/formatter/message.rb +246 -0
- data/lib/cucumber/formatter/pretty.rb +353 -153
- data/lib/cucumber/formatter/progress.rb +34 -38
- 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 +5 -6
- data/lib/cucumber/formatter/summary.rb +18 -11
- data/lib/cucumber/formatter/unicode.rb +16 -18
- data/lib/cucumber/formatter/usage.rb +37 -33
- 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/{rb_support/rb_dsl.rb → glue/dsl.rb} +37 -23
- data/lib/cucumber/glue/hook.rb +67 -0
- data/lib/cucumber/glue/invoke_in_world.rb +65 -0
- data/lib/cucumber/glue/proto_world.rb +231 -0
- data/lib/cucumber/glue/registry_and_more.rb +221 -0
- data/lib/cucumber/glue/snippet.rb +205 -0
- data/lib/cucumber/glue/step_definition.rb +166 -0
- data/lib/cucumber/glue/world_factory.rb +21 -0
- data/lib/cucumber/hooks.rb +30 -20
- data/lib/cucumber/load_path.rb +1 -0
- data/lib/cucumber/multiline_argument.rb +9 -19
- data/lib/cucumber/multiline_argument/data_table.rb +143 -250
- data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +154 -0
- data/lib/cucumber/multiline_argument/doc_string.rb +2 -1
- data/lib/cucumber/platform.rb +5 -6
- data/lib/cucumber/project_initializer.rb +2 -2
- data/lib/cucumber/rake/task.rb +34 -27
- data/lib/cucumber/rspec/disable_option_parser.rb +10 -8
- data/lib/cucumber/rspec/doubles.rb +2 -1
- data/lib/cucumber/running_test_case.rb +4 -54
- data/lib/cucumber/runtime.rb +54 -72
- data/lib/cucumber/runtime/after_hooks.rb +10 -5
- data/lib/cucumber/runtime/before_hooks.rb +9 -4
- data/lib/cucumber/runtime/for_programming_languages.rb +12 -44
- data/lib/cucumber/runtime/step_hooks.rb +5 -2
- data/lib/cucumber/runtime/support_code.rb +30 -32
- data/lib/cucumber/runtime/user_interface.rb +16 -34
- data/lib/cucumber/step_definition_light.rb +7 -4
- data/lib/cucumber/step_definitions.rb +3 -2
- data/lib/cucumber/step_match.rb +42 -26
- data/lib/cucumber/step_match_search.rb +11 -12
- 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 +2 -1
- metadata +238 -623
- data/.coveralls.yml +0 -1
- data/.github/ISSUE_TEMPLATE.md +0 -48
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -39
- data/.rspec +0 -1
- data/.ruby-gemset +0 -1
- data/.travis.yml +0 -35
- data/.yardopts +0 -1
- data/Gemfile +0 -22
- data/Rakefile +0 -22
- data/cucumber.gemspec +0 -47
- data/cucumber.yml +0 -20
- 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 -50
- data/features/docs/api/listen_for_events.feature +0 -59
- data/features/docs/api/run_cli_main_with_existing_runtime.feature +0 -26
- data/features/docs/cli/backtraces.feature +0 -36
- data/features/docs/cli/dry_run.feature +0 -70
- 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 -46
- data/features/docs/cli/finding_steps.feature +0 -28
- data/features/docs/cli/help.feature +0 -8
- 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 -67
- data/features/docs/cli/run_scenarios_matching_name.feature +0 -104
- 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 -65
- data/features/docs/cli/strict_mode.feature +0 -64
- data/features/docs/defining_steps/nested_steps.feature +0 -177
- data/features/docs/defining_steps/nested_steps_i18n.feature +0 -36
- data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -54
- 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 -30
- data/features/docs/defining_steps/snippets.feature +0 -56
- data/features/docs/defining_steps/table_diffing.feature +0 -50
- data/features/docs/exception_in_after_hook.feature +0 -126
- data/features/docs/exception_in_after_step_hook.feature +0 -102
- data/features/docs/exception_in_around_hook.feature +0 -78
- data/features/docs/exception_in_before_hook.feature +0 -96
- data/features/docs/extending_cucumber/custom_filter.feature +0 -29
- data/features/docs/extending_cucumber/custom_formatter.feature +0 -102
- data/features/docs/formatters/api_methods.feature +0 -37
- data/features/docs/formatters/debug_formatter.feature +0 -47
- 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 -454
- data/features/docs/formatters/pretty_formatter.feature +0 -73
- data/features/docs/formatters/progress_formatter.feature +0 -31
- data/features/docs/formatters/rerun_formatter.feature +0 -188
- data/features/docs/formatters/summary_formatter.feature +0 -34
- data/features/docs/formatters/usage_formatter.feature +0 -98
- data/features/docs/getting_started.feature +0 -27
- data/features/docs/gherkin/background.feature +0 -548
- data/features/docs/gherkin/doc_strings.feature +0 -74
- data/features/docs/gherkin/expand_option_for_outlines.feature +0 -46
- data/features/docs/gherkin/language_from_header.feature +0 -32
- data/features/docs/gherkin/language_help.feature +0 -42
- data/features/docs/gherkin/outlines.feature +0 -156
- data/features/docs/gherkin/unicode_table.feature +0 -32
- data/features/docs/gherkin/using_descriptions.feature +0 -82
- 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 -141
- data/features/docs/raketask.feature +0 -44
- data/features/docs/work_in_progress.feature +0 -154
- data/features/docs/writing_support_code/after_hooks.feature +0 -102
- data/features/docs/writing_support_code/after_step_hooks.feature +0 -53
- data/features/docs/writing_support_code/around_hooks.feature +0 -260
- data/features/docs/writing_support_code/before_hook.feature +0 -65
- data/features/docs/writing_support_code/hook_order.feature +0 -61
- data/features/docs/writing_support_code/load_path.feature +0 -17
- 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/transforms.feature +0 -98
- data/features/docs/writing_support_code/world.feature +0 -129
- data/features/lib/step_definitions/aruba_steps.rb +0 -27
- data/features/lib/step_definitions/cli_steps.rb +0 -4
- data/features/lib/step_definitions/cucumber_steps.rb +0 -79
- 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/step_definitions/wire_steps.rb +0 -59
- data/features/lib/support/env.rb +0 -22
- data/features/lib/support/fake_wire_server.rb +0 -81
- data/features/lib/support/feature_factory.rb +0 -68
- data/features/lib/support/normalise_output.rb +0 -51
- data/gem_tasks/contributors.rake +0 -16
- data/gem_tasks/cov.rake +0 -6
- data/gem_tasks/cucumber.rake +0 -26
- data/gem_tasks/downloads.rb +0 -8
- data/gem_tasks/environment.rake +0 -8
- 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/core_ext/instance_exec.rb +0 -71
- data/lib/cucumber/formatter/cucumber.css +0 -286
- data/lib/cucumber/formatter/cucumber.sass +0 -247
- data/lib/cucumber/formatter/debug.rb +0 -36
- data/lib/cucumber/formatter/hook_query_visitor.rb +0 -41
- data/lib/cucumber/formatter/html.rb +0 -690
- 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 -390
- data/lib/cucumber/formatter/legacy_api/results.rb +0 -52
- data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +0 -32
- data/lib/cucumber/rb_support/rb_hook.rb +0 -20
- data/lib/cucumber/rb_support/rb_language.rb +0 -227
- data/lib/cucumber/rb_support/rb_step_definition.rb +0 -132
- data/lib/cucumber/rb_support/rb_transform.rb +0 -60
- data/lib/cucumber/rb_support/rb_world.rb +0 -171
- data/lib/cucumber/rb_support/snippet.rb +0 -171
- data/lib/cucumber/step_argument.rb +0 -26
- data/spec/cucumber/cli/configuration_spec.rb +0 -436
- data/spec/cucumber/cli/main_spec.rb +0 -84
- data/spec/cucumber/cli/options_spec.rb +0 -411
- data/spec/cucumber/cli/profile_loader_spec.rb +0 -47
- 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/core_ext/instance_exec_spec.rb +0 -5
- 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 -85
- 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/console_counts_spec.rb +0 -14
- data/spec/cucumber/formatter/debug_spec.rb +0 -65
- 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 -842
- data/spec/cucumber/formatter/junit_spec.rb +0 -253
- 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 -83
- data/spec/cucumber/hooks_spec.rb +0 -31
- data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -604
- 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/rb_support/rb_language_spec.rb +0 -321
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +0 -200
- data/spec/cucumber/rb_support/rb_transform_spec.rb +0 -47
- data/spec/cucumber/rb_support/rb_world_spec.rb +0 -48
- data/spec/cucumber/rb_support/snippet_spec.rb +0 -138
- data/spec/cucumber/running_test_case_spec.rb +0 -140
- data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -37
- 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 -123
- 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,43 +0,0 @@
|
|
1
|
-
Feature: Showing differences to expected output
|
2
|
-
|
3
|
-
Cucumber will helpfully show you the expectation error that your
|
4
|
-
testing library gives you, in the context of the failing scenario.
|
5
|
-
When using RSpec, for example, this will show the difference between
|
6
|
-
the expected and the actual output.
|
7
|
-
|
8
|
-
Scenario: Run single failing scenario with default diff enabled
|
9
|
-
Given a file named "features/failing_expectation.feature" with:
|
10
|
-
"""
|
11
|
-
Feature: Failing expectation
|
12
|
-
|
13
|
-
Scenario: Failing expectation
|
14
|
-
Given failing expectation
|
15
|
-
"""
|
16
|
-
And a file named "features/step_definitions/steps.rb" with:
|
17
|
-
"""
|
18
|
-
Given /^failing expectation$/ do x=1
|
19
|
-
expect('this').to eq 'that'
|
20
|
-
end
|
21
|
-
"""
|
22
|
-
When I run `cucumber -q features/failing_expectation.feature`
|
23
|
-
Then it should fail with:
|
24
|
-
"""
|
25
|
-
Feature: Failing expectation
|
26
|
-
|
27
|
-
Scenario: Failing expectation
|
28
|
-
Given failing expectation
|
29
|
-
|
30
|
-
expected: "that"
|
31
|
-
got: "this"
|
32
|
-
|
33
|
-
(compared using ==)
|
34
|
-
(RSpec::Expectations::ExpectationNotMetError)
|
35
|
-
./features/step_definitions/steps.rb:2:in `/^failing expectation$/'
|
36
|
-
features/failing_expectation.feature:4:in `Given failing expectation'
|
37
|
-
|
38
|
-
Failing Scenarios:
|
39
|
-
cucumber features/failing_expectation.feature:3
|
40
|
-
|
41
|
-
1 scenario (1 failed)
|
42
|
-
1 step (1 failed)
|
43
|
-
"""
|
@@ -1,65 +0,0 @@
|
|
1
|
-
@spawn
|
2
|
-
Feature: Running multiple formatters
|
3
|
-
|
4
|
-
When running cucumber, you are able to using multiple different
|
5
|
-
formatters and redirect the output to text files.
|
6
|
-
Two formatters cannot both print to the same file (or to STDOUT)
|
7
|
-
|
8
|
-
Background:
|
9
|
-
Given a file named "features/test.feature" with:
|
10
|
-
"""
|
11
|
-
Feature: Lots of undefined
|
12
|
-
|
13
|
-
Scenario: Implement me
|
14
|
-
Given it snows in Sahara
|
15
|
-
Given it's 40 degrees in Norway
|
16
|
-
And it's 40 degrees in Norway
|
17
|
-
When I stop procrastinating
|
18
|
-
And there is world peace
|
19
|
-
"""
|
20
|
-
|
21
|
-
Scenario: Multiple formatters and outputs
|
22
|
-
When I run `cucumber --no-color --format progress --out progress.txt --format pretty --out pretty.txt --no-source --dry-run --no-snippets features/test.feature`
|
23
|
-
Then the stderr should not contain anything
|
24
|
-
Then the file "progress.txt" should contain:
|
25
|
-
"""
|
26
|
-
UUUUU
|
27
|
-
|
28
|
-
1 scenario (1 undefined)
|
29
|
-
5 steps (5 undefined)
|
30
|
-
|
31
|
-
"""
|
32
|
-
And the file "pretty.txt" should contain:
|
33
|
-
"""
|
34
|
-
Feature: Lots of undefined
|
35
|
-
|
36
|
-
Scenario: Implement me
|
37
|
-
Given it snows in Sahara
|
38
|
-
Given it's 40 degrees in Norway
|
39
|
-
And it's 40 degrees in Norway
|
40
|
-
When I stop procrastinating
|
41
|
-
And there is world peace
|
42
|
-
|
43
|
-
1 scenario (1 undefined)
|
44
|
-
5 steps (5 undefined)
|
45
|
-
|
46
|
-
"""
|
47
|
-
|
48
|
-
Scenario: Two formatters to stdout
|
49
|
-
When I run `cucumber -f progress -f pretty features/test.feature`
|
50
|
-
Then it should fail with:
|
51
|
-
"""
|
52
|
-
All but one formatter must use --out, only one can print to each stream (or STDOUT) (RuntimeError)
|
53
|
-
"""
|
54
|
-
|
55
|
-
Scenario: Two formatters to stdout when using a profile
|
56
|
-
Given the following profiles are defined:
|
57
|
-
"""
|
58
|
-
default: -q
|
59
|
-
"""
|
60
|
-
When I run `cucumber -f progress -f pretty features/test.feature`
|
61
|
-
Then it should fail with:
|
62
|
-
"""
|
63
|
-
All but one formatter must use --out, only one can print to each stream (or STDOUT) (RuntimeError)
|
64
|
-
"""
|
65
|
-
|
@@ -1,64 +0,0 @@
|
|
1
|
-
Feature: Strict mode
|
2
|
-
|
3
|
-
Using the `--strict` flag will cause cucumber to fail unless all the
|
4
|
-
step definitions have been defined.
|
5
|
-
|
6
|
-
Background:
|
7
|
-
Given a file named "features/missing.feature" with:
|
8
|
-
"""
|
9
|
-
Feature: Missing
|
10
|
-
Scenario: Missing
|
11
|
-
Given this step passes
|
12
|
-
"""
|
13
|
-
And a file named "features/pending.feature" with:
|
14
|
-
"""
|
15
|
-
Feature: Pending
|
16
|
-
Scenario: Pending
|
17
|
-
Given this step is pending
|
18
|
-
"""
|
19
|
-
|
20
|
-
Scenario: Fail with --strict due to undefined step
|
21
|
-
When I run `cucumber -q features/missing.feature --strict`
|
22
|
-
Then it should fail with:
|
23
|
-
"""
|
24
|
-
Feature: Missing
|
25
|
-
|
26
|
-
Scenario: Missing
|
27
|
-
Given this step passes
|
28
|
-
Undefined step: "this step passes" (Cucumber::Undefined)
|
29
|
-
features/missing.feature:3:in `Given this step passes'
|
30
|
-
|
31
|
-
1 scenario (1 undefined)
|
32
|
-
1 step (1 undefined)
|
33
|
-
"""
|
34
|
-
|
35
|
-
Scenario: Fail with --strict due to pending step
|
36
|
-
Given the standard step definitions
|
37
|
-
When I run `cucumber -q features/pending.feature --strict`
|
38
|
-
Then it should fail with:
|
39
|
-
"""
|
40
|
-
Feature: Pending
|
41
|
-
|
42
|
-
Scenario: Pending
|
43
|
-
Given this step is pending
|
44
|
-
TODO (Cucumber::Pending)
|
45
|
-
./features/step_definitions/steps.rb:3:in `/^this step is pending$/'
|
46
|
-
features/pending.feature:3:in `Given this step is pending'
|
47
|
-
|
48
|
-
1 scenario (1 pending)
|
49
|
-
1 step (1 pending)
|
50
|
-
"""
|
51
|
-
|
52
|
-
Scenario: Succeed with --strict
|
53
|
-
Given the standard step definitions
|
54
|
-
When I run `cucumber -q features/missing.feature --strict`
|
55
|
-
Then it should pass with:
|
56
|
-
"""
|
57
|
-
Feature: Missing
|
58
|
-
|
59
|
-
Scenario: Missing
|
60
|
-
Given this step passes
|
61
|
-
|
62
|
-
1 scenario (1 passed)
|
63
|
-
1 step (1 passed)
|
64
|
-
"""
|
@@ -1,177 +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
|
-
Scenario: Use #steps to call several steps at once
|
16
|
-
Given a step definition that looks like this:
|
17
|
-
"""ruby
|
18
|
-
Given /two turtles/ do
|
19
|
-
steps %{
|
20
|
-
Given a turtle
|
21
|
-
And a turtle
|
22
|
-
}
|
23
|
-
end
|
24
|
-
"""
|
25
|
-
When I run the feature with the progress formatter
|
26
|
-
Then the output should contain:
|
27
|
-
"""
|
28
|
-
turtle!
|
29
|
-
|
30
|
-
turtle!
|
31
|
-
|
32
|
-
"""
|
33
|
-
|
34
|
-
Scenario: Use #step to call a single step
|
35
|
-
Given a step definition that looks like this:
|
36
|
-
"""ruby
|
37
|
-
Given /two turtles/ do
|
38
|
-
step "a turtle"
|
39
|
-
step "a turtle"
|
40
|
-
end
|
41
|
-
"""
|
42
|
-
When I run the feature with the progress formatter
|
43
|
-
Then the output should contain:
|
44
|
-
"""
|
45
|
-
turtle!
|
46
|
-
|
47
|
-
turtle!
|
48
|
-
|
49
|
-
"""
|
50
|
-
|
51
|
-
Scenario: Use #steps to call a table
|
52
|
-
Given a step definition that looks like this:
|
53
|
-
"""ruby
|
54
|
-
Given /turtles:/ do |table|
|
55
|
-
table.hashes.each do |row|
|
56
|
-
puts row[:name]
|
57
|
-
end
|
58
|
-
end
|
59
|
-
"""
|
60
|
-
And a step definition that looks like this:
|
61
|
-
"""ruby
|
62
|
-
Given /two turtles/ do
|
63
|
-
steps %{
|
64
|
-
Given turtles:
|
65
|
-
| name |
|
66
|
-
| Sturm |
|
67
|
-
| Liouville |
|
68
|
-
}
|
69
|
-
end
|
70
|
-
"""
|
71
|
-
When I run the feature with the progress formatter
|
72
|
-
Then the output should contain:
|
73
|
-
"""
|
74
|
-
Sturm
|
75
|
-
|
76
|
-
Liouville
|
77
|
-
|
78
|
-
"""
|
79
|
-
|
80
|
-
Scenario: Use #steps to call a multi-line string
|
81
|
-
Given a step definition that looks like this:
|
82
|
-
"""ruby
|
83
|
-
Given /two turtles/ do
|
84
|
-
steps %Q{
|
85
|
-
Given turtles:
|
86
|
-
\"\"\"
|
87
|
-
Sturm
|
88
|
-
Liouville
|
89
|
-
\"\"\"
|
90
|
-
}
|
91
|
-
end
|
92
|
-
"""
|
93
|
-
And a step definition that looks like this:
|
94
|
-
"""ruby
|
95
|
-
Given /turtles:/ do |string|
|
96
|
-
puts string
|
97
|
-
end
|
98
|
-
"""
|
99
|
-
When I run the feature with the progress formatter
|
100
|
-
Then the output should contain:
|
101
|
-
"""
|
102
|
-
Sturm
|
103
|
-
Liouville
|
104
|
-
"""
|
105
|
-
|
106
|
-
@spawn
|
107
|
-
Scenario: Backtrace doesn't skip nested steps
|
108
|
-
Given a step definition that looks like this:
|
109
|
-
"""ruby
|
110
|
-
Given /two turtles/ do
|
111
|
-
step "I have a couple turtles"
|
112
|
-
end
|
113
|
-
|
114
|
-
When(/I have a couple turtles/) { raise 'error' }
|
115
|
-
"""
|
116
|
-
When I run the feature with the progress formatter
|
117
|
-
Then it should fail with:
|
118
|
-
"""
|
119
|
-
error (RuntimeError)
|
120
|
-
./features/step_definitions/steps2.rb:5:in `/I have a couple turtles/'
|
121
|
-
./features/step_definitions/steps2.rb:2:in `/two turtles/'
|
122
|
-
features/test_feature_1.feature:3:in `Given two turtles'
|
123
|
-
|
124
|
-
Failing Scenarios:
|
125
|
-
cucumber features/test_feature_1.feature:2 # Scenario: Test Scenario 1
|
126
|
-
|
127
|
-
1 scenario (1 failed)
|
128
|
-
1 step (1 failed)
|
129
|
-
"""
|
130
|
-
|
131
|
-
Scenario: Undefined nested step
|
132
|
-
Given a file named "features/call_undefined_step_from_step_def.feature" with:
|
133
|
-
"""
|
134
|
-
Feature: Calling undefined step
|
135
|
-
|
136
|
-
Scenario: Call directly
|
137
|
-
Given a step that calls an undefined step
|
138
|
-
|
139
|
-
Scenario: Call via another
|
140
|
-
Given a step that calls a step that calls an undefined step
|
141
|
-
"""
|
142
|
-
And a file named "features/step_definitions/steps.rb" with:
|
143
|
-
"""
|
144
|
-
Given /^a step that calls an undefined step$/ do
|
145
|
-
step 'this does not exist'
|
146
|
-
end
|
147
|
-
|
148
|
-
Given /^a step that calls a step that calls an undefined step$/ do
|
149
|
-
step 'a step that calls an undefined step'
|
150
|
-
end
|
151
|
-
"""
|
152
|
-
When I run `cucumber -q features/call_undefined_step_from_step_def.feature`
|
153
|
-
Then it should fail with exactly:
|
154
|
-
"""
|
155
|
-
Feature: Calling undefined step
|
156
|
-
|
157
|
-
Scenario: Call directly
|
158
|
-
Given a step that calls an undefined step
|
159
|
-
Undefined dynamic step: "this does not exist" (Cucumber::UndefinedDynamicStep)
|
160
|
-
./features/step_definitions/steps.rb:2:in `/^a step that calls an undefined step$/'
|
161
|
-
features/call_undefined_step_from_step_def.feature:4:in `Given a step that calls an undefined step'
|
162
|
-
|
163
|
-
Scenario: Call via another
|
164
|
-
Given a step that calls a step that calls an undefined step
|
165
|
-
Undefined dynamic step: "this does not exist" (Cucumber::UndefinedDynamicStep)
|
166
|
-
./features/step_definitions/steps.rb:2:in `/^a step that calls an undefined step$/'
|
167
|
-
./features/step_definitions/steps.rb:6:in `/^a step that calls a step that calls an undefined step$/'
|
168
|
-
features/call_undefined_step_from_step_def.feature:7:in `Given a step that calls a step that calls an undefined step'
|
169
|
-
|
170
|
-
Failing Scenarios:
|
171
|
-
cucumber features/call_undefined_step_from_step_def.feature:3
|
172
|
-
cucumber features/call_undefined_step_from_step_def.feature:6
|
173
|
-
|
174
|
-
2 scenarios (2 failed)
|
175
|
-
2 steps (2 failed)
|
176
|
-
|
177
|
-
"""
|
@@ -1,36 +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
|
-
Scenario: Use #steps to call several steps at once
|
18
|
-
Given a step definition that looks like this:
|
19
|
-
"""ruby
|
20
|
-
# -*- coding: utf-8 -*-
|
21
|
-
# frozen_string_literal: true
|
22
|
-
前提 /two turtles/ do
|
23
|
-
steps %{
|
24
|
-
前提 a turtle
|
25
|
-
かつ a turtle
|
26
|
-
}
|
27
|
-
end
|
28
|
-
"""
|
29
|
-
When I run the feature with the progress formatter
|
30
|
-
Then the output should contain:
|
31
|
-
"""
|
32
|
-
turtle!
|
33
|
-
|
34
|
-
turtle!
|
35
|
-
|
36
|
-
"""
|
@@ -1,54 +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
|
-
Scenario: Use #step with table
|
10
|
-
Given a step definition that looks like this:
|
11
|
-
"""ruby
|
12
|
-
Given /turtles:/ do |table|
|
13
|
-
table.hashes.each do |row|
|
14
|
-
puts row[:name]
|
15
|
-
end
|
16
|
-
end
|
17
|
-
"""
|
18
|
-
And a step definition that looks like this:
|
19
|
-
"""ruby
|
20
|
-
Given /two turtles/ do
|
21
|
-
step %{turtles:}, table(%{
|
22
|
-
| name |
|
23
|
-
| Sturm |
|
24
|
-
| Liouville |
|
25
|
-
})
|
26
|
-
end
|
27
|
-
"""
|
28
|
-
When I run the feature with the progress formatter
|
29
|
-
Then the output should contain:
|
30
|
-
"""
|
31
|
-
Sturm
|
32
|
-
|
33
|
-
Liouville
|
34
|
-
|
35
|
-
"""
|
36
|
-
|
37
|
-
Scenario: Use #step with Doc String
|
38
|
-
Given a step definition that looks like this:
|
39
|
-
"""ruby
|
40
|
-
Given /two turtles/ do
|
41
|
-
step %{turtles:}, "Sturm and Lioville"
|
42
|
-
end
|
43
|
-
"""
|
44
|
-
And a step definition that looks like this:
|
45
|
-
"""ruby
|
46
|
-
Given /turtles:/ do |text|
|
47
|
-
puts "#{text}:#{text.class}"
|
48
|
-
end
|
49
|
-
"""
|
50
|
-
When I run the feature with the progress formatter
|
51
|
-
Then the output should contain:
|
52
|
-
"""
|
53
|
-
Sturm and Lioville:String
|
54
|
-
"""
|
@@ -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
|
-
|