cucumber 2.0.0.rc.5 → 4.0.0.rc.3
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} +700 -264
- data/CONTRIBUTING.md +26 -23
- data/LICENSE +1 -1
- data/README.md +25 -8
- data/bin/cucumber +3 -3
- data/lib/autotest/cucumber.rb +2 -0
- data/lib/autotest/cucumber_mixin.rb +45 -48
- data/lib/autotest/cucumber_rails.rb +2 -0
- data/lib/autotest/cucumber_rails_rspec.rb +2 -0
- data/lib/autotest/cucumber_rails_rspec2.rb +2 -0
- data/lib/autotest/cucumber_rspec.rb +2 -0
- data/lib/autotest/cucumber_rspec2.rb +2 -0
- data/lib/autotest/discover.rb +4 -2
- data/lib/cucumber.rb +3 -7
- data/lib/cucumber/cli/configuration.rb +23 -106
- data/lib/cucumber/cli/main.rb +45 -25
- data/lib/cucumber/cli/options.rb +410 -229
- data/lib/cucumber/cli/profile_loader.rb +64 -38
- data/lib/cucumber/cli/rerun_file.rb +31 -0
- data/lib/cucumber/configuration.rb +240 -8
- data/lib/cucumber/constantize.rb +9 -10
- data/lib/cucumber/core_ext/string.rb +3 -1
- data/lib/cucumber/deprecate.rb +30 -0
- data/lib/cucumber/encoding.rb +3 -1
- data/lib/cucumber/errors.rb +9 -8
- data/lib/cucumber/events.rb +40 -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/step_activated.rb +26 -0
- data/lib/cucumber/events/step_definition_registered.rb +20 -0
- data/lib/cucumber/events/test_case_finished.rb +14 -0
- data/lib/cucumber/events/test_case_started.rb +11 -0
- data/lib/cucumber/events/test_run_finished.rb +11 -0
- data/lib/cucumber/events/test_run_started.rb +14 -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 +8 -6
- data/lib/cucumber/filters.rb +4 -0
- data/lib/cucumber/filters/activate_steps.rb +48 -7
- data/lib/cucumber/filters/apply_after_hooks.rb +2 -0
- data/lib/cucumber/filters/apply_after_step_hooks.rb +2 -0
- data/lib/cucumber/filters/apply_around_hooks.rb +2 -0
- data/lib/cucumber/filters/apply_before_hooks.rb +2 -0
- data/lib/cucumber/filters/broadcast_test_run_started_event.rb +28 -0
- data/lib/cucumber/filters/gated_receiver.rb +2 -2
- data/lib/cucumber/filters/prepare_world.rb +7 -13
- data/lib/cucumber/filters/quit.rb +4 -7
- data/lib/cucumber/filters/randomizer.rb +10 -5
- data/lib/cucumber/filters/retry.rb +32 -0
- data/lib/cucumber/filters/tag_limits.rb +6 -5
- data/lib/cucumber/filters/tag_limits/test_case_index.rb +2 -2
- data/lib/cucumber/filters/tag_limits/verifier.rb +5 -7
- data/lib/cucumber/formatter/ansicolor.rb +39 -45
- data/lib/cucumber/formatter/ast_lookup.rb +165 -0
- data/lib/cucumber/formatter/backtrace_filter.rb +54 -0
- data/lib/cucumber/formatter/console.rb +93 -115
- data/lib/cucumber/formatter/console_counts.rb +39 -0
- data/lib/cucumber/formatter/console_issues.rb +61 -0
- data/lib/cucumber/formatter/duration.rb +3 -1
- data/lib/cucumber/formatter/duration_extractor.rb +31 -0
- data/lib/cucumber/formatter/fail_fast.rb +23 -0
- data/lib/cucumber/formatter/fanout.rb +4 -3
- data/lib/cucumber/formatter/ignore_missing_messages.rb +3 -4
- data/lib/cucumber/formatter/interceptor.rb +13 -14
- data/lib/cucumber/formatter/io.rb +10 -5
- data/lib/cucumber/formatter/json.rb +310 -8
- data/lib/cucumber/formatter/junit.rb +143 -173
- data/lib/cucumber/formatter/pretty.rb +359 -154
- data/lib/cucumber/formatter/progress.rb +78 -72
- data/lib/cucumber/formatter/rerun.rb +34 -17
- data/lib/cucumber/formatter/stepdefs.rb +3 -2
- data/lib/cucumber/formatter/steps.rb +7 -7
- data/lib/cucumber/formatter/summary.rb +50 -20
- data/lib/cucumber/formatter/unicode.rb +17 -18
- data/lib/cucumber/formatter/usage.rb +61 -54
- data/lib/cucumber/gherkin/data_table_parser.rb +44 -0
- data/lib/cucumber/gherkin/formatter/ansi_escapes.rb +97 -0
- data/lib/cucumber/gherkin/formatter/escaping.rb +19 -0
- data/lib/cucumber/gherkin/i18n.rb +17 -0
- data/lib/cucumber/gherkin/steps_parser.rb +42 -0
- data/lib/cucumber/{rb_support/rb_dsl.rb → glue/dsl.rb} +47 -26
- data/lib/cucumber/glue/hook.rb +51 -0
- data/lib/cucumber/glue/invoke_in_world.rb +65 -0
- data/lib/cucumber/glue/proto_world.rb +219 -0
- data/lib/cucumber/glue/registry_and_more.rb +192 -0
- data/lib/cucumber/glue/snippet.rb +205 -0
- data/lib/cucumber/glue/step_definition.rb +142 -0
- data/lib/cucumber/glue/world_factory.rb +21 -0
- data/lib/cucumber/hooks.rb +34 -21
- data/lib/cucumber/load_path.rb +2 -0
- data/lib/cucumber/multiline_argument.rb +10 -24
- data/lib/cucumber/multiline_argument/data_table.rb +157 -253
- data/lib/cucumber/multiline_argument/data_table/diff_matrices.rb +154 -0
- data/lib/cucumber/multiline_argument/doc_string.rb +3 -2
- data/lib/cucumber/platform.rb +7 -10
- data/lib/cucumber/project_initializer.rb +4 -3
- data/lib/cucumber/rake/task.rb +37 -29
- data/lib/cucumber/rspec/disable_option_parser.rb +11 -8
- data/lib/cucumber/rspec/doubles.rb +3 -1
- data/lib/cucumber/running_test_case.rb +15 -70
- data/lib/cucumber/runtime.rb +83 -81
- data/lib/cucumber/runtime/after_hooks.rb +10 -7
- data/lib/cucumber/runtime/before_hooks.rb +12 -6
- data/lib/cucumber/runtime/for_programming_languages.rb +14 -44
- data/lib/cucumber/runtime/step_hooks.rb +8 -4
- data/lib/cucumber/runtime/support_code.rb +46 -160
- data/lib/cucumber/runtime/user_interface.rb +15 -24
- data/lib/cucumber/step_definition_light.rb +10 -6
- data/lib/cucumber/step_definitions.rb +6 -4
- data/lib/cucumber/step_match.rb +58 -38
- data/lib/cucumber/step_match_search.rb +67 -0
- data/lib/cucumber/term/ansicolor.rb +40 -39
- data/lib/cucumber/unit.rb +2 -0
- data/lib/cucumber/version +1 -0
- data/{spec → lib}/simplecov_setup.rb +3 -1
- metadata +257 -621
- data/.coveralls.yml +0 -1
- data/.rspec +0 -1
- data/.ruby-gemset +0 -1
- data/.travis.yml +0 -18
- data/.yardopts +0 -1
- data/Gemfile +0 -11
- data/Rakefile +0 -22
- data/cucumber.gemspec +0 -50
- 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/run_cli_main_with_existing_runtime.feature +0 -29
- data/features/docs/cli/backtraces.feature +0 -36
- data/features/docs/cli/dry_run.feature +0 -68
- data/features/docs/cli/exclude_files.feature +0 -19
- data/features/docs/cli/execute_with_tag_filter.feature +0 -117
- data/features/docs/cli/randomize.feature +0 -46
- data/features/docs/cli/require.feature +0 -27
- data/features/docs/cli/run_scenarios_matching_name.feature +0 -104
- data/features/docs/cli/run_specific_scenarios.feature +0 -130
- data/features/docs/cli/showing_differences.feature +0 -43
- data/features/docs/cli/specifying_multiple_formatters.feature +0 -44
- data/features/docs/cli/strict_mode.feature +0 -64
- data/features/docs/defining_steps/nested_steps.feature +0 -178
- data/features/docs/defining_steps/nested_steps_i18n.feature +0 -34
- data/features/docs/defining_steps/nested_steps_with_second_arg.feature +0 -73
- data/features/docs/defining_steps/one_line_step_definitions.feature +0 -65
- data/features/docs/defining_steps/printing_messages.feature +0 -148
- data/features/docs/defining_steps/skip_scenario.feature +0 -62
- data/features/docs/defining_steps/snippets.feature +0 -56
- data/features/docs/defining_steps/table_diffing.feature +0 -50
- data/features/docs/defining_steps/transforms.feature +0 -63
- 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 -80
- 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 -94
- 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 -90
- data/features/docs/formatters/json_formatter.feature +0 -760
- data/features/docs/formatters/junit_formatter.feature +0 -316
- 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 -136
- data/features/docs/formatters/usage_formatter.feature +0 -102
- data/features/docs/getting_started.feature +0 -27
- data/features/docs/gherkin/background.feature +0 -559
- 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 -37
- data/features/docs/gherkin/outlines.feature +0 -158
- data/features/docs/gherkin/unicode_table.feature +0 -32
- data/features/docs/gherkin/using_descriptions.feature +0 -88
- 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 -49
- 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/wire_protocol/erb_configuration.feature +0 -56
- data/features/docs/wire_protocol/handle_unexpected_response.feature +0 -30
- data/features/docs/wire_protocol/invoke_message.feature +0 -216
- data/features/docs/wire_protocol/readme.md +0 -26
- data/features/docs/wire_protocol/snippets_message.feature +0 -51
- data/features/docs/wire_protocol/step_matches_message.feature +0 -81
- data/features/docs/wire_protocol/table_diffing.feature +0 -126
- data/features/docs/wire_protocol/tags.feature +0 -87
- data/features/docs/wire_protocol/timeouts.feature +0 -64
- data/features/docs/work_in_progress.feature +0 -154
- data/features/docs/writing_support_code/after_hooks.feature +0 -56
- 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/lib/step_definitions/aruba_steps.rb +0 -22
- data/features/lib/step_definitions/cucumber_steps.rb +0 -50
- data/features/lib/step_definitions/iso-8859-1_steps.rb +0 -12
- data/features/lib/step_definitions/json_steps.rb +0 -7
- data/features/lib/step_definitions/junit_steps.rb +0 -13
- data/features/lib/step_definitions/language_steps.rb +0 -8
- data/features/lib/step_definitions/profile_steps.rb +0 -15
- data/features/lib/step_definitions/ruby_steps.rb +0 -3
- data/features/lib/step_definitions/wire_steps.rb +0 -58
- data/features/lib/support/env.rb +0 -21
- data/features/lib/support/fake_wire_server.rb +0 -80
- data/features/lib/support/feature_factory.rb +0 -67
- data/features/lib/support/normalise_output.rb +0 -33
- data/gem_tasks/contributors.rake +0 -15
- data/gem_tasks/cov.rake +0 -5
- data/gem_tasks/cucumber.rake +0 -25
- data/gem_tasks/downloads.rb +0 -7
- data/gem_tasks/environment.rake +0 -7
- data/gem_tasks/examples.rake +0 -11
- data/gem_tasks/fix_cr_lf.rake +0 -10
- data/gem_tasks/flog.rake +0 -4
- data/gem_tasks/rspec.rake +0 -6
- data/gem_tasks/sass.rake +0 -4
- data/gem_tasks/stats +0 -16
- data/gem_tasks/versions.txt +0 -74
- data/lib/cucumber/ast.rb +0 -13
- data/lib/cucumber/core_ext/instance_exec.rb +0 -70
- data/lib/cucumber/core_ext/proc.rb +0 -36
- data/lib/cucumber/formatter/cucumber.css +0 -285
- data/lib/cucumber/formatter/cucumber.sass +0 -247
- data/lib/cucumber/formatter/debug.rb +0 -35
- data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +0 -204
- data/lib/cucumber/formatter/gpretty.rb +0 -24
- data/lib/cucumber/formatter/html.rb +0 -674
- data/lib/cucumber/formatter/jquery-min.js +0 -154
- data/lib/cucumber/formatter/json_pretty.rb +0 -10
- data/lib/cucumber/formatter/legacy_api/adapter.rb +0 -1060
- data/lib/cucumber/formatter/legacy_api/ast.rb +0 -376
- data/lib/cucumber/formatter/legacy_api/results.rb +0 -51
- data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +0 -30
- data/lib/cucumber/language_support.rb +0 -30
- data/lib/cucumber/language_support/language_methods.rb +0 -71
- data/lib/cucumber/rb_support/rb_hook.rb +0 -18
- data/lib/cucumber/rb_support/rb_language.rb +0 -160
- data/lib/cucumber/rb_support/rb_step_definition.rb +0 -131
- data/lib/cucumber/rb_support/rb_transform.rb +0 -59
- data/lib/cucumber/rb_support/rb_world.rb +0 -142
- data/lib/cucumber/rb_support/regexp_argument_matcher.rb +0 -21
- data/lib/cucumber/rb_support/snippet.rb +0 -149
- data/lib/cucumber/wire_support/configuration.rb +0 -38
- data/lib/cucumber/wire_support/connection.rb +0 -61
- data/lib/cucumber/wire_support/request_handler.rb +0 -32
- data/lib/cucumber/wire_support/wire_exception.rb +0 -32
- data/lib/cucumber/wire_support/wire_language.rb +0 -68
- data/lib/cucumber/wire_support/wire_packet.rb +0 -34
- data/lib/cucumber/wire_support/wire_protocol.rb +0 -43
- data/lib/cucumber/wire_support/wire_protocol/requests.rb +0 -133
- data/lib/cucumber/wire_support/wire_step_definition.rb +0 -19
- data/spec/cucumber/cli/configuration_spec.rb +0 -503
- data/spec/cucumber/cli/main_spec.rb +0 -105
- data/spec/cucumber/cli/options_spec.rb +0 -335
- data/spec/cucumber/cli/profile_loader_spec.rb +0 -46
- data/spec/cucumber/configuration_spec.rb +0 -23
- data/spec/cucumber/constantize_spec.rb +0 -19
- data/spec/cucumber/core_ext/proc_spec.rb +0 -69
- data/spec/cucumber/file_specs_spec.rb +0 -60
- data/spec/cucumber/filters/activate_steps_spec.rb +0 -57
- data/spec/cucumber/filters/gated_receiver_spec.rb +0 -47
- data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +0 -38
- data/spec/cucumber/filters/tag_limits/verifier_spec.rb +0 -57
- data/spec/cucumber/filters/tag_limits_spec.rb +0 -59
- data/spec/cucumber/formatter/ansicolor_spec.rb +0 -32
- data/spec/cucumber/formatter/debug_spec.rb +0 -64
- data/spec/cucumber/formatter/duration_spec.rb +0 -22
- data/spec/cucumber/formatter/html_spec.rb +0 -459
- data/spec/cucumber/formatter/interceptor_spec.rb +0 -136
- data/spec/cucumber/formatter/junit_spec.rb +0 -252
- data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +0 -2090
- data/spec/cucumber/formatter/pretty_spec.rb +0 -823
- data/spec/cucumber/formatter/progress_spec.rb +0 -85
- data/spec/cucumber/formatter/rerun_spec.rb +0 -107
- data/spec/cucumber/formatter/spec_helper.rb +0 -67
- data/spec/cucumber/hooks_spec.rb +0 -30
- data/spec/cucumber/multiline_argument/data_table_spec.rb +0 -514
- data/spec/cucumber/project_initializer_spec.rb +0 -87
- data/spec/cucumber/rake/forked_spec.rb +0 -53
- data/spec/cucumber/rb_support/rb_language_spec.rb +0 -279
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +0 -170
- data/spec/cucumber/rb_support/rb_transform_spec.rb +0 -46
- data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +0 -22
- data/spec/cucumber/rb_support/snippet_spec.rb +0 -137
- data/spec/cucumber/running_test_case_spec.rb +0 -83
- data/spec/cucumber/runtime/for_programming_languages_spec.rb +0 -36
- data/spec/cucumber/runtime/support_code_spec.rb +0 -123
- data/spec/cucumber/runtime_spec.rb +0 -46
- data/spec/cucumber/sell_cucumbers.feature +0 -19
- data/spec/cucumber/step_match_spec.rb +0 -79
- data/spec/cucumber/wire_support/configuration_spec.rb +0 -64
- data/spec/cucumber/wire_support/connection_spec.rb +0 -64
- data/spec/cucumber/wire_support/wire_exception_spec.rb +0 -50
- data/spec/cucumber/wire_support/wire_language_spec.rb +0 -46
- data/spec/cucumber/wire_support/wire_packet_spec.rb +0 -44
- data/spec/cucumber/world/pending_spec.rb +0 -46
- data/spec/spec_helper.rb +0 -29
@@ -1,74 +0,0 @@
|
|
1
|
-
Feature: Doc strings
|
2
|
-
|
3
|
-
If you need to specify information in a scenario that won't fit on a single line,
|
4
|
-
you can use a DocString.
|
5
|
-
|
6
|
-
A DocString follows a step, and starts and ends with three double quotes, like this:
|
7
|
-
|
8
|
-
```gherkin
|
9
|
-
When I ask to reset my password
|
10
|
-
Then I should receive an email with:
|
11
|
-
"""
|
12
|
-
Dear bozo,
|
13
|
-
|
14
|
-
Please click this link to reset your password
|
15
|
-
"""
|
16
|
-
```
|
17
|
-
|
18
|
-
It's possible to annotate the DocString with the type of content it contains. This is used by
|
19
|
-
formatting tools like http://relishapp.com which will render the contents of the DocString
|
20
|
-
appropriately. You specify the content type after the triple quote, like this:
|
21
|
-
|
22
|
-
```gherkin
|
23
|
-
Given there is some Ruby code:
|
24
|
-
"""ruby
|
25
|
-
puts "hello world"
|
26
|
-
"""
|
27
|
-
```
|
28
|
-
|
29
|
-
You can read the content type from the argument passed into your step definition, as shown
|
30
|
-
in the example below.
|
31
|
-
|
32
|
-
Scenario: Plain text Docstring
|
33
|
-
Given a scenario with a step that looks like this:
|
34
|
-
"""gherkin
|
35
|
-
Given I have a lot to say:
|
36
|
-
\"\"\"
|
37
|
-
One
|
38
|
-
Two
|
39
|
-
Three
|
40
|
-
\"\"\"
|
41
|
-
"""
|
42
|
-
And a step definition that looks like this:
|
43
|
-
"""ruby
|
44
|
-
Given /say/ do |text|
|
45
|
-
puts text
|
46
|
-
end
|
47
|
-
"""
|
48
|
-
When I run the feature with the progress formatter
|
49
|
-
Then the output should contain:
|
50
|
-
"""
|
51
|
-
One
|
52
|
-
Two
|
53
|
-
Three
|
54
|
-
"""
|
55
|
-
|
56
|
-
Scenario: DocString with interesting content type
|
57
|
-
Given a scenario with a step that looks like this:
|
58
|
-
"""gherkin
|
59
|
-
Given I have some code for you:
|
60
|
-
\"\"\"ruby
|
61
|
-
# hello
|
62
|
-
\"\"\"
|
63
|
-
"""
|
64
|
-
And a step definition that looks like this:
|
65
|
-
"""ruby
|
66
|
-
Given /code/ do |text|
|
67
|
-
puts text.content_type
|
68
|
-
end
|
69
|
-
"""
|
70
|
-
When I run the feature with the progress formatter
|
71
|
-
Then the output should contain:
|
72
|
-
"""
|
73
|
-
ruby
|
74
|
-
"""
|
@@ -1,46 +0,0 @@
|
|
1
|
-
Feature: Scenario outlines --expand option
|
2
|
-
|
3
|
-
In order to make it easier to write certain editor plugins and also
|
4
|
-
for some people to understand scenarios, Cucumber will expand examples
|
5
|
-
in outlines if you add the `--expand` option when running them.
|
6
|
-
|
7
|
-
Scenario:
|
8
|
-
Given a file named "features/test.feature" with:
|
9
|
-
"""
|
10
|
-
Feature:
|
11
|
-
Scenario Outline:
|
12
|
-
Given the secret code is <code>
|
13
|
-
When I guess <guess>
|
14
|
-
Then I am <verdict>
|
15
|
-
|
16
|
-
Examples:
|
17
|
-
| code | guess | verdict |
|
18
|
-
| blue | blue | right |
|
19
|
-
| red | blue | wrong |
|
20
|
-
"""
|
21
|
-
When I run `cucumber -i -q --expand`
|
22
|
-
Then the stderr should not contain anything
|
23
|
-
And it should pass with:
|
24
|
-
"""
|
25
|
-
Feature:
|
26
|
-
|
27
|
-
Scenario Outline:
|
28
|
-
Given the secret code is <code>
|
29
|
-
When I guess <guess>
|
30
|
-
Then I am <verdict>
|
31
|
-
|
32
|
-
Examples:
|
33
|
-
|
34
|
-
Scenario: | blue | blue | right |
|
35
|
-
Given the secret code is blue
|
36
|
-
When I guess blue
|
37
|
-
Then I am right
|
38
|
-
|
39
|
-
Scenario: | red | blue | wrong |
|
40
|
-
Given the secret code is red
|
41
|
-
When I guess blue
|
42
|
-
Then I am wrong
|
43
|
-
|
44
|
-
2 scenarios (2 undefined)
|
45
|
-
6 steps (6 undefined)
|
46
|
-
"""
|
@@ -1,32 +0,0 @@
|
|
1
|
-
Feature: Choosing the language from the feature file header
|
2
|
-
|
3
|
-
In order to simplify command line and settings in IDEs, Cucumber picks
|
4
|
-
up the parser language from a `# language` comment at the beginning of
|
5
|
-
any feature file. See the examples below for the exact syntax.
|
6
|
-
|
7
|
-
Scenario: LOLCAT
|
8
|
-
Given a file named "features/lolcat.feature" with:
|
9
|
-
"""
|
10
|
-
# language: en-lol
|
11
|
-
OH HAI: STUFFING
|
12
|
-
B4: HUNGRY
|
13
|
-
I CAN HAZ EMPTY BELLY
|
14
|
-
MISHUN: CUKES
|
15
|
-
DEN KTHXBAI
|
16
|
-
"""
|
17
|
-
When I run `cucumber -i features/lolcat.feature -q`
|
18
|
-
Then it should pass with:
|
19
|
-
"""
|
20
|
-
# language: en-lol
|
21
|
-
OH HAI: STUFFING
|
22
|
-
|
23
|
-
B4: HUNGRY
|
24
|
-
I CAN HAZ EMPTY BELLY
|
25
|
-
|
26
|
-
MISHUN: CUKES
|
27
|
-
DEN KTHXBAI
|
28
|
-
|
29
|
-
1 scenario (1 undefined)
|
30
|
-
2 steps (2 undefined)
|
31
|
-
|
32
|
-
"""
|
@@ -1,37 +0,0 @@
|
|
1
|
-
@needs-many-fonts
|
2
|
-
Feature: Language help
|
3
|
-
|
4
|
-
It's possible to ask cucumber which keywords are used for any
|
5
|
-
particular language by running:
|
6
|
-
|
7
|
-
`cucumber --i18n <language code> help`
|
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 pt help`
|
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 help`
|
37
|
-
Then cucumber lists all the supported languages
|
@@ -1,158 +0,0 @@
|
|
1
|
-
@spawn
|
2
|
-
Feature: Scenario outlines
|
3
|
-
|
4
|
-
Copying and pasting scenarios to use different values quickly
|
5
|
-
becomes tedious and repetitive. Scenario outlines allow us to more
|
6
|
-
concisely express these examples through the use of a template with
|
7
|
-
placeholders, using Scenario Outline, Examples with tables and < >
|
8
|
-
delimited parameters.
|
9
|
-
|
10
|
-
The Scenario Outline steps provide a template which is never directly
|
11
|
-
run. A Scenario Outline is run once for each row in the Examples section
|
12
|
-
beneath it (not counting the first row).
|
13
|
-
|
14
|
-
The way this works is via placeholders. Placeholders must be contained
|
15
|
-
within < > in the Scenario Outline's steps - see the examples below.
|
16
|
-
|
17
|
-
**IMPORTANT:** Your step definitions will never have to match a
|
18
|
-
placeholder. They will need to match the values that will replace the
|
19
|
-
placeholder.
|
20
|
-
|
21
|
-
Background:
|
22
|
-
Given a file named "features/outline_sample.feature" with:
|
23
|
-
"""
|
24
|
-
Feature: Outline Sample
|
25
|
-
|
26
|
-
Scenario: I have no steps
|
27
|
-
|
28
|
-
Scenario Outline: Test state
|
29
|
-
Given <state> without a table
|
30
|
-
Given <other_state> without a table
|
31
|
-
Examples: Rainbow colours
|
32
|
-
| state | other_state |
|
33
|
-
| missing | passing |
|
34
|
-
| passing | passing |
|
35
|
-
| failing | passing |
|
36
|
-
Examples:Only passing
|
37
|
-
| state | other_state |
|
38
|
-
| passing | passing |
|
39
|
-
"""
|
40
|
-
And a file named "features/step_definitions/steps.rb" with:
|
41
|
-
"""
|
42
|
-
Given(/^passing without a table$/) { }
|
43
|
-
Given(/^failing without a table$/) { raise RuntimeError }
|
44
|
-
"""
|
45
|
-
|
46
|
-
Scenario: Run scenario outline with filtering on outline name
|
47
|
-
When I run `cucumber -q features/outline_sample.feature`
|
48
|
-
Then it should fail with:
|
49
|
-
"""
|
50
|
-
Feature: Outline Sample
|
51
|
-
|
52
|
-
Scenario: I have no steps
|
53
|
-
|
54
|
-
Scenario Outline: Test state
|
55
|
-
Given <state> without a table
|
56
|
-
Given <other_state> without a table
|
57
|
-
|
58
|
-
Examples: Rainbow colours
|
59
|
-
| state | other_state |
|
60
|
-
| missing | passing |
|
61
|
-
| passing | passing |
|
62
|
-
| failing | passing |
|
63
|
-
RuntimeError (RuntimeError)
|
64
|
-
./features/step_definitions/steps.rb:2:in `/^failing without a table$/'
|
65
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
66
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
67
|
-
|
68
|
-
Examples: Only passing
|
69
|
-
| state | other_state |
|
70
|
-
| passing | passing |
|
71
|
-
|
72
|
-
Failing Scenarios:
|
73
|
-
cucumber features/outline_sample.feature:12
|
74
|
-
|
75
|
-
5 scenarios (1 failed, 1 undefined, 3 passed)
|
76
|
-
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
77
|
-
"""
|
78
|
-
|
79
|
-
Scenario: Run scenario outline steps only
|
80
|
-
When I run `cucumber -q features/outline_sample.feature:7`
|
81
|
-
Then it should fail with:
|
82
|
-
"""
|
83
|
-
Feature: Outline Sample
|
84
|
-
|
85
|
-
Scenario Outline: Test state
|
86
|
-
Given <state> without a table
|
87
|
-
Given <other_state> without a table
|
88
|
-
|
89
|
-
Examples: Rainbow colours
|
90
|
-
| state | other_state |
|
91
|
-
| missing | passing |
|
92
|
-
| passing | passing |
|
93
|
-
| failing | passing |
|
94
|
-
RuntimeError (RuntimeError)
|
95
|
-
./features/step_definitions/steps.rb:2:in `/^failing without a table$/'
|
96
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
97
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
98
|
-
|
99
|
-
Examples: Only passing
|
100
|
-
| state | other_state |
|
101
|
-
| passing | passing |
|
102
|
-
|
103
|
-
Failing Scenarios:
|
104
|
-
cucumber features/outline_sample.feature:12
|
105
|
-
|
106
|
-
4 scenarios (1 failed, 1 undefined, 2 passed)
|
107
|
-
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
108
|
-
|
109
|
-
"""
|
110
|
-
|
111
|
-
Scenario: Run single failing scenario outline table row
|
112
|
-
When I run `cucumber -q features/outline_sample.feature:12`
|
113
|
-
Then it should fail with:
|
114
|
-
"""
|
115
|
-
Feature: Outline Sample
|
116
|
-
|
117
|
-
Scenario Outline: Test state
|
118
|
-
Given <state> without a table
|
119
|
-
Given <other_state> without a table
|
120
|
-
|
121
|
-
Examples: Rainbow colours
|
122
|
-
| state | other_state |
|
123
|
-
| failing | passing |
|
124
|
-
RuntimeError (RuntimeError)
|
125
|
-
./features/step_definitions/steps.rb:2:in `/^failing without a table$/'
|
126
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
127
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
128
|
-
|
129
|
-
Failing Scenarios:
|
130
|
-
cucumber features/outline_sample.feature:12
|
131
|
-
|
132
|
-
1 scenario (1 failed)
|
133
|
-
2 steps (1 failed, 1 skipped)
|
134
|
-
|
135
|
-
"""
|
136
|
-
|
137
|
-
Scenario: Run all with progress formatter
|
138
|
-
When I run `cucumber -q --format progress features/outline_sample.feature`
|
139
|
-
Then it should fail with exactly:
|
140
|
-
"""
|
141
|
-
--UU..FF..
|
142
|
-
|
143
|
-
(::) failed steps (::)
|
144
|
-
|
145
|
-
RuntimeError (RuntimeError)
|
146
|
-
./features/step_definitions/steps.rb:2:in `/^failing without a table$/'
|
147
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
148
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
149
|
-
|
150
|
-
Failing Scenarios:
|
151
|
-
cucumber features/outline_sample.feature:12
|
152
|
-
|
153
|
-
5 scenarios (1 failed, 1 undefined, 3 passed)
|
154
|
-
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
155
|
-
0m0.012s
|
156
|
-
|
157
|
-
"""
|
158
|
-
|
@@ -1,32 +0,0 @@
|
|
1
|
-
@spawn
|
2
|
-
Feature: Unicode in tables
|
3
|
-
|
4
|
-
You are free to use unicode in your tables: we've taken care to
|
5
|
-
ensure that the tables are properly aligned so that your output is as
|
6
|
-
readable as possible.
|
7
|
-
|
8
|
-
Scenario:
|
9
|
-
Given a file named "features/unicode.feature" with:
|
10
|
-
"""
|
11
|
-
Feature: Featuring unicode
|
12
|
-
|
13
|
-
Scenario: table with unicode
|
14
|
-
Given passing
|
15
|
-
| Brüno | abc |
|
16
|
-
| Bruno | æøå |
|
17
|
-
"""
|
18
|
-
When I run `cucumber -q --dry-run features/unicode.feature`
|
19
|
-
Then it should pass with:
|
20
|
-
"""
|
21
|
-
Feature: Featuring unicode
|
22
|
-
|
23
|
-
Scenario: table with unicode
|
24
|
-
Given passing
|
25
|
-
| Brüno | abc |
|
26
|
-
| Bruno | æøå |
|
27
|
-
|
28
|
-
1 scenario (1 undefined)
|
29
|
-
1 step (1 undefined)
|
30
|
-
|
31
|
-
"""
|
32
|
-
|
@@ -1,88 +0,0 @@
|
|
1
|
-
Feature: Using descriptions to give features context
|
2
|
-
|
3
|
-
When writing your feature files its very helpful to use description
|
4
|
-
text at the beginning of the feature file, to write a preamble to the
|
5
|
-
feature describing clearly exactly what the feature does.
|
6
|
-
|
7
|
-
You can also write descriptions attached to individual scenarios - see
|
8
|
-
the examples below for how this can be used.
|
9
|
-
|
10
|
-
It's possible to have your descriptions run over more than one line,
|
11
|
-
and you can have blank lines too. As long as you don't start a line
|
12
|
-
with a Given, When, Then, Background:, Scenario: or similar, you're
|
13
|
-
fine: otherwise Gherkin will start to pay attention.
|
14
|
-
|
15
|
-
Background:
|
16
|
-
Given the standard step definitions
|
17
|
-
|
18
|
-
Scenario: Everything with a description
|
19
|
-
Given a file named "features/test.feature" with:
|
20
|
-
"""
|
21
|
-
Feature: descriptions everywhere
|
22
|
-
|
23
|
-
We can put a useful description here of the feature, which can
|
24
|
-
span multiple lines.
|
25
|
-
|
26
|
-
Background:
|
27
|
-
|
28
|
-
We can also put in descriptions showing what the background is
|
29
|
-
doing.
|
30
|
-
|
31
|
-
Given this step passes
|
32
|
-
|
33
|
-
Scenario: I'm a scenario with a description
|
34
|
-
|
35
|
-
You can also put descriptions in front of individual scenarios.
|
36
|
-
|
37
|
-
Given this step passes
|
38
|
-
|
39
|
-
Scenario Outline: I'm a scenario outline with a description
|
40
|
-
|
41
|
-
Scenario outlines can have descriptions.
|
42
|
-
|
43
|
-
Given this step <state>
|
44
|
-
Examples: Examples
|
45
|
-
|
46
|
-
Specific examples for an outline are allowed to have
|
47
|
-
descriptions, too.
|
48
|
-
|
49
|
-
| state |
|
50
|
-
| passes |
|
51
|
-
"""
|
52
|
-
When I run `cucumber -q`
|
53
|
-
Then the stderr should not contain anything
|
54
|
-
Then it should pass with exactly:
|
55
|
-
"""
|
56
|
-
Feature: descriptions everywhere
|
57
|
-
|
58
|
-
We can put a useful description here of the feature, which can
|
59
|
-
span multiple lines.
|
60
|
-
|
61
|
-
Background:
|
62
|
-
|
63
|
-
We can also put in descriptions showing what the background is
|
64
|
-
doing.
|
65
|
-
Given this step passes
|
66
|
-
|
67
|
-
Scenario: I'm a scenario with a description
|
68
|
-
|
69
|
-
You can also put descriptions in front of individual scenarios.
|
70
|
-
Given this step passes
|
71
|
-
|
72
|
-
Scenario Outline: I'm a scenario outline with a description
|
73
|
-
|
74
|
-
Scenario outlines can have descriptions.
|
75
|
-
Given this step <state>
|
76
|
-
|
77
|
-
Examples: Examples
|
78
|
-
|
79
|
-
Specific examples for an outline are allowed to have
|
80
|
-
descriptions, too.
|
81
|
-
| state |
|
82
|
-
| passes |
|
83
|
-
|
84
|
-
2 scenarios (2 passed)
|
85
|
-
4 steps (4 passed)
|
86
|
-
0m0.012s
|
87
|
-
|
88
|
-
"""
|