cucumber 1.3.10 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.coveralls.yml +1 -0
- data/.rspec +1 -1
- data/.travis.yml +4 -3
- data/CONTRIBUTING.md +9 -0
- data/Gemfile +9 -2
- data/History.md +212 -22
- data/LICENSE +2 -2
- data/README.md +4 -4
- data/Rakefile +10 -1
- data/bin/cucumber +1 -5
- data/cucumber.gemspec +10 -13
- data/cucumber.yml +14 -24
- data/examples/{ramaze → i18n/el}/Rakefile +1 -1
- data/examples/i18n/el/features/addition.feature +17 -0
- data/examples/i18n/el/features/division.feature +10 -0
- data/examples/i18n/el/features/step_definitions/calculator_steps.rb +24 -0
- data/examples/i18n/el/lib/calculator.rb +14 -0
- data/examples/i18n/fr/Rakefile +3 -1
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +2 -2
- data/examples/i18n/ht/Rakefile +6 -0
- data/examples/i18n/ht/features/adisyon.feature +17 -0
- data/examples/i18n/ht/features/divizyon.feature +10 -0
- data/examples/i18n/ht/features/step_definitions/kalkilatris_steps.rb +25 -0
- data/examples/i18n/ht/lib/kalkilatris.rb +14 -0
- data/examples/i18n/zh-CN/features/{step_definitons → step_definitions}/calculator_steps.rb +4 -4
- data/examples/tcl/features/step_definitions/fib_steps.rb +1 -1
- data/{legacy_features → features/docs}/api/list_step_defs_as_json.feature +14 -14
- data/{legacy_features → features/docs}/api/run_cli_main_with_existing_runtime.feature +5 -10
- data/features/{backtraces.feature → docs/cli/backtraces.feature} +2 -2
- data/features/docs/cli/dry_run.feature +73 -0
- data/features/docs/cli/exclude_files.feature +18 -0
- data/features/docs/cli/execute_with_tag_filter.feature +117 -0
- data/features/docs/cli/randomize.feature +46 -0
- data/features/docs/cli/require.feature +27 -0
- data/features/docs/cli/run_scenarios_matching_name.feature +104 -0
- data/features/docs/cli/run_specific_scenarios.feature +75 -0
- data/features/docs/cli/showing_differences.feature +43 -0
- data/features/docs/cli/specifying_multiple_formatters.feature +44 -0
- data/features/docs/cli/strict_mode.feature +64 -0
- data/features/{nested_steps.feature → docs/defining_steps/nested_steps.feature} +52 -6
- data/features/{nested_steps_i18n.feature → docs/defining_steps/nested_steps_i18n.feature} +0 -2
- data/features/{step_definitions.feature → docs/defining_steps/one_line_step_definitions.feature} +3 -3
- data/features/docs/defining_steps/printing_messages.feature +148 -0
- data/features/docs/defining_steps/skip_scenario.feature +62 -0
- data/features/docs/defining_steps/snippets.feature +56 -0
- data/{legacy_features → features/docs/defining_steps}/table_diffing.feature +21 -16
- data/features/{transforms.feature → docs/defining_steps/transforms.feature} +2 -2
- data/{legacy_features/exception_in_after_block.feature → features/docs/exception_in_after_hook.feature} +25 -26
- data/{legacy_features/exception_in_after_step_block.feature → features/docs/exception_in_after_step_hook.feature} +22 -24
- data/features/docs/exception_in_around_hook.feature +80 -0
- data/{legacy_features/exception_in_before_block.feature → features/docs/exception_in_before_hook.feature} +18 -20
- data/features/docs/extending_cucumber/custom_filter.feature +29 -0
- data/features/docs/extending_cucumber/custom_formatter.feature +94 -0
- data/features/docs/formatters/debug_formatter.feature +47 -0
- data/features/{formatter_step_file_colon_line.feature → docs/formatters/formatter_step_file_colon_line.feature} +2 -4
- data/features/{html_formatter.feature → docs/formatters/html_formatter.feature} +10 -14
- data/features/docs/formatters/json_formatter.feature +760 -0
- data/features/docs/formatters/junit_formatter.feature +316 -0
- data/features/docs/formatters/pretty_formatter.feature +73 -0
- data/features/{progress_formatter.feature → docs/formatters/progress_formatter.feature} +1 -1
- data/features/docs/formatters/rerun_formatter.feature +136 -0
- data/features/docs/formatters/usage_formatter.feature +102 -0
- data/features/docs/getting_started.feature +27 -0
- data/features/{background.feature → docs/gherkin/background.feature} +149 -91
- data/features/{doc_strings.feature → docs/gherkin/doc_strings.feature} +1 -0
- data/features/docs/gherkin/expand_option_for_outlines.feature +46 -0
- data/features/docs/gherkin/language_from_header.feature +32 -0
- data/features/docs/gherkin/outlines.feature +158 -0
- data/features/docs/gherkin/unicode_table.feature +32 -0
- data/features/docs/gherkin/using_descriptions.feature +88 -0
- data/features/docs/gherkin/using_star_notation.feature +37 -0
- data/{legacy_features → features/docs}/post_configuration_hook.feature +17 -18
- data/{legacy_features → features/docs}/profiles.feature +30 -36
- data/{legacy_features → features/docs}/rake_task.feature +30 -41
- data/features/{raketask.feature → docs/raketask.feature} +6 -13
- data/{legacy_features/wire_protocol_erb.feature → features/docs/wire_protocol/erb_configuration.feature} +7 -8
- data/features/docs/wire_protocol/handle_unexpected_response.feature +30 -0
- data/features/docs/wire_protocol/invoke_message.feature +216 -0
- data/features/docs/wire_protocol/readme.md +26 -0
- data/features/docs/wire_protocol/snippets_message.feature +51 -0
- data/features/docs/wire_protocol/step_matches_message.feature +81 -0
- data/{legacy_features/wire_protocol_table_diffing.feature → features/docs/wire_protocol/table_diffing.feature} +19 -12
- data/{legacy_features/wire_protocol_tags.feature → features/docs/wire_protocol/tags.feature} +7 -7
- data/{legacy_features/wire_protocol_timeouts.feature → features/docs/wire_protocol/timeouts.feature} +7 -6
- data/{legacy_features → features/docs}/work_in_progress.feature +52 -54
- data/features/docs/writing_support_code/after_hooks.feature +80 -0
- data/{legacy_features → features/docs/writing_support_code}/around_hooks.feature +56 -28
- data/features/docs/writing_support_code/before_hook.feature +65 -0
- data/features/docs/writing_support_code/hook_order.feature +61 -0
- data/features/{load_path.feature → docs/writing_support_code/load_path.feature} +3 -0
- data/features/docs/writing_support_code/state.feature +32 -0
- data/features/docs/writing_support_code/tagged_hooks.feature +95 -0
- data/features/lib/step_definitions/aruba_steps.rb +22 -0
- data/features/lib/step_definitions/cucumber_steps.rb +50 -0
- data/features/{step_definitions → lib/step_definitions}/iso-8859-1_steps.rb +3 -15
- data/features/lib/step_definitions/json_steps.rb +7 -0
- data/features/lib/step_definitions/junit_steps.rb +13 -0
- data/features/lib/step_definitions/language_steps.rb +4 -5
- data/features/lib/step_definitions/profile_steps.rb +15 -0
- data/features/lib/step_definitions/ruby_steps.rb +3 -0
- data/features/lib/step_definitions/wire_steps.rb +58 -0
- data/features/lib/support/env.rb +21 -0
- data/{legacy_features → features/lib}/support/fake_wire_server.rb +10 -7
- data/features/{support → lib/support}/feature_factory.rb +1 -1
- data/features/lib/support/normalise_output.rb +33 -0
- data/gem_tasks/cov.rake +5 -0
- data/gem_tasks/cucumber.rake +3 -8
- data/gem_tasks/rspec.rake +0 -2
- data/lib/cucumber/ast.rb +8 -25
- data/lib/cucumber/cli/configuration.rb +33 -37
- data/lib/cucumber/cli/main.rb +14 -27
- data/lib/cucumber/cli/options.rb +22 -60
- data/lib/cucumber/cli/profile_loader.rb +1 -1
- data/lib/cucumber/configuration.rb +4 -0
- data/lib/cucumber/constantize.rb +7 -6
- data/lib/cucumber/core_ext/instance_exec.rb +7 -38
- data/lib/cucumber/core_ext/proc.rb +1 -1
- data/lib/cucumber/encoding.rb +5 -0
- data/lib/cucumber/errors.rb +21 -10
- data/lib/cucumber/file_specs.rb +37 -0
- data/lib/cucumber/filters/activate_steps.rb +33 -0
- data/lib/cucumber/filters/apply_after_hooks.rb +9 -0
- data/lib/cucumber/filters/apply_after_step_hooks.rb +12 -0
- data/lib/cucumber/filters/apply_around_hooks.rb +12 -0
- data/lib/cucumber/filters/apply_before_hooks.rb +9 -0
- data/lib/cucumber/filters/gated_receiver.rb +25 -0
- data/lib/cucumber/filters/prepare_world.rb +45 -0
- data/lib/cucumber/filters/quit.rb +28 -0
- data/lib/cucumber/filters/randomizer.rb +40 -0
- data/lib/cucumber/filters/tag_limits/test_case_index.rb +31 -0
- data/lib/cucumber/filters/tag_limits/verifier.rb +59 -0
- data/lib/cucumber/filters/tag_limits.rb +45 -0
- data/lib/cucumber/filters.rb +9 -0
- data/lib/cucumber/formatter/ansicolor.rb +0 -8
- data/lib/cucumber/formatter/console.rb +66 -36
- data/lib/cucumber/formatter/debug.rb +10 -8
- data/lib/cucumber/formatter/fanout.rb +27 -0
- data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +122 -12
- data/lib/cucumber/formatter/html.rb +67 -18
- data/lib/cucumber/formatter/ignore_missing_messages.rb +20 -0
- data/lib/cucumber/formatter/interceptor.rb +17 -3
- data/lib/cucumber/formatter/json.rb +1 -1
- data/lib/cucumber/formatter/junit.rb +105 -5
- data/lib/cucumber/formatter/legacy_api/adapter.rb +1060 -0
- data/lib/cucumber/formatter/legacy_api/ast.rb +376 -0
- data/lib/cucumber/formatter/legacy_api/results.rb +51 -0
- data/lib/cucumber/formatter/legacy_api/runtime_facade.rb +30 -0
- data/lib/cucumber/formatter/pretty.rb +16 -8
- data/lib/cucumber/formatter/progress.rb +10 -0
- data/lib/cucumber/formatter/rerun.rb +14 -71
- data/lib/cucumber/formatter/unicode.rb +8 -21
- data/lib/cucumber/formatter/usage.rb +7 -1
- data/lib/cucumber/hooks.rb +97 -0
- data/lib/cucumber/language_support/language_methods.rb +0 -54
- data/lib/cucumber/{ast/table.rb → multiline_argument/data_table.rb} +77 -84
- data/lib/cucumber/multiline_argument/doc_string.rb +10 -0
- data/lib/cucumber/multiline_argument.rb +74 -0
- data/lib/cucumber/platform.rb +21 -20
- data/lib/cucumber/project_initializer.rb +43 -0
- data/lib/cucumber/rake/task.rb +3 -54
- data/lib/cucumber/rb_support/rb_hook.rb +2 -2
- data/lib/cucumber/rb_support/rb_language.rb +4 -34
- data/lib/cucumber/rb_support/rb_step_definition.rb +11 -2
- data/lib/cucumber/rb_support/rb_transform.rb +3 -1
- data/lib/cucumber/rb_support/rb_world.rb +13 -20
- data/lib/cucumber/rb_support/snippet.rb +61 -20
- data/lib/cucumber/rspec/doubles.rb +9 -6
- data/lib/cucumber/running_test_case.rb +115 -0
- data/lib/cucumber/runtime/after_hooks.rb +24 -0
- data/lib/cucumber/runtime/before_hooks.rb +23 -0
- data/lib/cucumber/runtime/for_programming_languages.rb +14 -10
- data/lib/cucumber/runtime/step_hooks.rb +22 -0
- data/lib/cucumber/runtime/support_code.rb +78 -21
- data/lib/cucumber/runtime/user_interface.rb +4 -0
- data/lib/cucumber/runtime.rb +153 -98
- data/lib/cucumber/step_match.rb +27 -3
- data/lib/cucumber/term/ansicolor.rb +1 -9
- data/lib/cucumber/wire_support/wire_language.rb +23 -9
- data/lib/cucumber/wire_support/wire_packet.rb +1 -1
- data/lib/cucumber/wire_support/wire_protocol/requests.rb +13 -5
- data/lib/cucumber/wire_support/wire_step_definition.rb +1 -8
- data/lib/cucumber.rb +8 -6
- data/spec/cucumber/cli/configuration_spec.rb +165 -134
- data/spec/cucumber/cli/main_spec.rb +36 -99
- data/spec/cucumber/cli/options_spec.rb +238 -272
- data/spec/cucumber/cli/profile_loader_spec.rb +18 -7
- data/spec/cucumber/configuration_spec.rb +3 -3
- data/spec/cucumber/constantize_spec.rb +2 -1
- data/spec/cucumber/core_ext/instance_exec_spec.rb +4 -0
- data/spec/cucumber/core_ext/proc_spec.rb +32 -43
- data/spec/cucumber/file_specs_spec.rb +60 -0
- data/spec/cucumber/filters/activate_steps_spec.rb +57 -0
- data/spec/cucumber/filters/gated_receiver_spec.rb +47 -0
- data/spec/cucumber/filters/tag_limits/test_case_index_spec.rb +38 -0
- data/spec/cucumber/filters/tag_limits/verifier_spec.rb +57 -0
- data/spec/cucumber/filters/tag_limits_spec.rb +59 -0
- data/spec/cucumber/formatter/ansicolor_spec.rb +11 -10
- data/spec/cucumber/formatter/debug_spec.rb +64 -0
- data/spec/cucumber/formatter/duration_spec.rb +6 -6
- data/spec/cucumber/formatter/html_spec.rb +233 -39
- data/spec/cucumber/formatter/interceptor_spec.rb +38 -31
- data/spec/cucumber/formatter/junit_spec.rb +213 -151
- data/spec/cucumber/formatter/legacy_api/adapter_spec.rb +2090 -0
- data/spec/cucumber/formatter/pretty_spec.rb +481 -49
- data/spec/cucumber/formatter/progress_spec.rb +63 -16
- data/spec/cucumber/formatter/rerun_spec.rb +107 -0
- data/spec/cucumber/formatter/spec_helper.rb +32 -17
- data/spec/cucumber/hooks_spec.rb +30 -0
- data/spec/cucumber/{ast/table_spec.rb → multiline_argument/data_table_spec.rb} +128 -208
- data/spec/cucumber/project_initializer_spec.rb +87 -0
- data/spec/cucumber/rake/forked_spec.rb +13 -22
- data/spec/cucumber/rb_support/rb_language_spec.rb +78 -69
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +90 -44
- data/spec/cucumber/rb_support/rb_transform_spec.rb +24 -3
- data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +6 -4
- data/spec/cucumber/rb_support/snippet_spec.rb +47 -38
- data/spec/cucumber/running_test_case_spec.rb +83 -0
- data/spec/cucumber/runtime/for_programming_languages_spec.rb +18 -13
- data/spec/cucumber/runtime/support_code_spec.rb +29 -29
- data/spec/cucumber/runtime_spec.rb +35 -34
- data/spec/cucumber/step_match_spec.rb +30 -20
- data/spec/cucumber/wire_support/configuration_spec.rb +8 -5
- data/spec/cucumber/wire_support/connection_spec.rb +12 -8
- data/spec/cucumber/wire_support/wire_exception_spec.rb +14 -8
- data/spec/cucumber/wire_support/wire_language_spec.rb +8 -9
- data/spec/cucumber/wire_support/wire_packet_spec.rb +17 -13
- data/spec/cucumber/world/pending_spec.rb +36 -36
- data/spec/simplecov_setup.rb +18 -0
- data/spec/spec_helper.rb +6 -13
- metadata +348 -350
- data/.gitattributes +0 -1
- data/.ruby-version +0 -1
- data/examples/python/README.textile +0 -8
- data/examples/python/Rakefile +0 -4
- data/examples/python/features/fibonacci.feature +0 -19
- data/examples/python/features/step_definitions/fib_steps.py +0 -11
- data/examples/python/lib/fib.py +0 -7
- data/examples/ramaze/README.textile +0 -7
- data/examples/ramaze/app.rb +0 -21
- data/examples/ramaze/features/add.feature +0 -11
- data/examples/ramaze/features/step_definitions/add_steps.rb +0 -15
- data/examples/ramaze/features/support/env.rb +0 -32
- data/examples/ramaze/layout/default.html.erb +0 -8
- data/examples/ramaze/view/index.html.erb +0 -5
- data/examples/ruby2python/README.textile +0 -8
- data/examples/ruby2python/Rakefile +0 -4
- data/examples/ruby2python/features/fibonacci.feature +0 -19
- data/examples/ruby2python/features/step_definitions/fib_steps.rb +0 -7
- data/examples/ruby2python/features/support/env.rb +0 -21
- data/examples/ruby2python/lib/fib.py +0 -7
- data/examples/v8/Rakefile +0 -6
- data/examples/v8/features/fibonacci.feature +0 -43
- data/examples/v8/features/step_definitions/fib_steps.js +0 -49
- data/examples/v8/features/support/env.js +0 -14
- data/examples/v8/lib/fibonacci.js +0 -19
- data/features/.cucumber/stepdefs.json +0 -627
- data/features/assertions.feature +0 -73
- data/features/autoformat_profile_output.feature +0 -23
- data/features/before_hook.feature +0 -43
- data/features/bootstrap.feature +0 -27
- data/features/custom_formatter.feature +0 -41
- data/features/drb_server_integration.feature +0 -63
- data/features/execute_with_tag_filter.feature +0 -63
- data/features/formatter_callbacks.feature +0 -189
- data/features/json_formatter.feature +0 -338
- data/features/parsing.feature +0 -18
- data/features/pretty_formatter.feature +0 -31
- data/features/rerun_formatter.feature +0 -35
- data/features/run_specific_scenarios.feature +0 -47
- data/features/stats_formatters.feature +0 -73
- data/features/step_definitions/cucumber-features/cucumber_ruby_mappings.rb +0 -197
- data/features/step_definitions/cucumber_steps.rb +0 -55
- data/features/step_definitions/drb_steps.rb +0 -3
- data/features/support/env.rb +0 -57
- data/features/tagged_hooks.feature +0 -59
- data/fixtures/json/features/background.feature +0 -7
- data/fixtures/json/features/embed.feature +0 -4
- data/fixtures/json/features/one_passing_one_failing.feature +0 -11
- data/fixtures/json/features/step_definitions/steps.rb +0 -32
- data/fixtures/json/features/tables.feature +0 -13
- data/fixtures/junit/features/one_passing_one_failing.feature +0 -8
- data/fixtures/junit/features/pending.feature +0 -7
- data/fixtures/junit/features/scenario_outline.feature +0 -9
- data/fixtures/junit/features/some_subdirectory/one_passing_one_failing.feature +0 -8
- data/fixtures/junit/features/step_definitions/steps.rb +0 -11
- data/fixtures/self_test/README.textile +0 -6
- data/fixtures/self_test/Rakefile +0 -6
- data/fixtures/self_test/features/call_undefined_step_from_step_def.feature +0 -7
- data/fixtures/self_test/features/failing_expectation.feature +0 -4
- data/fixtures/self_test/features/lots_of_undefined.feature +0 -8
- data/fixtures/self_test/features/multiline_name.feature +0 -27
- data/fixtures/self_test/features/outline_sample.feature +0 -15
- data/fixtures/self_test/features/sample.feature +0 -21
- data/fixtures/self_test/features/search_sample.feature +0 -32
- data/fixtures/self_test/features/step_definitions/sample_steps.rb +0 -84
- data/fixtures/self_test/features/support/bubble_256x256.png +0 -0
- data/fixtures/self_test/features/support/env.rb +0 -26
- data/fixtures/self_test/features/tags_sample.feature +0 -17
- data/fixtures/self_test/features/tons_of_cukes.feature +0 -52
- data/fixtures/self_test/features/undefined_multiline_args.feature +0 -12
- data/fixtures/self_test/list-of-features.txt +0 -1
- data/fixtures/steps_library/features/step_definitions/steps_lib1.rb +0 -8
- data/fixtures/steps_library/features/step_definitions/steps_lib2.rb +0 -8
- data/fixtures/tickets/Rakefile +0 -20
- data/fixtures/tickets/features/172.feature +0 -28
- data/fixtures/tickets/features/177/1.feature +0 -28
- data/fixtures/tickets/features/177/2.feature +0 -20
- data/fixtures/tickets/features/177/3.feature +0 -18
- data/fixtures/tickets/features/180.feature +0 -7
- data/fixtures/tickets/features/229/tagged_hooks.feature +0 -8
- data/fixtures/tickets/features/229/tagged_hooks.rb +0 -14
- data/fixtures/tickets/features/236.feature +0 -13
- data/fixtures/tickets/features/241.feature +0 -12
- data/fixtures/tickets/features/246.feature +0 -4
- data/fixtures/tickets/features/248.feature +0 -11
- data/fixtures/tickets/features/270/back.feature +0 -14
- data/fixtures/tickets/features/270/back.steps.rb +0 -14
- data/fixtures/tickets/features/272/hooks.feature +0 -26
- data/fixtures/tickets/features/272/hooks_steps.rb +0 -53
- data/fixtures/tickets/features/279/py_string_indent.feature +0 -25
- data/fixtures/tickets/features/279/py_string_indent.steps.rb +0 -12
- data/fixtures/tickets/features/279/wrong.feature_ +0 -11
- data/fixtures/tickets/features/301/filter_background_tagged_hooks.feature +0 -6
- data/fixtures/tickets/features/301/filter_background_tagged_hooks_steps.rb +0 -12
- data/fixtures/tickets/features/306/only_background.feature +0 -4
- data/fixtures/tickets/features/around_timeout.feature +0 -6
- data/fixtures/tickets/features/gherkin_67.feature +0 -12
- data/fixtures/tickets/features/gherkin_68.feature +0 -4
- data/fixtures/tickets/features/half_manual.feature +0 -11
- data/fixtures/tickets/features/lib/eatting_machine.rb +0 -18
- data/fixtures/tickets/features/lib/pantry.rb +0 -20
- data/fixtures/tickets/features/scenario_outline.feature +0 -95
- data/fixtures/tickets/features/step_definitons/246_steps.rb +0 -3
- data/fixtures/tickets/features/step_definitons/248_steps.rb +0 -15
- data/fixtures/tickets/features/step_definitons/around_timeout_steps.rb +0 -9
- data/fixtures/tickets/features/step_definitons/half_manual_steps.rb +0 -11
- data/fixtures/tickets/features/step_definitons/scenario_outline_steps.rb +0 -42
- data/fixtures/tickets/features/step_definitons/tickets_steps.rb +0 -88
- data/fixtures/tickets/features/table_diffing.feature +0 -13
- data/fixtures/tickets/features/tickets.feature +0 -28
- data/fixtures/tickets/features.html +0 -138
- data/gem_tasks/yard/default/layout/html/bubble_32x32.png +0 -0
- data/gem_tasks/yard/default/layout/html/footer.erb +0 -5
- data/gem_tasks/yard/default/layout/html/index.erb +0 -1
- data/gem_tasks/yard/default/layout/html/layout.erb +0 -25
- data/gem_tasks/yard/default/layout/html/logo.erb +0 -1
- data/gem_tasks/yard/default/layout/html/setup.rb +0 -4
- data/gem_tasks/yard.rake +0 -40
- data/legacy_features/README.md +0 -14
- data/legacy_features/announce.feature +0 -152
- data/legacy_features/bug_371.feature +0 -32
- data/legacy_features/bug_464.feature +0 -16
- data/legacy_features/bug_475.feature +0 -42
- data/legacy_features/bug_585_tab_indentation.feature +0 -22
- data/legacy_features/bug_600.feature +0 -73
- data/legacy_features/cucumber_cli.feature +0 -584
- data/legacy_features/cucumber_cli_outlines.feature +0 -117
- data/legacy_features/default_snippets.feature +0 -43
- data/legacy_features/diffing.feature +0 -25
- data/legacy_features/drb_server_integration.feature +0 -174
- data/legacy_features/exclude_files.feature +0 -20
- data/legacy_features/expand.feature +0 -60
- data/legacy_features/junit_formatter.feature +0 -214
- data/legacy_features/language_from_header.feature +0 -30
- data/legacy_features/listener_debugger_formatter.feature +0 -42
- data/legacy_features/multiline_names.feature +0 -44
- data/legacy_features/report_called_undefined_steps.feature +0 -35
- data/legacy_features/rerun_formatter.feature +0 -52
- data/legacy_features/simplest.feature +0 -11
- data/legacy_features/snippet.feature +0 -23
- data/legacy_features/snippets_when_using_star_keyword.feature +0 -38
- data/legacy_features/step_definitions/cucumber_steps.rb +0 -179
- data/legacy_features/step_definitions/extra_steps.rb +0 -2
- data/legacy_features/step_definitions/simplest_steps.rb +0 -3
- data/legacy_features/step_definitions/wire_steps.rb +0 -34
- data/legacy_features/support/env.rb +0 -161
- data/legacy_features/support/env.rb.simplest +0 -7
- data/legacy_features/table_mapping.feature +0 -34
- data/legacy_features/transform.feature +0 -245
- data/legacy_features/unicode_table.feature +0 -35
- data/legacy_features/wire_protocol.feature +0 -332
- data/lib/README.rdoc +0 -12
- data/lib/cucumber/ast/background.rb +0 -116
- data/lib/cucumber/ast/comment.rb +0 -31
- data/lib/cucumber/ast/doc_string.rb +0 -61
- data/lib/cucumber/ast/empty_background.rb +0 -33
- data/lib/cucumber/ast/examples.rb +0 -49
- data/lib/cucumber/ast/feature.rb +0 -99
- data/lib/cucumber/ast/features.rb +0 -38
- data/lib/cucumber/ast/has_steps.rb +0 -74
- data/lib/cucumber/ast/location.rb +0 -41
- data/lib/cucumber/ast/multiline_argument.rb +0 -30
- data/lib/cucumber/ast/names.rb +0 -13
- data/lib/cucumber/ast/outline_table.rb +0 -194
- data/lib/cucumber/ast/scenario.rb +0 -103
- data/lib/cucumber/ast/scenario_outline.rb +0 -146
- data/lib/cucumber/ast/step.rb +0 -122
- data/lib/cucumber/ast/step_collection.rb +0 -92
- data/lib/cucumber/ast/step_invocation.rb +0 -196
- data/lib/cucumber/ast/tags.rb +0 -28
- data/lib/cucumber/ast/tree_walker.rb +0 -191
- data/lib/cucumber/ast/visitor.rb +0 -11
- data/lib/cucumber/broadcaster.rb +0 -13
- data/lib/cucumber/cli/drb_client.rb +0 -43
- data/lib/cucumber/feature_file.rb +0 -94
- data/lib/cucumber/formatter/ordered_xml_markup.rb +0 -24
- data/lib/cucumber/js_support/js_dsl.js +0 -57
- data/lib/cucumber/js_support/js_language.rb +0 -185
- data/lib/cucumber/js_support/js_snippets.rb +0 -27
- data/lib/cucumber/parser/gherkin_builder.rb +0 -284
- data/lib/cucumber/parser.rb +0 -2
- data/lib/cucumber/py_support/py_dsl.py +0 -10
- data/lib/cucumber/py_support/py_language.py +0 -10
- data/lib/cucumber/py_support/py_language.rb +0 -80
- data/lib/cucumber/runtime/features_loader.rb +0 -62
- data/lib/cucumber/runtime/results.rb +0 -64
- data/lib/cucumber/step_mother.rb +0 -10
- data/spec/cucumber/ast/background_spec.rb +0 -122
- data/spec/cucumber/ast/doc_string_spec.rb +0 -40
- data/spec/cucumber/ast/feature_factory.rb +0 -72
- data/spec/cucumber/ast/feature_spec.rb +0 -63
- data/spec/cucumber/ast/features_spec.rb +0 -51
- data/spec/cucumber/ast/outline_table_spec.rb +0 -21
- data/spec/cucumber/ast/scenario_outline_spec.rb +0 -74
- data/spec/cucumber/ast/step_spec.rb +0 -68
- data/spec/cucumber/ast/tree_walker_spec.rb +0 -19
- data/spec/cucumber/broadcaster_spec.rb +0 -15
- data/spec/cucumber/cli/drb_client_spec.rb +0 -76
- data/spec/cucumber/rake/rcov_spec.rb +0 -71
- data/spec/cucumber/runtime/results_spec.rb +0 -81
- data/spec/cucumber/wire_support/wire_step_definition_spec.rb +0 -20
- /data/examples/i18n/ar/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/bg/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/ca/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/cs/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/da/features/{step_definitons → step_definitions}/lommeregner_steps.rb +0 -0
- /data/examples/i18n/de/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/en/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/eo/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/es/features/{step_definitons → step_definitions}/calculador_steps.rb +0 -0
- /data/examples/i18n/fi/features/{step_definitons → step_definitions}/laskin_steps.rb +0 -0
- /data/examples/i18n/he/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/hi/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/hu/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/id/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/it/features/{step_definitons → step_definitions}/calcolatrice_steps.rb +0 -0
- /data/examples/i18n/ja/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/ko/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/lt/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/lv/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/no/features/{step_definitons → step_definitions}/kalkulator_steps.rb +0 -0
- /data/examples/i18n/pl/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/ro/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/ru/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/sk/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/sr-Cyrl/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/sr-Latn/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/sv/features/{step_definitons → step_definitions}/kalkulator_steps.rb +0 -0
- /data/examples/i18n/tr/features/{step_definitons → step_definitions}/hesap_makinesi_adimlari.rb +0 -0
- /data/examples/i18n/uk/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/uz/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/examples/i18n/zh-TW/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- /data/features/{nested_steps_with_second_arg.feature → docs/defining_steps/nested_steps_with_second_arg.feature} +0 -0
- /data/features/{iso-8859-1.feature → docs/iso-8859-1.feature} +0 -0
|
@@ -1,584 +0,0 @@
|
|
|
1
|
-
Feature: Cucumber command line
|
|
2
|
-
In order to write better software
|
|
3
|
-
Developers should be able to execute requirements as tests
|
|
4
|
-
|
|
5
|
-
Scenario: Run single scenario with missing step definition
|
|
6
|
-
When I run cucumber -q features/sample.feature:5
|
|
7
|
-
Then it should pass with
|
|
8
|
-
"""
|
|
9
|
-
# Feature comment
|
|
10
|
-
@one
|
|
11
|
-
Feature: Sample
|
|
12
|
-
|
|
13
|
-
@two @three
|
|
14
|
-
Scenario: Missing
|
|
15
|
-
Given missing
|
|
16
|
-
|
|
17
|
-
1 scenario (1 undefined)
|
|
18
|
-
1 step (1 undefined)
|
|
19
|
-
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
Scenario: Fail with --strict
|
|
23
|
-
When I run cucumber -q features/sample.feature:5 --strict
|
|
24
|
-
Then it should fail with
|
|
25
|
-
"""
|
|
26
|
-
# Feature comment
|
|
27
|
-
@one
|
|
28
|
-
Feature: Sample
|
|
29
|
-
|
|
30
|
-
@two @three
|
|
31
|
-
Scenario: Missing
|
|
32
|
-
Given missing
|
|
33
|
-
Undefined step: "missing" (Cucumber::Undefined)
|
|
34
|
-
features/sample.feature:7:in `Given missing'
|
|
35
|
-
|
|
36
|
-
1 scenario (1 undefined)
|
|
37
|
-
1 step (1 undefined)
|
|
38
|
-
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
Scenario: Succeed with --strict
|
|
42
|
-
When I run cucumber -q features/sample.feature:10 --strict
|
|
43
|
-
Then it should pass with
|
|
44
|
-
"""
|
|
45
|
-
# Feature comment
|
|
46
|
-
@one
|
|
47
|
-
Feature: Sample
|
|
48
|
-
|
|
49
|
-
# Scenario comment
|
|
50
|
-
@three
|
|
51
|
-
Scenario: Passing
|
|
52
|
-
Given passing
|
|
53
|
-
| a | b |
|
|
54
|
-
| c | d |
|
|
55
|
-
|
|
56
|
-
1 scenario (1 passed)
|
|
57
|
-
1 step (1 passed)
|
|
58
|
-
|
|
59
|
-
"""
|
|
60
|
-
|
|
61
|
-
Scenario: Specify 2 line numbers where one is a tag
|
|
62
|
-
When I run cucumber -q features/sample.feature:5:16
|
|
63
|
-
Then it should fail with
|
|
64
|
-
"""
|
|
65
|
-
# Feature comment
|
|
66
|
-
@one
|
|
67
|
-
Feature: Sample
|
|
68
|
-
|
|
69
|
-
@two @three
|
|
70
|
-
Scenario: Missing
|
|
71
|
-
Given missing
|
|
72
|
-
|
|
73
|
-
@four
|
|
74
|
-
Scenario: Failing
|
|
75
|
-
Given failing
|
|
76
|
-
\"\"\"
|
|
77
|
-
hello
|
|
78
|
-
\"\"\"
|
|
79
|
-
FAIL (RuntimeError)
|
|
80
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
81
|
-
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
|
82
|
-
features/sample.feature:18:in `Given failing'
|
|
83
|
-
|
|
84
|
-
Failing Scenarios:
|
|
85
|
-
cucumber features/sample.feature:17
|
|
86
|
-
|
|
87
|
-
2 scenarios (1 failed, 1 undefined)
|
|
88
|
-
2 steps (1 failed, 1 undefined)
|
|
89
|
-
|
|
90
|
-
"""
|
|
91
|
-
|
|
92
|
-
Scenario: Require missing step definition from elsewhere
|
|
93
|
-
When I run cucumber -q -r ../../legacy_features/step_definitions/extra_steps.rb features/sample.feature:5
|
|
94
|
-
Then it should pass with
|
|
95
|
-
"""
|
|
96
|
-
# Feature comment
|
|
97
|
-
@one
|
|
98
|
-
Feature: Sample
|
|
99
|
-
|
|
100
|
-
@two @three
|
|
101
|
-
Scenario: Missing
|
|
102
|
-
Given missing
|
|
103
|
-
|
|
104
|
-
1 scenario (1 passed)
|
|
105
|
-
1 step (1 passed)
|
|
106
|
-
|
|
107
|
-
"""
|
|
108
|
-
|
|
109
|
-
Scenario: Specify the line number of a row
|
|
110
|
-
When I run cucumber -q features/sample.feature:12
|
|
111
|
-
Then it should pass with
|
|
112
|
-
"""
|
|
113
|
-
# Feature comment
|
|
114
|
-
@one
|
|
115
|
-
Feature: Sample
|
|
116
|
-
|
|
117
|
-
# Scenario comment
|
|
118
|
-
@three
|
|
119
|
-
Scenario: Passing
|
|
120
|
-
Given passing
|
|
121
|
-
| a | b |
|
|
122
|
-
| c | d |
|
|
123
|
-
|
|
124
|
-
1 scenario (1 passed)
|
|
125
|
-
1 step (1 passed)
|
|
126
|
-
|
|
127
|
-
"""
|
|
128
|
-
|
|
129
|
-
Scenario: Use @-notation to specify a file containing feature file list
|
|
130
|
-
When I run cucumber -q @list-of-features.txt
|
|
131
|
-
Then it should pass with
|
|
132
|
-
"""
|
|
133
|
-
# Feature comment
|
|
134
|
-
@one
|
|
135
|
-
Feature: Sample
|
|
136
|
-
|
|
137
|
-
# Scenario comment
|
|
138
|
-
@three
|
|
139
|
-
Scenario: Passing
|
|
140
|
-
Given passing
|
|
141
|
-
| a | b |
|
|
142
|
-
| c | d |
|
|
143
|
-
|
|
144
|
-
1 scenario (1 passed)
|
|
145
|
-
1 step (1 passed)
|
|
146
|
-
|
|
147
|
-
"""
|
|
148
|
-
|
|
149
|
-
Scenario: Run all with progress formatter
|
|
150
|
-
When I run cucumber -q --format progress features/sample.feature
|
|
151
|
-
Then it should fail with
|
|
152
|
-
"""
|
|
153
|
-
U.F
|
|
154
|
-
|
|
155
|
-
(::) failed steps (::)
|
|
156
|
-
|
|
157
|
-
FAIL (RuntimeError)
|
|
158
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
159
|
-
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
|
160
|
-
features/sample.feature:18:in `Given failing'
|
|
161
|
-
|
|
162
|
-
Failing Scenarios:
|
|
163
|
-
cucumber features/sample.feature:17
|
|
164
|
-
|
|
165
|
-
3 scenarios (1 failed, 1 undefined, 1 passed)
|
|
166
|
-
3 steps (1 failed, 1 undefined, 1 passed)
|
|
167
|
-
|
|
168
|
-
"""
|
|
169
|
-
|
|
170
|
-
Scenario: --dry-run
|
|
171
|
-
When I run cucumber --dry-run --no-source features/*.feature --tags ~@lots
|
|
172
|
-
Then it should pass with
|
|
173
|
-
"""
|
|
174
|
-
Feature: Calling undefined step
|
|
175
|
-
|
|
176
|
-
Scenario: Call directly
|
|
177
|
-
Given a step definition that calls an undefined step
|
|
178
|
-
|
|
179
|
-
Scenario: Call via another
|
|
180
|
-
Given call step "a step definition that calls an undefined step"
|
|
181
|
-
|
|
182
|
-
Feature: Failing expectation
|
|
183
|
-
|
|
184
|
-
Scenario: Failing expectation
|
|
185
|
-
Given failing expectation
|
|
186
|
-
|
|
187
|
-
Feature: Lots of undefined
|
|
188
|
-
|
|
189
|
-
Scenario: Implement me
|
|
190
|
-
Given it snows in Sahara
|
|
191
|
-
Given it's 40 degrees in Norway
|
|
192
|
-
And it's 40 degrees in Norway
|
|
193
|
-
When I stop procrastinating
|
|
194
|
-
And there is world peace
|
|
195
|
-
|
|
196
|
-
Feature: multiline
|
|
197
|
-
|
|
198
|
-
Background: I'm a multiline name
|
|
199
|
-
which goes on and on and on for three lines
|
|
200
|
-
yawn
|
|
201
|
-
Given passing without a table
|
|
202
|
-
|
|
203
|
-
Scenario: I'm a multiline name
|
|
204
|
-
which goes on and on and on for three lines
|
|
205
|
-
yawn
|
|
206
|
-
Given passing without a table
|
|
207
|
-
|
|
208
|
-
Scenario Outline: I'm a multiline name
|
|
209
|
-
which goes on and on and on for three lines
|
|
210
|
-
yawn
|
|
211
|
-
Given <state> without a table
|
|
212
|
-
|
|
213
|
-
Examples:
|
|
214
|
-
| state |
|
|
215
|
-
| passing |
|
|
216
|
-
|
|
217
|
-
Scenario Outline: name
|
|
218
|
-
Given <state> without a table
|
|
219
|
-
|
|
220
|
-
Examples: I'm a multiline name
|
|
221
|
-
which goes on and on and on for three lines
|
|
222
|
-
yawn
|
|
223
|
-
| state |
|
|
224
|
-
| passing |
|
|
225
|
-
|
|
226
|
-
Feature: Outline Sample
|
|
227
|
-
|
|
228
|
-
Scenario: I have no steps
|
|
229
|
-
|
|
230
|
-
Scenario Outline: Test state
|
|
231
|
-
Given <state> without a table
|
|
232
|
-
Given <other_state> without a table
|
|
233
|
-
|
|
234
|
-
Examples: Rainbow colours
|
|
235
|
-
| state | other_state |
|
|
236
|
-
| missing | passing |
|
|
237
|
-
| passing | passing |
|
|
238
|
-
| failing | passing |
|
|
239
|
-
|
|
240
|
-
Examples: Only passing
|
|
241
|
-
| state | other_state |
|
|
242
|
-
| passing | passing |
|
|
243
|
-
|
|
244
|
-
# Feature comment
|
|
245
|
-
@one
|
|
246
|
-
Feature: Sample
|
|
247
|
-
|
|
248
|
-
@two @three
|
|
249
|
-
Scenario: Missing
|
|
250
|
-
Given missing
|
|
251
|
-
|
|
252
|
-
# Scenario comment
|
|
253
|
-
@three
|
|
254
|
-
Scenario: Passing
|
|
255
|
-
Given passing
|
|
256
|
-
| a | b |
|
|
257
|
-
| c | d |
|
|
258
|
-
|
|
259
|
-
@four
|
|
260
|
-
Scenario: Failing
|
|
261
|
-
Given failing
|
|
262
|
-
\"\"\"
|
|
263
|
-
hello
|
|
264
|
-
\"\"\"
|
|
265
|
-
|
|
266
|
-
Feature: search examples
|
|
267
|
-
|
|
268
|
-
Background: Hantu Pisang background match
|
|
269
|
-
Given passing without a table
|
|
270
|
-
|
|
271
|
-
Scenario: should match Hantu Pisang
|
|
272
|
-
Given passing without a table
|
|
273
|
-
|
|
274
|
-
Scenario: Ignore me
|
|
275
|
-
Given failing without a table
|
|
276
|
-
|
|
277
|
-
Scenario Outline: Ignore me
|
|
278
|
-
Given <state> without a table
|
|
279
|
-
|
|
280
|
-
Examples:
|
|
281
|
-
| state |
|
|
282
|
-
| failing |
|
|
283
|
-
|
|
284
|
-
Scenario Outline: Hantu Pisang match
|
|
285
|
-
Given <state> without a table
|
|
286
|
-
|
|
287
|
-
Examples:
|
|
288
|
-
| state |
|
|
289
|
-
| passing |
|
|
290
|
-
|
|
291
|
-
Scenario Outline: no match in name but in examples
|
|
292
|
-
Given <state> without a table
|
|
293
|
-
|
|
294
|
-
Examples: Hantu Pisang
|
|
295
|
-
| state |
|
|
296
|
-
| passing |
|
|
297
|
-
|
|
298
|
-
Examples: Ignore me
|
|
299
|
-
| state |
|
|
300
|
-
| failing |
|
|
301
|
-
|
|
302
|
-
@sample_one
|
|
303
|
-
Feature: Tag samples
|
|
304
|
-
|
|
305
|
-
@sample_two @sample_four
|
|
306
|
-
Scenario: Passing
|
|
307
|
-
Given missing
|
|
308
|
-
|
|
309
|
-
@sample_three
|
|
310
|
-
Scenario Outline:
|
|
311
|
-
Given <state>
|
|
312
|
-
|
|
313
|
-
Examples:
|
|
314
|
-
| state |
|
|
315
|
-
| missing |
|
|
316
|
-
|
|
317
|
-
@sample_three @sample_four
|
|
318
|
-
Scenario: Skipped
|
|
319
|
-
Given missing
|
|
320
|
-
|
|
321
|
-
Feature: undefined multiline args
|
|
322
|
-
|
|
323
|
-
Scenario: pystring
|
|
324
|
-
Given a pystring
|
|
325
|
-
\"\"\"
|
|
326
|
-
example with <html> entities
|
|
327
|
-
\"\"\"
|
|
328
|
-
|
|
329
|
-
Scenario: table
|
|
330
|
-
Given a table
|
|
331
|
-
| table |
|
|
332
|
-
| example |
|
|
333
|
-
|
|
334
|
-
26 scenarios (17 skipped, 8 undefined, 1 passed)
|
|
335
|
-
42 steps (30 skipped, 12 undefined)
|
|
336
|
-
|
|
337
|
-
"""
|
|
338
|
-
|
|
339
|
-
Scenario: Multiple formatters and outputs
|
|
340
|
-
When I run cucumber --format progress --out tmp/progress.txt --format pretty --out tmp/pretty.txt --no-source --dry-run --no-snippets features/lots_of_undefined.feature
|
|
341
|
-
Then STDERR should be empty
|
|
342
|
-
Then "fixtures/self_test/tmp/progress.txt" should contain
|
|
343
|
-
"""
|
|
344
|
-
UUUUU
|
|
345
|
-
|
|
346
|
-
1 scenario (1 undefined)
|
|
347
|
-
5 steps (5 undefined)
|
|
348
|
-
|
|
349
|
-
"""
|
|
350
|
-
And "fixtures/self_test/tmp/pretty.txt" should contain
|
|
351
|
-
"""
|
|
352
|
-
Feature: Lots of undefined
|
|
353
|
-
|
|
354
|
-
Scenario: Implement me
|
|
355
|
-
Given it snows in Sahara
|
|
356
|
-
Given it's 40 degrees in Norway
|
|
357
|
-
And it's 40 degrees in Norway
|
|
358
|
-
When I stop procrastinating
|
|
359
|
-
And there is world peace
|
|
360
|
-
|
|
361
|
-
1 scenario (1 undefined)
|
|
362
|
-
5 steps (5 undefined)
|
|
363
|
-
|
|
364
|
-
"""
|
|
365
|
-
|
|
366
|
-
Scenario: Run feature elements which matches a name using --name
|
|
367
|
-
When I run cucumber --name Pisang -q features/
|
|
368
|
-
Then it should pass with
|
|
369
|
-
"""
|
|
370
|
-
Feature: search examples
|
|
371
|
-
|
|
372
|
-
Background: Hantu Pisang background match
|
|
373
|
-
Given passing without a table
|
|
374
|
-
|
|
375
|
-
Scenario: should match Hantu Pisang
|
|
376
|
-
Given passing without a table
|
|
377
|
-
|
|
378
|
-
Scenario Outline: Hantu Pisang match
|
|
379
|
-
Given <state> without a table
|
|
380
|
-
|
|
381
|
-
Examples:
|
|
382
|
-
| state |
|
|
383
|
-
| passing |
|
|
384
|
-
|
|
385
|
-
Scenario Outline: no match in name but in examples
|
|
386
|
-
Given <state> without a table
|
|
387
|
-
|
|
388
|
-
Examples: Hantu Pisang
|
|
389
|
-
| state |
|
|
390
|
-
| passing |
|
|
391
|
-
|
|
392
|
-
3 scenarios (3 passed)
|
|
393
|
-
6 steps (6 passed)
|
|
394
|
-
|
|
395
|
-
"""
|
|
396
|
-
|
|
397
|
-
Scenario: Run a single background which matches a name using --name (Useful if there is an error in it)
|
|
398
|
-
When I run cucumber --name 'Hantu Pisang background' -q features/
|
|
399
|
-
Then it should pass with
|
|
400
|
-
"""
|
|
401
|
-
Feature: search examples
|
|
402
|
-
|
|
403
|
-
Background: Hantu Pisang background match
|
|
404
|
-
Given passing without a table
|
|
405
|
-
|
|
406
|
-
0 scenarios
|
|
407
|
-
1 step (1 passed)
|
|
408
|
-
|
|
409
|
-
"""
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
Scenario: Run with a tag that exists on 2 scenarios
|
|
413
|
-
When I run cucumber -q features --tags @three
|
|
414
|
-
Then it should pass with
|
|
415
|
-
"""
|
|
416
|
-
# Feature comment
|
|
417
|
-
@one
|
|
418
|
-
Feature: Sample
|
|
419
|
-
|
|
420
|
-
@two @three
|
|
421
|
-
Scenario: Missing
|
|
422
|
-
Given missing
|
|
423
|
-
|
|
424
|
-
# Scenario comment
|
|
425
|
-
@three
|
|
426
|
-
Scenario: Passing
|
|
427
|
-
Given passing
|
|
428
|
-
| a | b |
|
|
429
|
-
| c | d |
|
|
430
|
-
|
|
431
|
-
2 scenarios (1 undefined, 1 passed)
|
|
432
|
-
2 steps (1 undefined, 1 passed)
|
|
433
|
-
|
|
434
|
-
"""
|
|
435
|
-
|
|
436
|
-
Scenario: Run with a tag that exists on 1 feature
|
|
437
|
-
When I run cucumber -q features --tags @one
|
|
438
|
-
Then it should fail with
|
|
439
|
-
"""
|
|
440
|
-
# Feature comment
|
|
441
|
-
@one
|
|
442
|
-
Feature: Sample
|
|
443
|
-
|
|
444
|
-
@two @three
|
|
445
|
-
Scenario: Missing
|
|
446
|
-
Given missing
|
|
447
|
-
|
|
448
|
-
# Scenario comment
|
|
449
|
-
@three
|
|
450
|
-
Scenario: Passing
|
|
451
|
-
Given passing
|
|
452
|
-
| a | b |
|
|
453
|
-
| c | d |
|
|
454
|
-
|
|
455
|
-
@four
|
|
456
|
-
Scenario: Failing
|
|
457
|
-
Given failing
|
|
458
|
-
\"\"\"
|
|
459
|
-
hello
|
|
460
|
-
\"\"\"
|
|
461
|
-
FAIL (RuntimeError)
|
|
462
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
463
|
-
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
|
464
|
-
features/sample.feature:18:in `Given failing'
|
|
465
|
-
|
|
466
|
-
Failing Scenarios:
|
|
467
|
-
cucumber features/sample.feature:17
|
|
468
|
-
|
|
469
|
-
3 scenarios (1 failed, 1 undefined, 1 passed)
|
|
470
|
-
3 steps (1 failed, 1 undefined, 1 passed)
|
|
471
|
-
|
|
472
|
-
"""
|
|
473
|
-
|
|
474
|
-
Scenario: Run with a negative tag
|
|
475
|
-
When I run cucumber -q features/sample.feature --no-source --dry-run --tags ~@four
|
|
476
|
-
Then it should pass with
|
|
477
|
-
"""
|
|
478
|
-
# Feature comment
|
|
479
|
-
@one
|
|
480
|
-
Feature: Sample
|
|
481
|
-
|
|
482
|
-
@two @three
|
|
483
|
-
Scenario: Missing
|
|
484
|
-
Given missing
|
|
485
|
-
|
|
486
|
-
# Scenario comment
|
|
487
|
-
@three
|
|
488
|
-
Scenario: Passing
|
|
489
|
-
Given passing
|
|
490
|
-
| a | b |
|
|
491
|
-
| c | d |
|
|
492
|
-
|
|
493
|
-
2 scenarios (1 skipped, 1 undefined)
|
|
494
|
-
2 steps (1 skipped, 1 undefined)
|
|
495
|
-
|
|
496
|
-
"""
|
|
497
|
-
|
|
498
|
-
Scenario: Run with limited tag count, blowing it on scenario
|
|
499
|
-
When I run cucumber -q features/tags_sample.feature --no-source --dry-run --tags @sample_three:1
|
|
500
|
-
Then it should fail with
|
|
501
|
-
"""
|
|
502
|
-
@sample_three occurred 2 times, but the limit was set to 1
|
|
503
|
-
features/tags_sample.feature:11
|
|
504
|
-
features/tags_sample.feature:16
|
|
505
|
-
"""
|
|
506
|
-
|
|
507
|
-
Scenario: Run with limited tag count, blowing it via feature inheritance
|
|
508
|
-
When I run cucumber -q features/tags_sample.feature --no-source --dry-run --tags @sample_one:1
|
|
509
|
-
Then it should fail with
|
|
510
|
-
"""
|
|
511
|
-
@sample_one occurred 3 times, but the limit was set to 1
|
|
512
|
-
features/tags_sample.feature:5
|
|
513
|
-
features/tags_sample.feature:11
|
|
514
|
-
features/tags_sample.feature:16
|
|
515
|
-
"""
|
|
516
|
-
|
|
517
|
-
Scenario: Run with limited tag count using negative tag, blowing it via a tag that is not run
|
|
518
|
-
When I run cucumber -q features/tags_sample.feature --no-source --dry-run --tags ~@sample_one:1
|
|
519
|
-
Then it should fail with
|
|
520
|
-
"""
|
|
521
|
-
@sample_one occurred 3 times, but the limit was set to 1
|
|
522
|
-
"""
|
|
523
|
-
|
|
524
|
-
Scenario: Reformat files with --autoformat
|
|
525
|
-
When I run cucumber --autoformat tmp/formatted features
|
|
526
|
-
Then STDERR should be empty
|
|
527
|
-
Then "fixtures/self_test/tmp/formatted/features/sample.feature" should contain
|
|
528
|
-
"""
|
|
529
|
-
# Feature comment
|
|
530
|
-
@one
|
|
531
|
-
Feature: Sample
|
|
532
|
-
|
|
533
|
-
@two @three
|
|
534
|
-
Scenario: Missing
|
|
535
|
-
Given missing
|
|
536
|
-
|
|
537
|
-
# Scenario comment
|
|
538
|
-
@three
|
|
539
|
-
Scenario: Passing
|
|
540
|
-
Given passing
|
|
541
|
-
| a | b |
|
|
542
|
-
| c | d |
|
|
543
|
-
|
|
544
|
-
@four
|
|
545
|
-
Scenario: Failing
|
|
546
|
-
Given failing
|
|
547
|
-
\"\"\"
|
|
548
|
-
hello
|
|
549
|
-
\"\"\"
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
"""
|
|
553
|
-
|
|
554
|
-
Scenario: Run feature elements which match a name using -n
|
|
555
|
-
When I run cucumber -n Pisang -q features/
|
|
556
|
-
Then STDERR should be empty
|
|
557
|
-
Then it should pass with
|
|
558
|
-
"""
|
|
559
|
-
Feature: search examples
|
|
560
|
-
|
|
561
|
-
Background: Hantu Pisang background match
|
|
562
|
-
Given passing without a table
|
|
563
|
-
|
|
564
|
-
Scenario: should match Hantu Pisang
|
|
565
|
-
Given passing without a table
|
|
566
|
-
|
|
567
|
-
Scenario Outline: Hantu Pisang match
|
|
568
|
-
Given <state> without a table
|
|
569
|
-
|
|
570
|
-
Examples:
|
|
571
|
-
| state |
|
|
572
|
-
| passing |
|
|
573
|
-
|
|
574
|
-
Scenario Outline: no match in name but in examples
|
|
575
|
-
Given <state> without a table
|
|
576
|
-
|
|
577
|
-
Examples: Hantu Pisang
|
|
578
|
-
| state |
|
|
579
|
-
| passing |
|
|
580
|
-
|
|
581
|
-
3 scenarios (3 passed)
|
|
582
|
-
6 steps (6 passed)
|
|
583
|
-
|
|
584
|
-
"""
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
Feature: Cucumber command line
|
|
2
|
-
In order to write better software
|
|
3
|
-
Developers should be able to execute requirements as tests
|
|
4
|
-
|
|
5
|
-
Scenario: Run scenario outline with filtering on outline name
|
|
6
|
-
When I run cucumber -q features --name "Test state"
|
|
7
|
-
Then it should fail with
|
|
8
|
-
"""
|
|
9
|
-
Feature: Outline Sample
|
|
10
|
-
|
|
11
|
-
Scenario Outline: Test state
|
|
12
|
-
Given <state> without a table
|
|
13
|
-
Given <other_state> without a table
|
|
14
|
-
|
|
15
|
-
Examples: Rainbow colours
|
|
16
|
-
| state | other_state |
|
|
17
|
-
| missing | passing |
|
|
18
|
-
| passing | passing |
|
|
19
|
-
| failing | passing |
|
|
20
|
-
FAIL (RuntimeError)
|
|
21
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
22
|
-
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
|
23
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
|
24
|
-
|
|
25
|
-
Examples: Only passing
|
|
26
|
-
| state | other_state |
|
|
27
|
-
| passing | passing |
|
|
28
|
-
|
|
29
|
-
Failing Scenarios:
|
|
30
|
-
cucumber features/outline_sample.feature:5
|
|
31
|
-
|
|
32
|
-
4 scenarios (1 failed, 1 undefined, 2 passed)
|
|
33
|
-
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
|
34
|
-
|
|
35
|
-
"""
|
|
36
|
-
|
|
37
|
-
Scenario: Run scenario outline steps only
|
|
38
|
-
When I run cucumber -q features/outline_sample.feature:7
|
|
39
|
-
Then it should fail with
|
|
40
|
-
"""
|
|
41
|
-
Feature: Outline Sample
|
|
42
|
-
|
|
43
|
-
Scenario Outline: Test state
|
|
44
|
-
Given <state> without a table
|
|
45
|
-
Given <other_state> without a table
|
|
46
|
-
|
|
47
|
-
Examples: Rainbow colours
|
|
48
|
-
| state | other_state |
|
|
49
|
-
| missing | passing |
|
|
50
|
-
| passing | passing |
|
|
51
|
-
| failing | passing |
|
|
52
|
-
FAIL (RuntimeError)
|
|
53
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
54
|
-
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
|
55
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
|
56
|
-
|
|
57
|
-
Examples: Only passing
|
|
58
|
-
| state | other_state |
|
|
59
|
-
| passing | passing |
|
|
60
|
-
|
|
61
|
-
Failing Scenarios:
|
|
62
|
-
cucumber features/outline_sample.feature:5
|
|
63
|
-
|
|
64
|
-
4 scenarios (1 failed, 1 undefined, 2 passed)
|
|
65
|
-
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
|
66
|
-
|
|
67
|
-
"""
|
|
68
|
-
|
|
69
|
-
Scenario: Run single failing scenario outline table row
|
|
70
|
-
When I run cucumber features/outline_sample.feature:12
|
|
71
|
-
Then it should fail with
|
|
72
|
-
"""
|
|
73
|
-
Feature: Outline Sample
|
|
74
|
-
|
|
75
|
-
Scenario Outline: Test state # features/outline_sample.feature:5
|
|
76
|
-
Given <state> without a table # features/step_definitions/sample_steps.rb:15
|
|
77
|
-
Given <other_state> without a table # features/step_definitions/sample_steps.rb:12
|
|
78
|
-
|
|
79
|
-
Examples: Rainbow colours
|
|
80
|
-
| state | other_state |
|
|
81
|
-
| failing | passing |
|
|
82
|
-
FAIL (RuntimeError)
|
|
83
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
84
|
-
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
|
85
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
|
86
|
-
|
|
87
|
-
Failing Scenarios:
|
|
88
|
-
cucumber features/outline_sample.feature:5 # Scenario: Test state
|
|
89
|
-
|
|
90
|
-
1 scenario (1 failed)
|
|
91
|
-
2 steps (1 failed, 1 skipped)
|
|
92
|
-
|
|
93
|
-
"""
|
|
94
|
-
|
|
95
|
-
# There are 10 characters in the progress, but only 8 reported steps. Needs investigation.
|
|
96
|
-
# Looks like we're outputting too many characters.
|
|
97
|
-
Scenario: Run all with progress formatter
|
|
98
|
-
When I run cucumber -q --format progress features/outline_sample.feature
|
|
99
|
-
Then it should fail with
|
|
100
|
-
"""
|
|
101
|
-
--U-..F-..
|
|
102
|
-
|
|
103
|
-
(::) failed steps (::)
|
|
104
|
-
|
|
105
|
-
FAIL (RuntimeError)
|
|
106
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
|
107
|
-
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
|
108
|
-
features/outline_sample.feature:6:in `Given <state> without a table'
|
|
109
|
-
|
|
110
|
-
Failing Scenarios:
|
|
111
|
-
cucumber features/outline_sample.feature:5
|
|
112
|
-
|
|
113
|
-
5 scenarios (1 failed, 1 undefined, 3 passed)
|
|
114
|
-
8 steps (1 failed, 2 skipped, 1 undefined, 4 passed)
|
|
115
|
-
|
|
116
|
-
"""
|
|
117
|
-
|