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
data/examples/watir/Rakefile
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
$:.unshift(File.dirname(__FILE__) + '/../../lib')
|
2
|
-
require 'cucumber/rake/task'
|
3
|
-
|
4
|
-
Cucumber::Rake::Task.new do |t|
|
5
|
-
t.cucumber_opts = %w{--format pretty}
|
6
|
-
end
|
7
|
-
|
8
|
-
Cucumber::Rake::Task.new(:cucumber_screenshot) do |t|
|
9
|
-
t.cucumber_opts = %w{--format html --out report.html}
|
10
|
-
end
|
11
|
-
|
12
|
-
task :default => :cucumber
|
data/examples/watir/cucumber.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
default: --format html --out report.html --format pretty
|
@@ -1,12 +0,0 @@
|
|
1
|
-
Feature: Search
|
2
|
-
In order to learn more
|
3
|
-
As an information seeker
|
4
|
-
I want to find more information
|
5
|
-
|
6
|
-
Scenario: Find what I'm looking for
|
7
|
-
Given I am on the Google search page
|
8
|
-
When I search for "cucumber github"
|
9
|
-
Then I should see
|
10
|
-
"""
|
11
|
-
GitHub
|
12
|
-
"""
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# Full Watir API: http://wtr.rubyforge.org/rdoc/
|
2
|
-
# Full RSpec API: http://rspec.rubyforge.org/
|
3
|
-
|
4
|
-
Given 'I am on the Google search page' do
|
5
|
-
@browser.goto 'http://www.google.com/'
|
6
|
-
end
|
7
|
-
|
8
|
-
When /I search for "(.*)"/ do |query|
|
9
|
-
@browser.text_field(:name, 'q').set(query)
|
10
|
-
@browser.button(:name, 'btnG').click
|
11
|
-
end
|
12
|
-
|
13
|
-
Then /I should see/ do |text|
|
14
|
-
@browser.text.should =~ /#{text}/m
|
15
|
-
end
|
16
|
-
|
17
|
-
# To avoid step definitions that are tightly coupled to your user interface,
|
18
|
-
# consider creating classes for your pages - such as this:
|
19
|
-
# http://github.com/cucumber/cucumber/tree/v0.1.15/examples/watir/features/step_definitons/search_steps.rb
|
20
|
-
#
|
21
|
-
# You may keep the page classes along your steps, or even better, put them in separate files, e.g.
|
22
|
-
# support/pages/google_search.rb
|
23
|
-
#
|
24
|
-
# This technique is called "Page Objects", and you can read more about it here:
|
25
|
-
# http://github.com/marekj/watirloo/tree/master
|
26
|
-
# We're not using this technique here, since we want to illustrate the basics only.
|
@@ -1,35 +0,0 @@
|
|
1
|
-
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
|
2
|
-
|
3
|
-
browser = nil
|
4
|
-
|
5
|
-
if ENV['FIREFOX']
|
6
|
-
require 'watir-webdriver'
|
7
|
-
Browser = Watir::Browser
|
8
|
-
browser = Browser.new :ff
|
9
|
-
else
|
10
|
-
case RUBY_PLATFORM
|
11
|
-
when /darwin/
|
12
|
-
require 'safariwatir'
|
13
|
-
Browser = Watir::Safari
|
14
|
-
when /win32|mingw/
|
15
|
-
require 'watir'
|
16
|
-
Browser = Watir::IE
|
17
|
-
when /java/
|
18
|
-
require 'celerity'
|
19
|
-
Browser = Celerity::Browser
|
20
|
-
else
|
21
|
-
raise "This platform is not supported (#{RUBY_PLATFORM})"
|
22
|
-
end
|
23
|
-
|
24
|
-
# "before all"
|
25
|
-
browser = Browser.new
|
26
|
-
end
|
27
|
-
|
28
|
-
Before do
|
29
|
-
@browser = browser
|
30
|
-
end
|
31
|
-
|
32
|
-
# "after all"
|
33
|
-
at_exit do
|
34
|
-
browser.close
|
35
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
# This is an example of how you can set up screenshots for your
|
2
|
-
# browser testing. Just run cucumber with --format html --out report.html
|
3
|
-
#
|
4
|
-
# The code below will work on OS X or Windows (with IE Watir only).
|
5
|
-
# Adding support for other platforms should be easy - as long as there is a
|
6
|
-
# ruby library or command line tool to take pictures.
|
7
|
-
#
|
8
|
-
module Screenshots
|
9
|
-
if Cucumber::OS_X
|
10
|
-
def embed_screenshot(id)
|
11
|
-
`screencapture -t png #{id}.png`
|
12
|
-
embed("#{id}.png", "image/png")
|
13
|
-
end
|
14
|
-
elsif Cucumber::WINDOWS
|
15
|
-
# http://wtr.rubyforge.org/rdoc/classes/Watir/ScreenCapture.html
|
16
|
-
require 'watir/screen_capture'
|
17
|
-
include Watir::ScreenCapture
|
18
|
-
def embed_screenshot(id)
|
19
|
-
screen_capture("#{id}.jpg", true)
|
20
|
-
embed("#{id}.jpg", "image/jpeg")
|
21
|
-
end
|
22
|
-
else
|
23
|
-
# Other platforms...
|
24
|
-
def embed_screenshot(id)
|
25
|
-
STDERR.puts "Sorry - no screenshots on your platform yet."
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
World(Screenshots)
|
30
|
-
|
31
|
-
After do
|
32
|
-
embed_screenshot("screenshot-#{Time.new.to_i}")
|
33
|
-
end
|
34
|
-
|
35
|
-
# Other variants:
|
36
|
-
#
|
37
|
-
# Only take screenshot on failures
|
38
|
-
#
|
39
|
-
# After do |scenario|
|
40
|
-
# embed_screenshot("screenshot-#{Time.new.to_i}") if scenario.failed?
|
41
|
-
# end
|
42
|
-
#
|
43
|
-
# Only take screenshot for scenarios or features tagged @screenshot
|
44
|
-
#
|
45
|
-
# After(@screenshot) do
|
46
|
-
# embed_screenshot("screenshot-#{Time.new.to_i}")
|
47
|
-
# end
|
@@ -1,50 +0,0 @@
|
|
1
|
-
@spawn
|
2
|
-
Feature: List step defs as json
|
3
|
-
|
4
|
-
In order to build tools on top of Cucumber
|
5
|
-
As a tool developer
|
6
|
-
I want to be able to query a features directory for all the step definitions it contains
|
7
|
-
|
8
|
-
Background:
|
9
|
-
Given a directory named "features"
|
10
|
-
|
11
|
-
Scenario: Two Ruby step definitions, in the same file
|
12
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
13
|
-
"""
|
14
|
-
Given(/foo/i) { }
|
15
|
-
Given(/b.r/xm) { }
|
16
|
-
"""
|
17
|
-
When I run the following Ruby code:
|
18
|
-
"""
|
19
|
-
require 'cucumber'
|
20
|
-
puts Cucumber::StepDefinitions.new.to_json
|
21
|
-
|
22
|
-
"""
|
23
|
-
Then it should pass with JSON:
|
24
|
-
"""
|
25
|
-
[
|
26
|
-
{"source": "foo", "flags": "i"},
|
27
|
-
{"source": "b.r", "flags": "mx"}
|
28
|
-
]
|
29
|
-
"""
|
30
|
-
|
31
|
-
Scenario: Non-default directory structure
|
32
|
-
Given a file named "my_weird/place/steps.rb" with:
|
33
|
-
"""
|
34
|
-
Given(/foo/) { }
|
35
|
-
Given(/b.r/x) { }
|
36
|
-
"""
|
37
|
-
When I run the following Ruby code:
|
38
|
-
"""
|
39
|
-
require 'cucumber'
|
40
|
-
puts Cucumber::StepDefinitions.new(:autoload_code_paths => ['my_weird']).to_json
|
41
|
-
|
42
|
-
"""
|
43
|
-
Then it should pass with JSON:
|
44
|
-
"""
|
45
|
-
[
|
46
|
-
{"source": "foo", "flags": ""},
|
47
|
-
{"source": "b.r", "flags": "x"}
|
48
|
-
]
|
49
|
-
|
50
|
-
"""
|
@@ -1,59 +0,0 @@
|
|
1
|
-
Feature: Listen for events
|
2
|
-
|
3
|
-
Cucumber's `config` object has an event bus that you can use to listen for
|
4
|
-
various events that happen during your test run.
|
5
|
-
|
6
|
-
Scenario: Step Matched Event
|
7
|
-
Given a file named "features/test.feature" with:
|
8
|
-
"""
|
9
|
-
Feature:
|
10
|
-
Scenario:
|
11
|
-
Given matching
|
12
|
-
"""
|
13
|
-
And a file named "features/step_definitions/steps.rb" with:
|
14
|
-
"""
|
15
|
-
Given(/matching/) do
|
16
|
-
end
|
17
|
-
"""
|
18
|
-
And a file named "features/support/my_listener.rb" with:
|
19
|
-
"""
|
20
|
-
AfterConfiguration do |config|
|
21
|
-
io = config.out_stream
|
22
|
-
config.on_event :step_match do |event|
|
23
|
-
io.puts "Success!"
|
24
|
-
io.puts "Step name: #{event.test_step.name}"
|
25
|
-
io.puts "Source location: #{event.step_match.location}"
|
26
|
-
end
|
27
|
-
end
|
28
|
-
"""
|
29
|
-
When I run `cucumber`
|
30
|
-
Then it should pass with:
|
31
|
-
"""
|
32
|
-
Success!
|
33
|
-
Step name: matching
|
34
|
-
Source location: features/step_definitions/steps.rb:1
|
35
|
-
"""
|
36
|
-
|
37
|
-
Scenario: After Test Step event
|
38
|
-
Given a file named "features/test.feature" with:
|
39
|
-
"""
|
40
|
-
Feature:
|
41
|
-
Scenario:
|
42
|
-
Given passing
|
43
|
-
"""
|
44
|
-
And the standard step definitions
|
45
|
-
And a file named "features/support/my_listener.rb" with:
|
46
|
-
"""
|
47
|
-
AfterConfiguration do |config|
|
48
|
-
io = config.out_stream
|
49
|
-
config.on_event :test_step_finished do |event|
|
50
|
-
io.puts event.result.passed?
|
51
|
-
end
|
52
|
-
end
|
53
|
-
"""
|
54
|
-
When I run `cucumber`
|
55
|
-
Then it should pass with:
|
56
|
-
"""
|
57
|
-
true
|
58
|
-
"""
|
59
|
-
|
@@ -1,26 +0,0 @@
|
|
1
|
-
@spawn
|
2
|
-
Feature: Run Cli::Main with existing Runtime
|
3
|
-
|
4
|
-
This is the API that Spork uses. It creates an existing runtime.
|
5
|
-
When the process forks, Spork them passes the runtime to Cli::Main to
|
6
|
-
run it.
|
7
|
-
|
8
|
-
Scenario: Run a single feature
|
9
|
-
Given the standard step definitions
|
10
|
-
Given a file named "features/success.feature" with:
|
11
|
-
"""
|
12
|
-
Feature:
|
13
|
-
Scenario:
|
14
|
-
Given this step passes
|
15
|
-
"""
|
16
|
-
When I run the following Ruby code:
|
17
|
-
"""
|
18
|
-
require 'cucumber'
|
19
|
-
runtime = Cucumber::Runtime.new
|
20
|
-
Cucumber::Cli::Main.new([]).execute!(runtime)
|
21
|
-
"""
|
22
|
-
Then it should pass
|
23
|
-
And the output should contain:
|
24
|
-
"""
|
25
|
-
Given this step passes
|
26
|
-
"""
|
@@ -1,36 +0,0 @@
|
|
1
|
-
Feature: Backtraces
|
2
|
-
|
3
|
-
In order to discover errors quickly
|
4
|
-
As a cuker
|
5
|
-
I want to see backtraces for failures
|
6
|
-
|
7
|
-
Background:
|
8
|
-
Given a file named "features/failing_hard.feature" with:
|
9
|
-
"""
|
10
|
-
Feature: Sample
|
11
|
-
Scenario: Example
|
12
|
-
Given failing
|
13
|
-
"""
|
14
|
-
|
15
|
-
@jruby
|
16
|
-
Scenario: Backtraces enabled
|
17
|
-
Given a file named "features/step_definitions/steps.rb" with:
|
18
|
-
"""
|
19
|
-
require 'java'
|
20
|
-
java_import 'java.util.Collections'
|
21
|
-
|
22
|
-
Given /^failing$/ do
|
23
|
-
Collections.empty_list.add 1
|
24
|
-
end
|
25
|
-
"""
|
26
|
-
When I run `cucumber features/failing_hard.feature`
|
27
|
-
Then it should fail with:
|
28
|
-
"""
|
29
|
-
Feature: Sample
|
30
|
-
|
31
|
-
Scenario: Example # features/failing_hard.feature:2
|
32
|
-
Given failing # features/step_definitions/steps.rb:4
|
33
|
-
(Java::JavaLang::UnsupportedOperationException)
|
34
|
-
java.util.AbstractList.add(java/util/AbstractList.java:
|
35
|
-
"""
|
36
|
-
|
@@ -1,70 +0,0 @@
|
|
1
|
-
Feature: Dry Run
|
2
|
-
|
3
|
-
Dry run gives you a way to quickly scan your features without actually running them.
|
4
|
-
|
5
|
-
- Invokes formatters without executing the steps.
|
6
|
-
- This also omits the loading of your support/env.rb file if it exists.
|
7
|
-
|
8
|
-
Scenario: With a failing step
|
9
|
-
Given a file named "features/test.feature" with:
|
10
|
-
"""
|
11
|
-
Feature: test
|
12
|
-
Scenario:
|
13
|
-
Given this step fails
|
14
|
-
"""
|
15
|
-
And the standard step definitions
|
16
|
-
When I run `cucumber --dry-run`
|
17
|
-
Then it should pass with exactly:
|
18
|
-
"""
|
19
|
-
Feature: test
|
20
|
-
|
21
|
-
Scenario: # features/test.feature:2
|
22
|
-
Given this step fails # features/step_definitions/steps.rb:4
|
23
|
-
|
24
|
-
1 scenario (1 skipped)
|
25
|
-
1 step (1 skipped)
|
26
|
-
|
27
|
-
"""
|
28
|
-
|
29
|
-
Scenario: In strict mode
|
30
|
-
Given a file named "features/test.feature" with:
|
31
|
-
"""
|
32
|
-
Feature: test
|
33
|
-
Scenario:
|
34
|
-
Given this step fails
|
35
|
-
"""
|
36
|
-
And the standard step definitions
|
37
|
-
When I run `cucumber --dry-run --strict`
|
38
|
-
Then it should pass with exactly:
|
39
|
-
"""
|
40
|
-
Feature: test
|
41
|
-
|
42
|
-
Scenario: # features/test.feature:2
|
43
|
-
Given this step fails # features/step_definitions/steps.rb:4
|
44
|
-
|
45
|
-
1 scenario (1 skipped)
|
46
|
-
1 step (1 skipped)
|
47
|
-
|
48
|
-
"""
|
49
|
-
|
50
|
-
Scenario: In strict mode with an undefined step
|
51
|
-
Given a file named "features/test.feature" with:
|
52
|
-
"""
|
53
|
-
Feature: test
|
54
|
-
Scenario:
|
55
|
-
Given this step is undefined
|
56
|
-
"""
|
57
|
-
When I run `cucumber --dry-run --strict`
|
58
|
-
Then it should fail with:
|
59
|
-
"""
|
60
|
-
Feature: test
|
61
|
-
|
62
|
-
Scenario: # features/test.feature:2
|
63
|
-
Given this step is undefined # features/test.feature:3
|
64
|
-
Undefined step: "this step is undefined" (Cucumber::Undefined)
|
65
|
-
features/test.feature:3:in `Given this step is undefined'
|
66
|
-
|
67
|
-
1 scenario (1 undefined)
|
68
|
-
1 step (1 undefined)
|
69
|
-
|
70
|
-
"""
|
@@ -1,18 +0,0 @@
|
|
1
|
-
Feature: Excluding ruby and feature files from runs
|
2
|
-
|
3
|
-
Developers are able to easily exclude files from cucumber runs
|
4
|
-
This is a nice feature to have in conjunction with profiles, so you can exclude
|
5
|
-
certain environment files from certain runs.
|
6
|
-
|
7
|
-
Scenario: exclude ruby files
|
8
|
-
Given an empty file named "features/support/dont_require_me.rb"
|
9
|
-
And an empty file named "features/step_definitions/fooz.rb"
|
10
|
-
And an empty file named "features/step_definitions/foof.rb"
|
11
|
-
And an empty file named "features/step_definitions/foot.rb"
|
12
|
-
And an empty file named "features/support/require_me.rb"
|
13
|
-
When I run `cucumber features -q --verbose --exclude features/support/dont --exclude foo[zf]`
|
14
|
-
Then "features/support/require_me.rb" should be required
|
15
|
-
And "features/step_definitions/foot.rb" should be required
|
16
|
-
And "features/support/dont_require_me.rb" should not be required
|
17
|
-
And "features/step_definitions/foof.rb" should not be required
|
18
|
-
And "features/step_definitions/fooz.rb" should not be required
|
@@ -1,117 +0,0 @@
|
|
1
|
-
Feature: Tag logic
|
2
|
-
In order to conveniently run subsets of features
|
3
|
-
As a Cuker
|
4
|
-
I want to select features using logical AND/OR of tags
|
5
|
-
|
6
|
-
Background:
|
7
|
-
Given a file named "features/test.feature" with:
|
8
|
-
"""
|
9
|
-
@feature
|
10
|
-
Feature: Sample
|
11
|
-
|
12
|
-
@one @three
|
13
|
-
Scenario: Example
|
14
|
-
Given passing
|
15
|
-
|
16
|
-
@one
|
17
|
-
Scenario: Another Example
|
18
|
-
Given passing
|
19
|
-
|
20
|
-
@three
|
21
|
-
Scenario: Yet another Example
|
22
|
-
Given passing
|
23
|
-
|
24
|
-
@ignore
|
25
|
-
Scenario: And yet another Example
|
26
|
-
"""
|
27
|
-
|
28
|
-
Scenario: ANDing tags
|
29
|
-
When I run `cucumber -q -t @one -t @three features/test.feature`
|
30
|
-
Then it should pass with:
|
31
|
-
"""
|
32
|
-
@feature
|
33
|
-
Feature: Sample
|
34
|
-
|
35
|
-
@one @three
|
36
|
-
Scenario: Example
|
37
|
-
Given passing
|
38
|
-
|
39
|
-
1 scenario (1 undefined)
|
40
|
-
1 step (1 undefined)
|
41
|
-
|
42
|
-
"""
|
43
|
-
|
44
|
-
Scenario: ORing tags
|
45
|
-
When I run `cucumber -q -t @one,@three features/test.feature`
|
46
|
-
Then it should pass with:
|
47
|
-
"""
|
48
|
-
@feature
|
49
|
-
Feature: Sample
|
50
|
-
|
51
|
-
@one @three
|
52
|
-
Scenario: Example
|
53
|
-
Given passing
|
54
|
-
|
55
|
-
@one
|
56
|
-
Scenario: Another Example
|
57
|
-
Given passing
|
58
|
-
|
59
|
-
@three
|
60
|
-
Scenario: Yet another Example
|
61
|
-
Given passing
|
62
|
-
|
63
|
-
3 scenarios (3 undefined)
|
64
|
-
3 steps (3 undefined)
|
65
|
-
|
66
|
-
"""
|
67
|
-
|
68
|
-
Scenario: Negative tags
|
69
|
-
When I run `cucumber -q -t ~@three features/test.feature`
|
70
|
-
Then it should pass with:
|
71
|
-
"""
|
72
|
-
@feature
|
73
|
-
Feature: Sample
|
74
|
-
|
75
|
-
@one
|
76
|
-
Scenario: Another Example
|
77
|
-
Given passing
|
78
|
-
|
79
|
-
@ignore
|
80
|
-
Scenario: And yet another Example
|
81
|
-
|
82
|
-
2 scenarios (1 undefined, 1 passed)
|
83
|
-
1 step (1 undefined)
|
84
|
-
"""
|
85
|
-
|
86
|
-
Scenario: Run with limited tag count, blowing it on scenario
|
87
|
-
When I run `cucumber -q --no-source --tags @one:1 features/test.feature`
|
88
|
-
Then it fails before running features with:
|
89
|
-
"""
|
90
|
-
@one occurred 2 times, but the limit was set to 1
|
91
|
-
features/test.feature:5
|
92
|
-
features/test.feature:9
|
93
|
-
"""
|
94
|
-
|
95
|
-
Scenario: Run with limited tag count, blowing it via feature inheritance
|
96
|
-
When I run `cucumber -q --no-source --tags @feature:1 features/test.feature`
|
97
|
-
Then it fails before running features with:
|
98
|
-
"""
|
99
|
-
@feature occurred 4 times, but the limit was set to 1
|
100
|
-
features/test.feature:5
|
101
|
-
features/test.feature:9
|
102
|
-
features/test.feature:13
|
103
|
-
features/test.feature:17
|
104
|
-
"""
|
105
|
-
|
106
|
-
Scenario: Run with limited tag count using negative tag, blowing it via a tag that is not run
|
107
|
-
When I run `cucumber -q --no-source --tags ~@one:1 features/test.feature`
|
108
|
-
Then it fails before running features with:
|
109
|
-
"""
|
110
|
-
@one occurred 2 times, but the limit was set to 1
|
111
|
-
"""
|
112
|
-
|
113
|
-
Scenario: Limiting with tags which do not exist in the features
|
114
|
-
Originally added to check [Lighthouse bug #464](https://rspec.lighthouseapp.com/projects/16211/tickets/464).
|
115
|
-
|
116
|
-
When I run `cucumber -q -t @i_dont_exist features/test.feature`
|
117
|
-
Then it should pass
|