cucumber 3.0.0.pre.2 → 4.0.0.rc.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/{History.md → CHANGELOG.md} +267 -14
- data/CONTRIBUTING.md +4 -21
- data/README.md +14 -15
- data/bin/cucumber +2 -1
- data/lib/autotest/cucumber.rb +1 -0
- data/lib/autotest/cucumber_mixin.rb +36 -40
- data/lib/autotest/cucumber_rails.rb +1 -0
- data/lib/autotest/cucumber_rails_rspec.rb +1 -0
- data/lib/autotest/cucumber_rails_rspec2.rb +1 -0
- data/lib/autotest/cucumber_rspec.rb +1 -0
- data/lib/autotest/cucumber_rspec2.rb +1 -0
- data/lib/autotest/discover.rb +1 -0
- data/lib/cucumber.rb +2 -1
- data/lib/cucumber/cli/configuration.rb +8 -7
- data/lib/cucumber/cli/main.rb +14 -14
- data/lib/cucumber/cli/options.rb +141 -120
- data/lib/cucumber/cli/profile_loader.rb +50 -29
- data/lib/cucumber/cli/rerun_file.rb +1 -0
- data/lib/cucumber/configuration.rb +40 -30
- data/lib/cucumber/constantize.rb +8 -10
- data/lib/cucumber/core_ext/string.rb +1 -0
- data/lib/cucumber/deprecate.rb +33 -9
- data/lib/cucumber/encoding.rb +2 -1
- data/lib/cucumber/errors.rb +10 -8
- data/lib/cucumber/events.rb +14 -9
- data/lib/cucumber/events/envelope.rb +9 -0
- data/lib/cucumber/events/gherkin_source_parsed.rb +11 -0
- data/lib/cucumber/events/gherkin_source_read.rb +1 -4
- data/lib/cucumber/events/hook_test_step_created.rb +13 -0
- data/lib/cucumber/events/step_activated.rb +6 -6
- data/lib/cucumber/events/step_definition_registered.rb +4 -8
- data/lib/cucumber/events/test_case_created.rb +13 -0
- data/lib/cucumber/events/test_case_finished.rb +1 -5
- data/lib/cucumber/events/test_case_ready.rb +12 -0
- data/lib/cucumber/events/{test_case_starting.rb → test_case_started.rb} +1 -5
- data/lib/cucumber/events/test_run_finished.rb +2 -3
- data/lib/cucumber/events/{test_run_starting.rb → test_run_started.rb} +3 -5
- data/lib/cucumber/events/test_step_created.rb +13 -0
- data/lib/cucumber/events/test_step_finished.rb +0 -6
- data/lib/cucumber/events/{test_step_starting.rb → test_step_started.rb} +2 -8
- data/lib/cucumber/file_specs.rb +7 -6
- data/lib/cucumber/filters.rb +3 -1
- data/lib/cucumber/filters/activate_steps.rb +11 -5
- data/lib/cucumber/filters/apply_after_hooks.rb +1 -0
- data/lib/cucumber/filters/apply_after_step_hooks.rb +1 -0
- data/lib/cucumber/filters/apply_around_hooks.rb +1 -0
- data/lib/cucumber/filters/apply_before_hooks.rb +1 -0
- data/lib/cucumber/filters/broadcast_test_case_ready_event.rb +12 -0
- data/lib/cucumber/filters/{broadcast_test_run_starting_event.rb → broadcast_test_run_started_event.rb} +4 -3
- data/lib/cucumber/filters/gated_receiver.rb +1 -2
- data/lib/cucumber/filters/prepare_world.rb +6 -13
- data/lib/cucumber/filters/quit.rb +3 -7
- data/lib/cucumber/filters/randomizer.rb +6 -7
- data/lib/cucumber/filters/retry.rb +2 -2
- data/lib/cucumber/filters/tag_limits.rb +2 -2
- data/lib/cucumber/filters/tag_limits/test_case_index.rb +1 -2
- data/lib/cucumber/filters/tag_limits/verifier.rb +3 -6
- data/lib/cucumber/formatter/ansicolor.rb +33 -37
- data/lib/cucumber/formatter/ast_lookup.rb +165 -0
- data/lib/cucumber/formatter/backtrace_filter.rb +10 -10
- data/lib/cucumber/formatter/console.rb +37 -74
- data/lib/cucumber/formatter/console_counts.rb +4 -9
- data/lib/cucumber/formatter/console_issues.rb +10 -7
- data/lib/cucumber/formatter/duration.rb +2 -1
- data/lib/cucumber/formatter/duration_extractor.rb +4 -2
- data/lib/cucumber/formatter/errors.rb +6 -0
- data/lib/cucumber/formatter/fail_fast.rb +9 -6
- data/lib/cucumber/formatter/fanout.rb +3 -3
- data/lib/cucumber/formatter/html.rb +11 -603
- data/lib/cucumber/formatter/http_io.rb +93 -0
- data/lib/cucumber/formatter/ignore_missing_messages.rb +2 -4
- data/lib/cucumber/formatter/interceptor.rb +10 -12
- data/lib/cucumber/formatter/io.rb +19 -12
- data/lib/cucumber/formatter/json.rb +106 -112
- data/lib/cucumber/formatter/junit.rb +81 -76
- data/lib/cucumber/formatter/message.rb +22 -0
- data/lib/cucumber/formatter/message_builder.rb +241 -0
- data/lib/cucumber/formatter/pretty.rb +353 -153
- data/lib/cucumber/formatter/progress.rb +30 -33
- data/lib/cucumber/formatter/query/hook_by_test_step.rb +31 -0
- data/lib/cucumber/formatter/query/pickle_by_test.rb +26 -0
- data/lib/cucumber/formatter/query/pickle_step_by_test_step.rb +26 -0
- data/lib/cucumber/formatter/query/step_definitions_by_test_step.rb +40 -0
- data/lib/cucumber/formatter/query/test_case_started_by_test_case.rb +40 -0
- data/lib/cucumber/formatter/rerun.rb +24 -5
- data/lib/cucumber/formatter/stepdefs.rb +2 -2
- data/lib/cucumber/formatter/steps.rb +4 -5
- data/lib/cucumber/formatter/summary.rb +18 -11
- data/lib/cucumber/formatter/unicode.rb +16 -18
- data/lib/cucumber/formatter/usage.rb +30 -26
- data/lib/cucumber/gherkin/data_table_parser.rb +18 -6
- data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +83 -86
- data/lib/cucumber/gherkin/formatter/escaping.rb +13 -12
- data/lib/cucumber/gherkin/i18n.rb +1 -0
- data/lib/cucumber/gherkin/steps_parser.rb +18 -8
- data/lib/cucumber/glue/dsl.rb +13 -26
- data/lib/cucumber/glue/hook.rb +35 -11
- data/lib/cucumber/glue/invoke_in_world.rb +15 -20
- data/lib/cucumber/glue/proto_world.rb +48 -42
- data/lib/cucumber/glue/registry_and_more.rb +58 -23
- data/lib/cucumber/glue/snippet.rb +23 -26
- data/lib/cucumber/glue/step_definition.rb +51 -28
- data/lib/cucumber/glue/world_factory.rb +2 -4
- data/lib/cucumber/hooks.rb +27 -17
- data/lib/cucumber/load_path.rb +1 -0
- data/lib/cucumber/multiline_argument.rb +7 -17
- data/lib/cucumber/multiline_argument/data_table.rb +113 -82
- data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +8 -12
- data/lib/cucumber/multiline_argument/doc_string.rb +2 -1
- data/lib/cucumber/platform.rb +4 -3
- data/lib/cucumber/project_initializer.rb +2 -2
- data/lib/cucumber/rake/task.rb +28 -21
- data/lib/cucumber/rspec/disable_option_parser.rb +10 -8
- data/lib/cucumber/rspec/doubles.rb +1 -0
- data/lib/cucumber/running_test_case.rb +4 -54
- data/lib/cucumber/runtime.rb +32 -63
- data/lib/cucumber/runtime/after_hooks.rb +9 -4
- data/lib/cucumber/runtime/before_hooks.rb +9 -4
- data/lib/cucumber/runtime/for_programming_languages.rb +12 -9
- data/lib/cucumber/runtime/step_hooks.rb +5 -2
- data/lib/cucumber/runtime/support_code.rb +16 -22
- data/lib/cucumber/runtime/user_interface.rb +12 -23
- data/lib/cucumber/step_definition_light.rb +6 -4
- data/lib/cucumber/step_definitions.rb +3 -2
- data/lib/cucumber/step_match.rb +29 -14
- data/lib/cucumber/step_match_search.rb +10 -10
- data/lib/cucumber/term/ansicolor.rb +39 -39
- data/lib/cucumber/unit.rb +1 -0
- data/lib/cucumber/version +1 -1
- data/lib/simplecov_setup.rb +1 -0
- metadata +206 -678
- data/.coveralls.yml +0 -1
- data/.cucumberproignore +0 -6
- data/.github/ISSUE_TEMPLATE.md +0 -48
- data/.github/PULL_REQUEST_TEMPLATE.md +0 -39
- data/.rspec +0 -1
- data/.rubocop.yml +0 -13
- data/.rubocop_todo.yml +0 -1075
- data/.ruby-gemset +0 -1
- data/.travis.yml +0 -69
- data/.yardopts +0 -1
- data/Gemfile +0 -28
- data/Rakefile +0 -32
- data/appveyor.yml +0 -26
- data/cucumber.gemspec +0 -52
- data/cucumber.yml +0 -19
- data/examples/i18n/README.textile +0 -3
- data/examples/i18n/Rakefile +0 -33
- data/examples/i18n/ar/Rakefile +0 -6
- data/examples/i18n/ar/features/addition.feature +0 -17
- data/examples/i18n/ar/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/ar/lib/calculator.rb +0 -11
- data/examples/i18n/bg/Rakefile +0 -6
- data/examples/i18n/bg/features/addition.feature +0 -12
- data/examples/i18n/bg/features/consecutive_calculations.feature +0 -19
- data/examples/i18n/bg/features/division.feature +0 -17
- data/examples/i18n/bg/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/bg/features/support/env.rb +0 -5
- data/examples/i18n/bg/features/support/world.rb +0 -8
- data/examples/i18n/bg/lib/calculator.rb +0 -24
- data/examples/i18n/ca/Rakefile +0 -6
- data/examples/i18n/ca/features/step_definitions/calculator_steps.rb +0 -21
- data/examples/i18n/ca/features/suma.feature +0 -17
- data/examples/i18n/ca/lib/calculadora.rb +0 -16
- data/examples/i18n/cs/Rakefile +0 -6
- data/examples/i18n/cs/features/addition.feature +0 -17
- data/examples/i18n/cs/features/division.feature +0 -11
- data/examples/i18n/cs/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/cs/lib/calculator.rb +0 -14
- data/examples/i18n/da/Rakefile +0 -6
- data/examples/i18n/da/features/sammenlaegning.feature +0 -18
- data/examples/i18n/da/features/step_definitions/lommeregner_steps.rb +0 -24
- data/examples/i18n/da/lib/lommeregner.rb +0 -11
- data/examples/i18n/de/Rakefile +0 -6
- data/examples/i18n/de/features/addition.feature +0 -17
- data/examples/i18n/de/features/division.feature +0 -10
- data/examples/i18n/de/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/de/lib/calculator.rb +0 -14
- data/examples/i18n/el/Rakefile +0 -6
- data/examples/i18n/el/features/addition.feature +0 -17
- data/examples/i18n/el/features/division.feature +0 -10
- data/examples/i18n/el/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/el/lib/calculator.rb +0 -14
- data/examples/i18n/en-lol/Rakefile +0 -4
- data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +0 -16
- data/examples/i18n/en-lol/features/stuffing.feature +0 -8
- data/examples/i18n/en-lol/features/support/env.rb +0 -7
- data/examples/i18n/en-lol/lib/basket.rb +0 -12
- data/examples/i18n/en-lol/lib/belly.rb +0 -11
- data/examples/i18n/en/Rakefile +0 -6
- data/examples/i18n/en/features/addition.feature +0 -17
- data/examples/i18n/en/features/division.feature +0 -10
- data/examples/i18n/en/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/en/lib/calculator.rb +0 -14
- data/examples/i18n/eo/Rakefile +0 -6
- data/examples/i18n/eo/features/adicio.feature +0 -17
- data/examples/i18n/eo/features/divido.feature +0 -10
- data/examples/i18n/eo/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/eo/lib/calculator.rb +0 -14
- data/examples/i18n/es/Rakefile +0 -6
- data/examples/i18n/es/features/adicion.feature +0 -17
- data/examples/i18n/es/features/step_definitions/calculador_steps.rb +0 -21
- data/examples/i18n/es/lib/calculador.rb +0 -14
- data/examples/i18n/et/Rakefile +0 -6
- data/examples/i18n/et/features/jagamine.feature +0 -10
- data/examples/i18n/et/features/liitmine.feature +0 -17
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -24
- data/examples/i18n/et/lib/kalkulaator.rb +0 -14
- data/examples/i18n/fi/Rakefile +0 -6
- data/examples/i18n/fi/features/jakolasku.feature +0 -10
- data/examples/i18n/fi/features/step_definitions/laskin_steps.rb +0 -24
- data/examples/i18n/fi/features/yhteenlasku.feature +0 -17
- data/examples/i18n/fi/lib/laskin.rb +0 -14
- data/examples/i18n/fr/Rakefile +0 -8
- data/examples/i18n/fr/features/addition.feature +0 -18
- data/examples/i18n/fr/features/addition2.feature +0 -17
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -32
- data/examples/i18n/fr/features/support/env.rb +0 -5
- data/examples/i18n/fr/lib/calculatrice.rb +0 -10
- data/examples/i18n/he/Rakefile +0 -6
- data/examples/i18n/he/features/addition.feature +0 -17
- data/examples/i18n/he/features/division.feature +0 -10
- data/examples/i18n/he/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/he/lib/calculator.rb +0 -15
- data/examples/i18n/hi/Rakefile +0 -6
- data/examples/i18n/hi/features/addition.feature +0 -16
- data/examples/i18n/hi/features/division.feature +0 -10
- data/examples/i18n/hi/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/hi/lib/calculator.rb +0 -15
- data/examples/i18n/ht/Rakefile +0 -6
- data/examples/i18n/ht/features/adisyon.feature +0 -17
- data/examples/i18n/ht/features/divizyon.feature +0 -10
- data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +0 -25
- data/examples/i18n/ht/lib/kalkilatris.rb +0 -14
- data/examples/i18n/hu/Rakefile +0 -6
- data/examples/i18n/hu/features/osszeadas.feature +0 -17
- data/examples/i18n/hu/features/osztas.feature +0 -10
- data/examples/i18n/hu/features/step_definitions/calculator_steps.rb +0 -25
- data/examples/i18n/hu/lib/calculator.rb +0 -14
- data/examples/i18n/id/Rakefile +0 -6
- data/examples/i18n/id/features/addition.feature +0 -17
- data/examples/i18n/id/features/division.feature +0 -10
- data/examples/i18n/id/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/id/lib/calculator.rb +0 -14
- data/examples/i18n/it/Rakefile +0 -6
- data/examples/i18n/it/features/somma.feature +0 -11
- data/examples/i18n/it/features/step_definitions/calcolatrice_steps.rb +0 -24
- data/examples/i18n/it/lib/calcolatrice.rb +0 -11
- data/examples/i18n/ja/Rakefile +0 -6
- data/examples/i18n/ja/features/addition.feature +0 -17
- data/examples/i18n/ja/features/division.feature +0 -10
- data/examples/i18n/ja/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/ja/features/support/env.rb +0 -5
- data/examples/i18n/ja/lib/calculator.rb +0 -14
- data/examples/i18n/ko/Rakefile +0 -6
- data/examples/i18n/ko/features/addition.feature +0 -17
- data/examples/i18n/ko/features/division.feature +0 -11
- data/examples/i18n/ko/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/ko/lib/calculator.rb +0 -14
- data/examples/i18n/lt/Rakefile +0 -6
- data/examples/i18n/lt/features/addition.feature +0 -17
- data/examples/i18n/lt/features/division.feature +0 -10
- data/examples/i18n/lt/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/lt/lib/calculator.rb +0 -14
- data/examples/i18n/lv/Rakefile +0 -6
- data/examples/i18n/lv/features/addition.feature +0 -17
- data/examples/i18n/lv/features/division.feature +0 -10
- data/examples/i18n/lv/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/lv/lib/calculator.rb +0 -14
- data/examples/i18n/no/Rakefile +0 -6
- data/examples/i18n/no/features/step_definitions/kalkulator_steps.rb +0 -17
- data/examples/i18n/no/features/summering.feature +0 -19
- data/examples/i18n/no/features/support/env.rb +0 -6
- data/examples/i18n/no/lib/kalkulator.rb +0 -11
- data/examples/i18n/pl/Rakefile +0 -6
- data/examples/i18n/pl/features/addition.feature +0 -17
- data/examples/i18n/pl/features/division.feature +0 -10
- data/examples/i18n/pl/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/pl/features/support/env.rb +0 -5
- data/examples/i18n/pl/lib/calculator.rb +0 -14
- data/examples/i18n/pt/Rakefile +0 -6
- data/examples/i18n/pt/features/adicao.feature +0 -11
- data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -20
- data/examples/i18n/pt/features/support/env.rb +0 -5
- data/examples/i18n/pt/lib/calculadora.rb +0 -10
- data/examples/i18n/ro/Rakefile +0 -6
- data/examples/i18n/ro/features/adunare.feature +0 -12
- data/examples/i18n/ro/features/step_definitions/calculator_steps.rb +0 -21
- data/examples/i18n/ro/lib/calculator.rb +0 -11
- data/examples/i18n/ru/Rakefile +0 -6
- data/examples/i18n/ru/features/addition.feature +0 -11
- data/examples/i18n/ru/features/consecutive_calculations.feature +0 -17
- data/examples/i18n/ru/features/division.feature +0 -16
- data/examples/i18n/ru/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/ru/features/support/env.rb +0 -5
- data/examples/i18n/ru/features/support/world.rb +0 -8
- data/examples/i18n/ru/lib/calculator.rb +0 -24
- data/examples/i18n/sk/Rakefile +0 -6
- data/examples/i18n/sk/features/addition.feature +0 -17
- data/examples/i18n/sk/features/division.feature +0 -10
- data/examples/i18n/sk/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/sk/lib/calculator.rb +0 -14
- data/examples/i18n/sr-Cyrl/Rakefile +0 -6
- data/examples/i18n/sr-Cyrl/features/sabiranje.feature +0 -18
- data/examples/i18n/sr-Cyrl/features/step_definitions/calculator_steps.rb +0 -20
- data/examples/i18n/sr-Cyrl/features/support/env.rb +0 -5
- data/examples/i18n/sr-Cyrl/lib/calculator.rb +0 -12
- data/examples/i18n/sr-Latn/Rakefile +0 -6
- data/examples/i18n/sr-Latn/features/sabiranje.feature +0 -18
- data/examples/i18n/sr-Latn/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/sr-Latn/lib/calculator.rb +0 -12
- data/examples/i18n/sv/Rakefile +0 -6
- data/examples/i18n/sv/features/step_definitions/kalkulator_steps.rb +0 -24
- data/examples/i18n/sv/features/summering.feature +0 -18
- data/examples/i18n/sv/lib/kalkulator.rb +0 -11
- data/examples/i18n/tr/Rakefile +0 -6
- data/examples/i18n/tr/features/bolme.feature +0 -10
- data/examples/i18n/tr/features/step_definitions/hesap_makinesi_adimlari.rb +0 -24
- data/examples/i18n/tr/features/toplama.feature +0 -18
- data/examples/i18n/tr/lib/hesap_makinesi.rb +0 -15
- data/examples/i18n/uk/Rakefile +0 -6
- data/examples/i18n/uk/features/addition.feature +0 -11
- data/examples/i18n/uk/features/consecutive_calculations.feature +0 -17
- data/examples/i18n/uk/features/division.feature +0 -16
- data/examples/i18n/uk/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/uk/features/support/env.rb +0 -5
- data/examples/i18n/uk/features/support/world.rb +0 -8
- data/examples/i18n/uk/lib/calculator.rb +0 -24
- data/examples/i18n/uz/Rakefile +0 -6
- data/examples/i18n/uz/features/addition.feature +0 -10
- data/examples/i18n/uz/features/consecutive_calculations.feature +0 -17
- data/examples/i18n/uz/features/division.feature +0 -17
- data/examples/i18n/uz/features/step_definitions/calculator_steps.rb +0 -19
- data/examples/i18n/uz/features/support/env.rb +0 -5
- data/examples/i18n/uz/features/support/world.rb +0 -8
- data/examples/i18n/uz/lib/calculator.rb +0 -24
- data/examples/i18n/zh-CN/Rakefile +0 -4
- data/examples/i18n/zh-CN/features/addition.feature +0 -18
- data/examples/i18n/zh-CN/features/step_definitions/calculator_steps.rb +0 -26
- data/examples/i18n/zh-CN/lib/calculator.rb +0 -10
- data/examples/i18n/zh-TW/Rakefile +0 -4
- data/examples/i18n/zh-TW/features/addition.feature +0 -17
- data/examples/i18n/zh-TW/features/division.feature +0 -11
- data/examples/i18n/zh-TW/features/step_definitions/calculator_steps.rb +0 -24
- data/examples/i18n/zh-TW/lib/calculator.rb +0 -14
- data/examples/rspec_doubles/Rakefile +0 -4
- data/examples/rspec_doubles/features/mocking.feature +0 -9
- data/examples/rspec_doubles/features/step_definitions/calvin_steps.rb +0 -19
- data/examples/rspec_doubles/features/support/env.rb +0 -12
- data/examples/sinatra/README.textile +0 -13
- data/examples/sinatra/Rakefile +0 -6
- data/examples/sinatra/app.rb +0 -14
- data/examples/sinatra/features/add.feature +0 -11
- data/examples/sinatra/features/step_definitions/add_steps.rb +0 -15
- data/examples/sinatra/features/support/env.rb +0 -10
- data/examples/sinatra/views/add.erb +0 -7
- data/examples/sinatra/views/layout.erb +0 -8
- data/examples/tcl/README.textile +0 -11
- data/examples/tcl/Rakefile +0 -6
- data/examples/tcl/features/fibonnacci.feature +0 -17
- data/examples/tcl/features/step_definitions/fib_steps.rb +0 -7
- data/examples/tcl/features/support/env.rb +0 -6
- data/examples/tcl/src/fib.tcl +0 -3
- data/examples/test_unit/Gemfile +0 -4
- data/examples/test_unit/Rakefile +0 -6
- data/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -20
- data/examples/test_unit/features/test_unit.feature +0 -9
- data/examples/watir/README.textile +0 -16
- data/examples/watir/Rakefile +0 -12
- data/examples/watir/cucumber.yml +0 -1
- data/examples/watir/features/search.feature +0 -12
- data/examples/watir/features/step_definitions/search_steps.rb +0 -26
- data/examples/watir/features/support/env.rb +0 -35
- data/examples/watir/features/support/screenshots.rb +0 -47
- data/features/docs/api/list_step_defs_as_json.feature +0 -64
- data/features/docs/api/listen_for_events.feature +0 -59
- data/features/docs/api/run_cli_main_with_existing_runtime.feature +0 -27
- data/features/docs/cli/backtraces.feature +0 -36
- data/features/docs/cli/dry_run.feature +0 -73
- data/features/docs/cli/exclude_files.feature +0 -18
- data/features/docs/cli/execute_with_tag_filter.feature +0 -117
- data/features/docs/cli/fail_fast.feature +0 -48
- data/features/docs/cli/finding_steps.feature +0 -28
- data/features/docs/cli/help.feature +0 -8
- data/features/docs/cli/i18n.feature +0 -42
- data/features/docs/cli/randomize.feature +0 -140
- data/features/docs/cli/require.feature +0 -27
- data/features/docs/cli/retry_failing_tests.feature +0 -92
- data/features/docs/cli/run_scenarios_matching_name.feature +0 -105
- data/features/docs/cli/run_specific_scenarios.feature +0 -77
- data/features/docs/cli/showing_differences.feature +0 -43
- data/features/docs/cli/specifying_multiple_formatters.feature +0 -68
- data/features/docs/cli/strict_mode.feature +0 -70
- data/features/docs/defining_steps/nested_steps.feature +0 -181
- data/features/docs/defining_steps/nested_steps_i18n.feature +0 -37
- data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -56
- data/features/docs/defining_steps/one_line_step_definitions.feature +0 -65
- data/features/docs/defining_steps/printing_messages.feature +0 -147
- data/features/docs/defining_steps/skip_scenario.feature +0 -31
- data/features/docs/defining_steps/snippets.feature +0 -56
- data/features/docs/defining_steps/table_diffing.feature +0 -50
- data/features/docs/events/gherkin_source_read_event.feature +0 -43
- data/features/docs/events/step_activated_event.feature +0 -36
- data/features/docs/events/step_definition_registered_event.feature +0 -29
- data/features/docs/events/test_case_finished_event.feature +0 -35
- data/features/docs/events/test_case_starting_event.feature +0 -54
- data/features/docs/events/test_run_finished_event.feature +0 -40
- data/features/docs/events/test_run_starting_event.feature +0 -41
- data/features/docs/events/test_step_finished_event.feature +0 -47
- data/features/docs/events/test_step_starting_event.feature +0 -43
- data/features/docs/exception_in_after_hook.feature +0 -127
- data/features/docs/exception_in_after_step_hook.feature +0 -104
- data/features/docs/exception_in_around_hook.feature +0 -80
- data/features/docs/exception_in_before_hook.feature +0 -98
- data/features/docs/extending_cucumber/custom_filter.feature +0 -29
- data/features/docs/extending_cucumber/custom_formatter.feature +0 -122
- data/features/docs/formatters/api_methods.feature +0 -37
- data/features/docs/formatters/formatter_step_file_colon_line.feature +0 -44
- data/features/docs/formatters/html_formatter.feature +0 -91
- data/features/docs/formatters/json_formatter.feature +0 -767
- data/features/docs/formatters/junit_formatter.feature +0 -455
- data/features/docs/formatters/pretty_formatter.feature +0 -74
- data/features/docs/formatters/progress_formatter.feature +0 -32
- data/features/docs/formatters/rerun_formatter.feature +0 -190
- data/features/docs/formatters/summary_formatter.feature +0 -35
- data/features/docs/formatters/usage_formatter.feature +0 -101
- data/features/docs/getting_started.feature +0 -28
- data/features/docs/gherkin/background.feature +0 -548
- data/features/docs/gherkin/doc_strings.feature +0 -76
- data/features/docs/gherkin/expand_option_for_outlines.feature +0 -47
- data/features/docs/gherkin/language_from_header.feature +0 -32
- data/features/docs/gherkin/outlines.feature +0 -160
- data/features/docs/gherkin/unicode_table.feature +0 -33
- data/features/docs/gherkin/using_descriptions.feature +0 -83
- data/features/docs/gherkin/using_star_notation.feature +0 -37
- data/features/docs/iso-8859-1.feature +0 -6
- data/features/docs/post_configuration_hook.feature +0 -33
- data/features/docs/profiles.feature +0 -120
- data/features/docs/rake_task.feature +0 -146
- data/features/docs/raketask.feature +0 -46
- data/features/docs/work_in_progress.feature +0 -157
- data/features/docs/writing_support_code/after_hooks.feature +0 -102
- data/features/docs/writing_support_code/after_step_hooks.feature +0 -55
- data/features/docs/writing_support_code/around_hooks.feature +0 -266
- data/features/docs/writing_support_code/before_hook.feature +0 -66
- data/features/docs/writing_support_code/hook_order.feature +0 -63
- data/features/docs/writing_support_code/load_path.feature +0 -17
- data/features/docs/writing_support_code/parameter_types.feature +0 -75
- data/features/docs/writing_support_code/state.feature +0 -32
- data/features/docs/writing_support_code/tagged_hooks.feature +0 -95
- data/features/docs/writing_support_code/world.feature +0 -129
- data/features/lib/step_definitions/aruba_steps.rb +0 -21
- data/features/lib/step_definitions/cli_steps.rb +0 -4
- data/features/lib/step_definitions/cucumber_steps.rb +0 -75
- data/features/lib/step_definitions/iso-8859-1_steps.rb +0 -13
- data/features/lib/step_definitions/json_steps.rb +0 -8
- data/features/lib/step_definitions/junit_steps.rb +0 -14
- data/features/lib/step_definitions/language_steps.rb +0 -9
- data/features/lib/step_definitions/profile_steps.rb +0 -16
- data/features/lib/step_definitions/retry_steps.rb +0 -55
- data/features/lib/step_definitions/ruby_steps.rb +0 -4
- data/features/lib/support/env.rb +0 -22
- data/features/lib/support/fake_wire_server.rb +0 -86
- data/features/lib/support/feature_factory.rb +0 -68
- data/features/lib/support/normalise_output.rb +0 -52
- data/features/lib/support/parameter_types.rb +0 -8
- data/gem_tasks/contributors.rake +0 -19
- data/gem_tasks/cov.rake +0 -6
- data/gem_tasks/downloads.rb +0 -8
- data/gem_tasks/environment.rake +0 -4
- data/gem_tasks/examples.rake +0 -12
- data/gem_tasks/fix_cr_lf.rake +0 -11
- data/gem_tasks/flog.rake +0 -5
- data/gem_tasks/rspec.rake +0 -7
- data/gem_tasks/sass.rake +0 -5
- data/gem_tasks/stats +0 -16
- data/gem_tasks/versions.txt +0 -74
- data/lib/cucumber/formatter/cucumber.css +0 -286
- data/lib/cucumber/formatter/cucumber.sass +0 -247
- data/lib/cucumber/formatter/hook_query_visitor.rb +0 -41
- data/lib/cucumber/formatter/html_builder.rb +0 -110
- data/lib/cucumber/formatter/inline-js.js +0 -30
- data/lib/cucumber/formatter/jquery-min.js +0 -154
- data/lib/cucumber/formatter/json_pretty.rb +0 -11
- data/lib/cucumber/formatter/legacy_api/adapter.rb +0 -1012
- data/lib/cucumber/formatter/legacy_api/ast.rb +0 -386
- data/lib/cucumber/formatter/legacy_api/results.rb +0 -50
- data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +0 -32
- data/lib/cucumber/step_argument.rb +0 -24
- data/scripts/invite-collaborator +0 -40
- data/scripts/update-history +0 -83
- data/spec/cucumber/cli/configuration_spec.rb +0 -434
- data/spec/cucumber/cli/main_spec.rb +0 -84
- data/spec/cucumber/cli/options_spec.rb +0 -445
- data/spec/cucumber/cli/profile_loader_spec.rb +0 -66
- data/spec/cucumber/cli/rerun_spec.rb +0 -86
- data/spec/cucumber/configuration_spec.rb +0 -148
- data/spec/cucumber/constantize_spec.rb +0 -20
- data/spec/cucumber/events_spec.rb +0 -9
- data/spec/cucumber/file_specs_spec.rb +0 -61
- data/spec/cucumber/filters/activate_steps_spec.rb +0 -152
- data/spec/cucumber/filters/gated_receiver_spec.rb +0 -48
- data/spec/cucumber/filters/retry_spec.rb +0 -98
- data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +0 -39
- data/spec/cucumber/filters/tag_limits/verifier_spec.rb +0 -58
- data/spec/cucumber/filters/tag_limits_spec.rb +0 -60
- data/spec/cucumber/formatter/ansicolor_spec.rb +0 -33
- data/spec/cucumber/formatter/backtrace_filter_spec.rb +0 -32
- data/spec/cucumber/formatter/console_counts_spec.rb +0 -14
- data/spec/cucumber/formatter/duration_spec.rb +0 -23
- data/spec/cucumber/formatter/fail_fast_spec.rb +0 -88
- data/spec/cucumber/formatter/html_spec.rb +0 -543
- data/spec/cucumber/formatter/interceptor_spec.rb +0 -137
- data/spec/cucumber/formatter/json_spec.rb +0 -840
- data/spec/cucumber/formatter/junit_spec.rb +0 -251
- data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2187
- data/spec/cucumber/formatter/pretty_spec.rb +0 -920
- data/spec/cucumber/formatter/progress_spec.rb +0 -170
- data/spec/cucumber/formatter/rerun_spec.rb +0 -97
- data/spec/cucumber/formatter/spec_helper.rb +0 -84
- data/spec/cucumber/glue/proto_world_spec.rb +0 -63
- data/spec/cucumber/glue/registry_and_more_spec.rb +0 -213
- data/spec/cucumber/glue/snippet_spec.rb +0 -174
- data/spec/cucumber/glue/step_definition_spec.rb +0 -207
- data/spec/cucumber/hooks_spec.rb +0 -31
- data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -648
- data/spec/cucumber/project_initializer_spec.rb +0 -88
- data/spec/cucumber/rake/forked_spec.rb +0 -54
- data/spec/cucumber/rake/task_spec.rb +0 -86
- data/spec/cucumber/running_test_case_spec.rb +0 -140
- data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -8
- data/spec/cucumber/runtime/support_code_spec.rb +0 -17
- data/spec/cucumber/runtime_spec.rb +0 -21
- data/spec/cucumber/sell_cucumbers.feature +0 -19
- data/spec/cucumber/step_argument_spec.rb +0 -19
- data/spec/cucumber/step_match_search_spec.rb +0 -113
- data/spec/cucumber/step_match_spec.rb +0 -86
- data/spec/cucumber/world/pending_spec.rb +0 -48
- data/spec/spec_helper.rb +0 -30
- data/spec/support/standard_step_actions.rb +0 -19
@@ -1,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
|
-
|
@@ -1,31 +0,0 @@
|
|
1
|
-
Feature: Skip Scenario
|
2
|
-
|
3
|
-
@todo-windows
|
4
|
-
Scenario: With a passing step
|
5
|
-
Given a file named "features/test.feature" with:
|
6
|
-
"""
|
7
|
-
Feature: test
|
8
|
-
Scenario: test
|
9
|
-
Given this step says to skip
|
10
|
-
And this step passes
|
11
|
-
"""
|
12
|
-
And the standard step definitions
|
13
|
-
And a file named "features/step_definitions/skippy.rb" with:
|
14
|
-
"""
|
15
|
-
Given /skip/ do
|
16
|
-
skip_this_scenario
|
17
|
-
end
|
18
|
-
"""
|
19
|
-
When I run `cucumber -q`
|
20
|
-
Then it should pass with exactly:
|
21
|
-
"""
|
22
|
-
Feature: test
|
23
|
-
|
24
|
-
Scenario: test
|
25
|
-
Given this step says to skip
|
26
|
-
And this step passes
|
27
|
-
|
28
|
-
1 scenario (1 skipped)
|
29
|
-
2 steps (2 skipped)
|
30
|
-
|
31
|
-
"""
|
@@ -1,56 +0,0 @@
|
|
1
|
-
Feature: Snippets
|
2
|
-
|
3
|
-
Cucumber helpfully prints out any undefined step definitions as a code
|
4
|
-
snippet suggestion, which you can then paste into a step definitions
|
5
|
-
file of your choosing.
|
6
|
-
|
7
|
-
Scenario: Snippet for undefined step with a Doc String
|
8
|
-
Given a file named "features/undefined_steps.feature" with:
|
9
|
-
"""
|
10
|
-
Feature:
|
11
|
-
Scenario: Doc String
|
12
|
-
Given a Doc String
|
13
|
-
\"\"\"
|
14
|
-
example with <html> entities
|
15
|
-
\"\"\"
|
16
|
-
When 1 simple when step
|
17
|
-
And another "when" step
|
18
|
-
Then a simple then step
|
19
|
-
"""
|
20
|
-
When I run `cucumber features/undefined_steps.feature -s`
|
21
|
-
Then the output should contain:
|
22
|
-
"""
|
23
|
-
Given("a Doc String") do |string|
|
24
|
-
pending # Write code here that turns the phrase above into concrete actions
|
25
|
-
end
|
26
|
-
|
27
|
-
When("{int} simple when step") do |int|
|
28
|
-
pending # Write code here that turns the phrase above into concrete actions
|
29
|
-
end
|
30
|
-
|
31
|
-
When("another {string} step") do |string|
|
32
|
-
pending # Write code here that turns the phrase above into concrete actions
|
33
|
-
end
|
34
|
-
|
35
|
-
Then("a simple then step") do
|
36
|
-
pending # Write code here that turns the phrase above into concrete actions
|
37
|
-
end
|
38
|
-
"""
|
39
|
-
|
40
|
-
Scenario: Snippet for undefined step with a step table
|
41
|
-
Given a file named "features/undefined_steps.feature" with:
|
42
|
-
"""
|
43
|
-
Feature:
|
44
|
-
Scenario: table
|
45
|
-
Given a table
|
46
|
-
| table |
|
47
|
-
|example|
|
48
|
-
"""
|
49
|
-
When I run `cucumber features/undefined_steps.feature -s`
|
50
|
-
Then the output should contain:
|
51
|
-
"""
|
52
|
-
Given("a table") do |table|
|
53
|
-
# table is a Cucumber::MultilineArgument::DataTable
|
54
|
-
pending # Write code here that turns the phrase above into concrete actions
|
55
|
-
end
|
56
|
-
"""
|
@@ -1,50 +0,0 @@
|
|
1
|
-
Feature: Table diffing
|
2
|
-
|
3
|
-
To allow you to more easily compare data in tables, you are able
|
4
|
-
to easily diff a table with expected data and see the diff in your
|
5
|
-
output.
|
6
|
-
|
7
|
-
Scenario: Extra row
|
8
|
-
Given a file named "features/tables.feature" with:
|
9
|
-
"""
|
10
|
-
Feature: Tables
|
11
|
-
Scenario: Extra row
|
12
|
-
Then the table should be:
|
13
|
-
| x | y |
|
14
|
-
| a | b |
|
15
|
-
"""
|
16
|
-
And a file named "features/step_definitions/steps.rb" with:
|
17
|
-
"""
|
18
|
-
Then /the table should be:/ do |expected| x=1
|
19
|
-
expected.diff!(table(%{
|
20
|
-
| x | y |
|
21
|
-
| a | c |
|
22
|
-
}))
|
23
|
-
end
|
24
|
-
"""
|
25
|
-
When I run `cucumber features/tables.feature`
|
26
|
-
Then it should fail with exactly:
|
27
|
-
"""
|
28
|
-
Feature: Tables
|
29
|
-
|
30
|
-
Scenario: Extra row # features/tables.feature:2
|
31
|
-
Then the table should be: # features/step_definitions/steps.rb:1
|
32
|
-
| x | y |
|
33
|
-
| a | b |
|
34
|
-
Tables were not identical:
|
35
|
-
|
36
|
-
| x | y |
|
37
|
-
| (-) a | (-) b |
|
38
|
-
| (+) a | (+) c |
|
39
|
-
(Cucumber::MultilineArgument::DataTable::Different)
|
40
|
-
./features/step_definitions/steps.rb:2:in `/the table should be:/'
|
41
|
-
features/tables.feature:3:in `Then the table should be:'
|
42
|
-
|
43
|
-
Failing Scenarios:
|
44
|
-
cucumber features/tables.feature:2 # Scenario: Extra row
|
45
|
-
|
46
|
-
1 scenario (1 failed)
|
47
|
-
1 step (1 failed)
|
48
|
-
0m0.012s
|
49
|
-
|
50
|
-
"""
|
@@ -1,43 +0,0 @@
|
|
1
|
-
Feature: Gherkin Source Read Event
|
2
|
-
|
3
|
-
This event is fired when Cucumber reads a Gherkin document.
|
4
|
-
|
5
|
-
See [the API documentation](http://www.rubydoc.info/github/cucumber/cucumber-ruby/Cucumber/Events/GherkinSourceRead)
|
6
|
-
for more information about the data available on this event.
|
7
|
-
|
8
|
-
@todo-windows
|
9
|
-
Scenario: Read two documents
|
10
|
-
Given a file named "features/one.feature" with:
|
11
|
-
"""
|
12
|
-
Feature: One
|
13
|
-
This is the first feature
|
14
|
-
|
15
|
-
"""
|
16
|
-
And a file named "features/two.feature" with:
|
17
|
-
"""
|
18
|
-
Feature: Two
|
19
|
-
This is the other feature
|
20
|
-
|
21
|
-
"""
|
22
|
-
And a file named "features/support/events.rb" with:
|
23
|
-
"""
|
24
|
-
AfterConfiguration do |config|
|
25
|
-
config.on_event :gherkin_source_read do |event|
|
26
|
-
config.out_stream.puts "path: #{event.path}"
|
27
|
-
config.out_stream.puts "body:\n#{event.body}"
|
28
|
-
end
|
29
|
-
end
|
30
|
-
"""
|
31
|
-
When I run `cucumber --dry-run`
|
32
|
-
Then it should pass with:
|
33
|
-
"""
|
34
|
-
path: features/one.feature
|
35
|
-
body:
|
36
|
-
Feature: One
|
37
|
-
This is the first feature
|
38
|
-
path: features/two.feature
|
39
|
-
body:
|
40
|
-
Feature: Two
|
41
|
-
This is the other feature
|
42
|
-
"""
|
43
|
-
|