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
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f689c6406ffc1e57288a28a0f95964ee7e9cd8a9
|
|
4
|
+
data.tar.gz: bf78142a081688825cc6df788f4ac8ce53157f8a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 1ea1190a5e0b95e005c51c5e863f6013cb48ece1d38b8517417e34fa3776712bf6847dd610dbe690f4878b2b0b3e2334650254fb5a47089718ea62b4667ce7bf
|
|
7
|
+
data.tar.gz: 75e0e18e55d05db858de5b290986d4c7d304670c5c9061ec3dbd500621ebfa89b45d562d0a4ed74273807339a7c4e6a078ff40a72dcf8bd3fd39f7033de34cf4
|
data/.coveralls.yml
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
service_name: travis-ci
|
data/.rspec
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
--color
|
|
1
|
+
--color
|
data/.travis.yml
CHANGED
data/CONTRIBUTING.md
CHANGED
|
@@ -15,6 +15,12 @@ We appreciate that. But before you do, please learn our basic rules:
|
|
|
15
15
|
|
|
16
16
|
This document is a guide for those maintaining Cucumber, and others who would like to submit patches.
|
|
17
17
|
|
|
18
|
+
## WARNING
|
|
19
|
+
|
|
20
|
+
The master branch is the in-development branch for version 2.0 of Cucumber. This code is work in progress and some way off
|
|
21
|
+
release. If you have a minor change that you'd like released soon, we suggest submitting a pull request against the
|
|
22
|
+
`1.3.x-bugfix` branch.
|
|
23
|
+
|
|
18
24
|
## Note on Patches/Pull Requests
|
|
19
25
|
|
|
20
26
|
* Fork the project. Make a branch for your change.
|
|
@@ -31,6 +37,8 @@ This document is a guide for those maintaining Cucumber, and others who would li
|
|
|
31
37
|
bundle install
|
|
32
38
|
bundle exec rake
|
|
33
39
|
|
|
40
|
+
To get code coverage results, run `bundle exec rake cov`
|
|
41
|
+
|
|
34
42
|
## Release Process
|
|
35
43
|
|
|
36
44
|
* Bump the version number in `lib/cucumber/platform.rb`.
|
|
@@ -53,6 +61,7 @@ Current release managers:
|
|
|
53
61
|
* Matt Wynne
|
|
54
62
|
* Aslak Hellesøy
|
|
55
63
|
* Oleg Sukhodolsky
|
|
64
|
+
* Steve Tooke
|
|
56
65
|
|
|
57
66
|
To grant release karma, issue the following command:
|
|
58
67
|
|
data/Gemfile
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
+
gem "cucumber-pro", "0.0.13", :group => :test
|
|
1
2
|
source "https://rubygems.org"
|
|
2
3
|
gemspec
|
|
3
|
-
|
|
4
|
-
|
|
4
|
+
unless ENV['CUCUMBER_USE_RELEASED_CORE']
|
|
5
|
+
core_path = File.expand_path("../../cucumber-ruby-core", __FILE__)
|
|
6
|
+
if File.exist?(core_path) && !ENV['CUCUMBER_USE_GIT_CORE']
|
|
7
|
+
gem 'cucumber-core', :path => core_path
|
|
8
|
+
else
|
|
9
|
+
gem 'cucumber-core', :git => "git://github.com/cucumber/cucumber-ruby-core.git"
|
|
10
|
+
end
|
|
11
|
+
end
|
data/History.md
CHANGED
|
@@ -1,10 +1,195 @@
|
|
|
1
|
-
##
|
|
2
|
-
|
|
1
|
+
## [In Git](https://github.com/cucumber/cucumber/compare/v2.0.0...master)
|
|
2
|
+
|
|
3
|
+
## [v2.0.0](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.5...v2.0.0)
|
|
4
|
+
|
|
5
|
+
### New Features
|
|
6
|
+
|
|
7
|
+
* Support ruby 2.2 in master (@mattwynne, @tooky)
|
|
8
|
+
* Tell users to use the `--init` command ([818](https://github.com/cucumber/cucumber/pull/818) @olleolleolle)
|
|
9
|
+
|
|
10
|
+
### Bugfixes
|
|
11
|
+
|
|
12
|
+
* Ensure After Hooks execute in reverse order (@tooky)
|
|
13
|
+
|
|
14
|
+
## [v2.0.0.rc5](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.4...v2.0.0.rc.5)
|
|
15
|
+
|
|
16
|
+
### New Features
|
|
17
|
+
|
|
18
|
+
* Add `--init` command ([699](https://github.com/cucumber/cucumber/pull/699) @LGordon2)
|
|
19
|
+
|
|
20
|
+
## Bugfixes
|
|
21
|
+
|
|
22
|
+
* Let the JUnitFormatter handle Scenario Outlines with the --expand option ([124](https://github.com/cucumber/cucumber/issues/124), [808](https://github.com/cucumber/cucumber/pull/808) @brasmusson, @richarda)
|
|
23
|
+
* Suggested regexes result in ambigous matches ([663](https://github.com/cucumber/cucumber/pull/663) @rwz)
|
|
24
|
+
* Pass when using both the --dry-run and the --strict options, unless there are undefined steps ([810](https://github.com/cucumber/cucumber/issues/810) @brasmusson)
|
|
25
|
+
* Handle step output correctly for Scenario Outlines with the --expand option ([806](https://github.com/cucumber/cucumber/issues/806) @brasmusson)
|
|
26
|
+
* Fix GBK and UTF-8 (Encoding::CompatibilityError) ([693](https://github.com/cucumber/cucumber/issues/693) @mattwynne)
|
|
27
|
+
* Make the scenario object available in hooks compatible with v1.3.x ([814](https://github.com/cucumber/cucumber/pull/814) @brasmusson)
|
|
28
|
+
* JUnit expand option ([808](https://github.com/cucumber/cucumber/pull/808) @richarda @brasmusson)
|
|
29
|
+
* Around hooks not executing in correct world context ([807](https://github.com/cucumber/cucumber/pull/807) @tooky)
|
|
30
|
+
|
|
31
|
+
## [v2.0.0.rc.4](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.3...2.0.0.rc.4)
|
|
32
|
+
|
|
33
|
+
### Features
|
|
34
|
+
|
|
35
|
+
* [Add custom filters from Ruby configuration code](https://github.com/cucumber/cucumber/blob/master/features/docs/extending_cucumber/custom_filter.feature) (@mattwynne)
|
|
36
|
+
|
|
37
|
+
### Bugfixes
|
|
38
|
+
|
|
39
|
+
* Fix missing `require Forwardable` (@tooky)
|
|
40
|
+
* Fix snippet suggestions ([765](https://github.com/cucumber/cucumber/pull/765) @richarda), also with i18n languages (@brasmusson)
|
|
41
|
+
* Fix transformation of regex with lookahead/lookbehind ([796](https://github.com/cucumber/cucumber/pull/796) @bolshakov)
|
|
42
|
+
* Sort scenarios by location ([789](https://github.com/cucumber/cucumber/issues/789) @mattwynne)
|
|
43
|
+
* Remove keyword from name property of test case object yielded to hooks ([768](https://github.com/cucumber/cucumber/issues/768) @richarda, @akostadinov)
|
|
44
|
+
|
|
45
|
+
## [v2.0.0.rc.3](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.2...v2.0.0.rc.3)
|
|
46
|
+
|
|
47
|
+
### Bugfixes
|
|
48
|
+
|
|
49
|
+
* MultilineArgument::DataTable#diff will correctly compare to an Array (@tooky)
|
|
50
|
+
|
|
51
|
+
## [v2.0.0.rc.2](https://github.com/cucumber/cucumber/compare/v2.0.0.rc.1...v2.0.0.rc.2)
|
|
52
|
+
|
|
53
|
+
### Bugfixes
|
|
54
|
+
|
|
55
|
+
* World#table no longer creates invalid table objects when using an Array (@tooky, @mattwynne)
|
|
56
|
+
|
|
57
|
+
## [v2.0.0.rc.1](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.5...v2.0.0.rc.1)
|
|
58
|
+
|
|
59
|
+
### Removed Features
|
|
60
|
+
|
|
61
|
+
* Removed support for IronRuby (@tooky @mattwynne)
|
|
62
|
+
|
|
63
|
+
### New Features
|
|
64
|
+
|
|
65
|
+
* Let the HTML formatter store the relative path to files in the report ([697](https://github.com/cucumber/cucumber/pull/697) @idstein, @brasmusson)
|
|
66
|
+
* Allow cucumber.yml to parse % erb code lines ([755](https://github.com/cucumber/cucumber/pull/755) @snowe2010)
|
|
67
|
+
* Give each step definition a unique copy of argument objects ([760](https://github.com/cucumber/cucumber/pull/760) @tooky)
|
|
68
|
+
|
|
69
|
+
### Bugfixes
|
|
70
|
+
|
|
71
|
+
* Add old Scenario#skip_invoke! method back (@mattwynne)
|
|
72
|
+
* No links to lines in backtrace under TextMate ([548](https://github.com/cucumber/cucumber/pull/548) @bilus)
|
|
73
|
+
* Using file:line CLI to select scenarios was running same scenario multiple times ([786](https://github.com/cucumber/cucumber/pull/786) @jdks)
|
|
74
|
+
* Allow spaces in filenames for rerun formatter ([793](https://github.com/cucumber/cucumber/pull/793) @callahat)
|
|
75
|
+
|
|
76
|
+
## [v2.0.0.beta.5](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.4...v2.0.0.beta.5)
|
|
77
|
+
|
|
78
|
+
* Depend on the correct version of core (@tooky)
|
|
79
|
+
|
|
80
|
+
## [v2.0.0.beta.4](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.3...v2.0.0.beta.4)
|
|
81
|
+
### New Features
|
|
82
|
+
|
|
83
|
+
* Support both new and legacy formatter APIs simultaneously (@mattwynne and @tooky)
|
|
84
|
+
|
|
85
|
+
### Bugfixes
|
|
86
|
+
|
|
87
|
+
* Localize the Scenario keyword with the --expand option ([766](https://github.com/cucumber/cucumber/pull/766) @brasmusson)
|
|
88
|
+
* Handle hook output appropriately in the HTML formatter ([746](https://github.com/cucumber/cucumber/pull/746), [731](https://github.com/cucumber/cucumber/issues/731), [298](https://github.com/cucumber/cucumber/pull/298) @brasmusson)
|
|
89
|
+
* Handle hook output appropriately in the Pretty formatter ([738](https://github.com/cucumber/cucumber/pull/738) @brasmusson)
|
|
90
|
+
|
|
91
|
+
### Internal changes
|
|
92
|
+
|
|
93
|
+
* Re-write rerun formatter against new formatter API
|
|
94
|
+
|
|
95
|
+
## [v2.0.0.beta.3](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.2...v2.0.0.beta.3)
|
|
96
|
+
|
|
97
|
+
### Removed Features
|
|
98
|
+
|
|
99
|
+
* The `--dotcucumber` option is no longer supported and `stepdefs.json` is no longer written. (Aslak Hellesøy)
|
|
100
|
+
|
|
101
|
+
### New Features
|
|
102
|
+
|
|
103
|
+
* Include both outline step and expanded step in error backtrace ([730](https://github.com/cucumber/cucumber/pull/730) @brasmusson)
|
|
104
|
+
* Add TestCase#outline? for conditionals in Before / After hooks ([728](https://github.com/cucumber/cucumber/pull/728) [Erran Carey](https://github.com/erran))
|
|
105
|
+
* Support embedding images directly in HTML and JSON reports ([696](https://github.com/cucumber/cucumber/pull/696),[695](https://github.com/cucumber/cucumber/pull/695/files) @brasmusson)
|
|
106
|
+
|
|
107
|
+
### Bugfixes
|
|
108
|
+
|
|
109
|
+
* Pass hook output to the formatters appropriately ([732](https://github.com/cucumber/cucumber/pull/732) @brasmusson)
|
|
110
|
+
* Added tests for, and re-added behaviour to support Scenario#failed? in hooks (Matt Wynne)
|
|
111
|
+
* Rescuing ArgumentError in HTML formatter so Cucumber won't stop tests due bad encoding ([690](https://github.com/cucumber/cucumber/pull/690) @awls99)
|
|
112
|
+
* Add back support for the DataTable API ([729](https://github.com/cucumber/cucumber/pull/729) @mattwynne and @tooky)
|
|
113
|
+
* Fix Windows support loading files properly ([739](https://github.com/cucumber/cucumber/issues/739) @os97673)
|
|
114
|
+
|
|
115
|
+
## [v2.0.0.beta.2](https://github.com/cucumber/cucumber/compare/v2.0.0.beta.1...v2.0.0.beta.2)
|
|
116
|
+
|
|
117
|
+
### Bugfixes
|
|
118
|
+
|
|
119
|
+
* Better reporting of exceptions in Before / After hooks ([723](https://github.com/cucumber/cucumber/pull/723) @mattwynne)
|
|
120
|
+
* Add `#source_tag_names` method to `TestCase` object passed to hooks (@mattwynne)
|
|
121
|
+
|
|
122
|
+
## [v2.0.0.beta.1 ](https://github.com/cucumber/cucumber/compare/v1.3.8...v2.0.0.beta.1)
|
|
123
|
+
|
|
124
|
+
Version 2.0 contains a major internal redesign, extracting the core logic of
|
|
125
|
+
parsing and executing tests into a [separate gem](https://github.com/cucumber/cucumber-ruby-core).
|
|
126
|
+
|
|
127
|
+
Although we've tried to keep the API and behaviour consistent through this change,
|
|
128
|
+
there are bound to be differences our tests haven't picked up. We're still working through
|
|
129
|
+
a backlog of scenarios that are not yet passing. Run `cucumber -p wip` to see them
|
|
130
|
+
all.
|
|
131
|
+
|
|
132
|
+
### New features
|
|
133
|
+
|
|
134
|
+
* Better snippet comment ([579](https://github.com/cucumber/cucumber/pull/579) Jeff Nyman)
|
|
135
|
+
* Random scenario ordering with `--order random`
|
|
136
|
+
* Embed plain text ([712](https://github.com/cucumber/cucumber/pull/712) @bingwei)
|
|
137
|
+
* Support the cucumber-reporting tools also when using Scenario Outlines ([700](https://github.com/cucumber/cucumber/pull/700) @brasmusson)
|
|
138
|
+
|
|
139
|
+
### Features removed
|
|
140
|
+
|
|
141
|
+
* Removed deprecated StepMother and Ast::Visitor classes (Matt Wynne)
|
|
142
|
+
* Remove support for i18n nested step methods (Matt Wynne)
|
|
143
|
+
* Remove experimental .js and .py support (Matt Wynne)
|
|
144
|
+
* Remove Ruby 1.8.7 support, including RCov
|
|
145
|
+
* Spork support
|
|
146
|
+
|
|
147
|
+
### API Changes
|
|
148
|
+
|
|
149
|
+
* String arguments passed to step definitions are immutable (frozen). This is
|
|
150
|
+
to prevent garbled output in case an argument gets modified. If you need to
|
|
151
|
+
modify an argument, `dup` it first. (Aslak Hellesøy)
|
|
152
|
+
|
|
153
|
+
### Minor changes
|
|
154
|
+
|
|
155
|
+
* Greek examples added ([497](https://github.com/cucumber/cucumber/issues/497) @rousisk)
|
|
156
|
+
|
|
157
|
+
## [v1.3.16](https://github.com/cucumber/cucumber/compare/v1.3.15...v1.3.16)
|
|
158
|
+
|
|
159
|
+
* Pass output from the step definition on to the JSON formatter ([701](https://github.com/cucumber/cucumber/pull/701) @brasmusson)
|
|
160
|
+
* Add RSpec 3 test double support ([689](https://github.com/cucumber/cucumber/pull/689) @cyphactor)
|
|
161
|
+
* Fix bug with rerun formatter and `--expand` option ([710](https://github.com/cucumber/cucumber/pull/710) @brasmusson)
|
|
162
|
+
|
|
163
|
+
## [v1.3.15](https://github.com/cucumber/cucumber/compare/v1.3.14...v1.3.15)
|
|
164
|
+
|
|
165
|
+
* Fixed intermittent ConcurrencyError seen in JRuby
|
|
166
|
+
([671](https://github.com/cucumber/cucumber/issues/670) @cbusbey)
|
|
167
|
+
|
|
168
|
+
## [v1.3.14](https://github.com/cucumber/cucumber/compare/v1.3.13...v1.3.14)
|
|
169
|
+
|
|
170
|
+
* Rerun formatter includes all scenarios when the background fails
|
|
171
|
+
([660](https://github.com/cucumber/cucumber/issues/660),
|
|
172
|
+
[661](https://github.com/cucumber/cucumber/pull/661) @brasmusson)
|
|
173
|
+
|
|
174
|
+
## [v1.3.13](https://github.com/cucumber/cucumber/compare/v1.3.12...v1.3.13)
|
|
175
|
+
|
|
176
|
+
* Rerun formatter includes all scenarios when the background fails
|
|
177
|
+
([654](https://github.com/cucumber/cucumber/pull/654) @brasmusson)
|
|
178
|
+
|
|
179
|
+
## [v1.3.12](https://github.com/cucumber/cucumber/compare/v1.3.11...v1.3.12)
|
|
180
|
+
|
|
181
|
+
* Use MultiTest to handle assertions library selection (@tooky)
|
|
182
|
+
* Adds full support for rails 4.1 / Minitest
|
|
183
|
+
|
|
184
|
+
## [v1.3.11](https://github.com/cucumber/cucumber/compare/v1.3.10...v1.3.11)
|
|
185
|
+
|
|
186
|
+
* Add Ruby 2.1 Support ([#644](https://github.com/cucumber/cucumber/pull/644) @tooky, @chrismdp)
|
|
187
|
+
|
|
188
|
+
## [v1.3.10](https://github.com/cucumber/cucumber/compare/v1.3.9...v1.3.10)
|
|
3
189
|
|
|
4
190
|
* Fixed "nil:NilClass (NoMethodError)" problem for auto-formatting ([599](https://github.com/cucumber/cucumber/pull/599) @jmcaffee)
|
|
5
191
|
|
|
6
|
-
##
|
|
7
|
-
[v1.3.9](https://github.com/cucumber/cucumber/compare/v1.3.8...v1.3.9)
|
|
192
|
+
## [v1.3.9](https://github.com/cucumber/cucumber/compare/v1.3.8...v1.3.9)
|
|
8
193
|
|
|
9
194
|
* Disable minitest autorun after loading support files (@tooky)
|
|
10
195
|
* Add `Ast::Table#map_column` for non-mutating column mapping (@tooky)
|
|
@@ -49,7 +234,7 @@
|
|
|
49
234
|
|
|
50
235
|
## [1.3.3](https://github.com/cucumber/cucumber/compare/v1.3.2...v1.3.3)
|
|
51
236
|
|
|
52
|
-
* Fix compatability with MiniTest 5.0 ([#456](https://github.com
|
|
237
|
+
* Fix compatability with MiniTest 5.0 ([#456](https://github.com/cucumber/cucumber/issues/456) Matt Wynne)
|
|
53
238
|
* Warn that Spork support is broken (Steve Tooke)
|
|
54
239
|
* Fix error with Ruby 2.0.0 and `Cucumber::RUBY_1_8_7`
|
|
55
240
|
([#492](https://github.com/cucumber/cucumber/issues/492) Matt Wynne)
|
|
@@ -479,7 +664,7 @@ Bugfix release which most importantly fixes an issue with the gem's gemspec.
|
|
|
479
664
|
* JSON formatters (json and json_pretty). (Jari Bakken)
|
|
480
665
|
|
|
481
666
|
### Removed features
|
|
482
|
-
* The --no-diff option is removed. If you're using RSpec you will
|
|
667
|
+
* The --no-diff option is removed. If you're using RSpec you will*always* get diffs. (Aslak Hellesøy)
|
|
483
668
|
|
|
484
669
|
### Changed Features
|
|
485
670
|
* Upgraded to be compatible with rspec 2.0.0.beta.10 (Aslak Hellesøy)
|
|
@@ -684,7 +869,7 @@ Please see History.txt in cucumber-rails for details about what's new on the Rai
|
|
|
684
869
|
* "Given" in Dutch is now aliased to "Gegeven" or "Stel". (Iain Hecker)
|
|
685
870
|
* New --i18n option to list keywords in various languages. (Aslak Hellesøy)
|
|
686
871
|
* Added a Tcl example using Sam Stephenson's ruby-tcl (Aslak Hellesøy)
|
|
687
|
-
* Added
|
|
872
|
+
* Added* as a synonym for Given/When/Then/And/But (for all i18n languages). (#462 Aslak Hellesøy)
|
|
688
873
|
* The HTML formatter produces a much nicer report, with TextMate link integration. (Rob Aldred)
|
|
689
874
|
* Wire protocol now supports table arguments, step definition source & regexp, snippets, pending, table diffing (Matt Wynne)
|
|
690
875
|
|
|
@@ -744,7 +929,7 @@ As usual there are several small features and bug fixes.
|
|
|
744
929
|
* New Wire Protocol - allowing out of process execution of Cucumber scenarios. (#428 Matt Wynne)
|
|
745
930
|
* Added an example illustrating how to get screenshots in HTML reports (examples/watir) (Aslak Hellesøy)
|
|
746
931
|
* Added new #embed(file, mime_type) method to visitors and Ruby Worlds to make it easier to embed screenshots (Aslak Hellesøy)
|
|
747
|
-
* The #puts method available from Ruby Step Definitions will print
|
|
932
|
+
* The #puts method available from Ruby Step Definitions will print*after* the step is executed. (#487 Zoltan Penzeli)
|
|
748
933
|
* Add support for rolling back transaction for all open database connections. (John Ferlito)
|
|
749
934
|
* Show scenario and step summary in HTML formatter (#285 Joseph Wilk)
|
|
750
935
|
* Ast::Table can now be constructed with an Array of Hash. (Aslak Hellesøy)
|
|
@@ -797,7 +982,7 @@ The back to stable release. When we went from 0.3.11 to 0.3.90 we thought we wer
|
|
|
797
982
|
went nuts and a lot of great contributions came in. Some of those broke backwards compatibility, and we decided it would be
|
|
798
983
|
better to do this while still on 0.3.x.
|
|
799
984
|
|
|
800
|
-
Rails users: you
|
|
985
|
+
Rails users: you*must* run script/generate cucumber after installing this version.
|
|
801
986
|
|
|
802
987
|
If something breaks for you, please please please read this file carefully. It's most likely something referenced here, and
|
|
803
988
|
that will give you more information so you can solve any problems. If not, just get in touch on IRC or the Google Group.
|
|
@@ -889,7 +1074,7 @@ Other noteworthy new features are improved Hook, tags and Transform support, and
|
|
|
889
1074
|
### New Features
|
|
890
1075
|
* Added new internal API for Regexp and groups, allowing other programming languages to leverage native regexps. (Aslak Hellesøy)
|
|
891
1076
|
* New @allow_rescue tag for Rails scenarios. Causes exceptions raised in actions to be caught by rails and not bubble up to Cucumber (Aslak Hellesøy)
|
|
892
|
-
* Negative tags can now be used in hooks, just like the command line's --tags option: Before('~@yarr') - will run for all scenarios that
|
|
1077
|
+
* Negative tags can now be used in hooks, just like the command line's --tags option: Before('~@yarr') - will run for all scenarios that*don't* have the @yarr tag. (Aslak Hellesøy)
|
|
893
1078
|
* Transform has current "World" scope (Larry Diehl)
|
|
894
1079
|
* Other Transforms can be reused by calling Transform with a string inside of another Transform definition (Larry Diehl)
|
|
895
1080
|
* Execute "After" hooks in reverse order of declaration for better behavior with dependent blocks and to mimic the behavior of at_exit (David Waite)
|
|
@@ -903,7 +1088,7 @@ Other noteworthy new features are improved Hook, tags and Transform support, and
|
|
|
903
1088
|
* Cucumber with Spork breaks on OS X Snow Leopard (#431 David Chelimsky)
|
|
904
1089
|
|
|
905
1090
|
### Changed Features
|
|
906
|
-
* Tag names passed on the command line
|
|
1091
|
+
* Tag names passed on the command line*always* have to use the @ sign. --tags foo or --tags ~bar won't work. Use --tags @foo or --tags ~@bar (Aslak Hellesøy)
|
|
907
1092
|
|
|
908
1093
|
### Removed features
|
|
909
1094
|
* The Cucumber::Rails.bypass_rescue no longer exists. Errors will always bubble up, unless you use the new @allow_rescue tag. (Aslak Hellesøy)
|
|
@@ -1041,8 +1226,8 @@ You'll achieve better flow this way.
|
|
|
1041
1226
|
* Added examples/python that uses rubypython. (Aslak Hellesøy)
|
|
1042
1227
|
* Checks the number of available colors on the terminal with ruby-terminfo if ruby-terminfo is installed.
|
|
1043
1228
|
This prevents Apple's Terminal.app from stalling (Yugui - Yuki Sonoda).
|
|
1044
|
-
|
|
1045
|
-
|
|
1229
|
+
* Set 'xterm-256color' to TERM if your terminal supports grey.
|
|
1230
|
+
* ruby-terminfo is available as genki-ruby-terminfo gem from github.
|
|
1046
1231
|
* Document builtin formatters with --help. (#406 Aslak Hellesøy)
|
|
1047
1232
|
* Added support for using regular expressions when mapping table headers. (Peter Williams)
|
|
1048
1233
|
|
|
@@ -1142,7 +1327,7 @@ expected data passed to a step. Here is an example:
|
|
|
1142
1327
|
end
|
|
1143
1328
|
|
|
1144
1329
|
You can do the same trick to compare data from a Rails ActiveRecord table (although this is not a
|
|
1145
|
-
recommended practice - your Then steps should compare against what users
|
|
1330
|
+
recommended practice - your Then steps should compare against what users*see*, not what's in the
|
|
1146
1331
|
database):
|
|
1147
1332
|
|
|
1148
1333
|
# This requires that you use the column names in the header of the plain text expected table
|
|
@@ -1210,7 +1395,7 @@ thanks to a brand new gem called Spork by Tim Harper and Ben Mabey. (You can fin
|
|
|
1210
1395
|
here: http://github.com/timcharper/spork/tree/master). You can start Spork and have it preload your
|
|
1211
1396
|
application in a separate process. Spork listens for DRb connections, and when you run cucumber with
|
|
1212
1397
|
--drb the features will run inside the Spork server instead. Spork provides two simple hooks for preloading
|
|
1213
|
-
your application - one for framework/stable code (Spork.prefork) and one for the code that
|
|
1398
|
+
your application - one for framework/stable code (Spork.prefork) and one for the code that*you* write and
|
|
1214
1399
|
change often (Spork.each_run). Keep in mind that all World, Before, and other Cucumber hooks need to be
|
|
1215
1400
|
in the Spork.each_run block. Using Spork works great for Ruby on Rails, which can take a while to load,
|
|
1216
1401
|
but --drb and Spork aren't tied to Rails at all. The new --drb switch also works great alongside autotest
|
|
@@ -1252,7 +1437,7 @@ generator which is fixed in 0.3.9.
|
|
|
1252
1437
|
## [0.3.8](https://github.com/cucumber/cucumber/compare/v0.3.7...v0.3.8)
|
|
1253
1438
|
|
|
1254
1439
|
This Cucumber version fixes several bugs related to Ruby on Rails and RSpec. If you
|
|
1255
|
-
use Cucumber with a Rails app we
|
|
1440
|
+
use Cucumber with a Rails app we*strongly* recommend you bootstrap Cucumber again:
|
|
1256
1441
|
|
|
1257
1442
|
ruby script/generate cucumber
|
|
1258
1443
|
|
|
@@ -1267,7 +1452,7 @@ use Cucumber with a Rails app we *strongly* recommend you bootstrap Cucumber aga
|
|
|
1267
1452
|
* The Cucumber Rake task will again fork by default (as 0.3.3 and earlier). Forking must be turned off explicitly. (Aslak Hellesøy)
|
|
1268
1453
|
|
|
1269
1454
|
### Bugfixes
|
|
1270
|
-
* Better coexistence with RSpec - Cucumber now
|
|
1455
|
+
* Better coexistence with RSpec - Cucumber now*neuters* the part of RSpec that tries to parse ARGV.
|
|
1271
1456
|
* The differ= exception is gone (#325, #340 Aslak Hellesøy)
|
|
1272
1457
|
|
|
1273
1458
|
## [0.3.7](https://github.com/cucumber/cucumber/compare/v0.3.6...v0.3.7)
|
|
@@ -1315,7 +1500,7 @@ and there is a brand new JUnit formatter - great for Continuous Integration repo
|
|
|
1315
1500
|
|
|
1316
1501
|
This release was made especially for the Oslo XP Meetup today.
|
|
1317
1502
|
|
|
1318
|
-
** IMPORTANT UPGRADE NOTES FOR RAILS USERS
|
|
1503
|
+
** IMPORTANT UPGRADE NOTES FOR RAILS USERS**
|
|
1319
1504
|
|
|
1320
1505
|
Running Cucumber features in the same Ruby interpreter as Rake doesn't seem to work,
|
|
1321
1506
|
so you have to explicitly tell the task to fork (like it was doing by default in prior
|
|
@@ -1455,10 +1640,10 @@ http://wiki.github.com/aslakhellesoy/cucumber/using-rake#profiles
|
|
|
1455
1640
|
|
|
1456
1641
|
### Removed/changed features
|
|
1457
1642
|
* The visitor API has changed slightly:
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
1643
|
+
* \#visit_step_name, #visit_multiline_arg and \#visit_exception are no longer official API methods.
|
|
1644
|
+
* \#visit_step_result replaces those 3 methods.
|
|
1645
|
+
* Table and PyString no longer hold status information. Each visitor subclass should store state in @state if needed.
|
|
1646
|
+
* \#visit_py_string no longer takes a status argument.
|
|
1462
1647
|
|
|
1463
1648
|
## [0.2.3](https://github.com/cucumber/cucumber/compare/v0.2.2...v0.2.3)
|
|
1464
1649
|
|
|
@@ -1908,6 +2093,7 @@ The step definitions for such multiline steps must define an extra block argumen
|
|
|
1908
2093
|
* Show the feature file and line for pending steps as a comment when displaying with the pretty formatter. (#40, Joseph Wilk)
|
|
1909
2094
|
|
|
1910
2095
|
### Bugfixes
|
|
2096
|
+
|
|
1911
2097
|
* Fixed speling errors in Spanish (Daniel Cadenas)
|
|
1912
2098
|
* ActionMailer delivery_method should not be set to test (#41, Luke Melia)
|
|
1913
2099
|
* Reverse incorrectly ordered args in webrat select step (#43, David Chelimsky)
|
|
@@ -1915,9 +2101,11 @@ The step definitions for such multiline steps must define an extra block argumen
|
|
|
1915
2101
|
* Fixed the HTML Formatter to use actual values for FIT table headers (#30, Joseph Wilk)
|
|
1916
2102
|
|
|
1917
2103
|
### Removed features
|
|
2104
|
+
|
|
1918
2105
|
* Removed the /^I go to (.*)$/ step from common_webrat.rb - it's not language agnostic and provides little value.
|
|
1919
2106
|
|
|
1920
2107
|
### New features
|
|
2108
|
+
|
|
1921
2109
|
* Added new --out option to make it easier to specify output from Rake and cucumber.yml
|
|
1922
2110
|
|
|
1923
2111
|
## [0.1.7](https://github.com/cucumber/cucumber/compare/v0.1.6...v0.1.7)
|
|
@@ -1963,11 +2151,13 @@ a plain text step is defined. Not anymore! Cucumber will now output this:
|
|
|
1963
2151
|
And the result class should be Float # features/steps/calculator_steps.rb:24
|
|
1964
2152
|
|
|
1965
2153
|
### Bugfixes
|
|
2154
|
+
|
|
1966
2155
|
* Fixed a bug in the command line args being lost when using --profile (#27, Joseph Wilk)
|
|
1967
2156
|
* Fixed a bug in Webrat selects (Tim Glen)
|
|
1968
2157
|
* Fixed parsing of DOS line endings (#2, #28, Aslak Hellesøy)
|
|
1969
2158
|
|
|
1970
2159
|
### New features
|
|
2160
|
+
|
|
1971
2161
|
* Steps can be called from other steps (#3, Bryan Helmkamp, Aslak Hellesøy)
|
|
1972
2162
|
* Added But keyword to all languages (#21, Aslak Hellesøy)
|
|
1973
2163
|
* Added --no-source option to display step definition location next to step text (#26, Joseph Wilk, Aslak Hellesøy)
|
data/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2008
|
|
3
|
+
Copyright (c) 2008-2013 Aslak Hellesøy
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining
|
|
6
6
|
a copy of this software and associated documentation files (the
|
|
@@ -19,4 +19,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
|
19
19
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
|
20
20
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
|
21
21
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
|
22
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
[](http://travis-ci.org/cucumber/cucumber) [](http://travis-ci.org/cucumber/cucumber) [](https://codeclimate.com/github/cucumber/cucumber) [](https://coveralls.io/r/cucumber/cucumber?branch=master) [](https://gemnasium.com/cucumber/cucumber)
|
|
2
2
|
|
|
3
3
|
# Cucumber
|
|
4
4
|
|
|
5
|
-
Cucumber is a tool for running automated tests written in
|
|
6
|
-
written in
|
|
5
|
+
Cucumber is a tool for running automated tests written in plain language. Because they're
|
|
6
|
+
written in plain language, they can be read by anyone on your team. Because they can be
|
|
7
7
|
read by anyone, you can use them to help improve communication, collaboration and trust on
|
|
8
8
|
your team.
|
|
9
9
|
|
|
@@ -19,4 +19,4 @@ See [CONTRIBUTING.md](CONTRIBUTING.md) for info on contributing to Cucumber.
|
|
|
19
19
|
|
|
20
20
|
## Copyright
|
|
21
21
|
|
|
22
|
-
Copyright (c) 2008
|
|
22
|
+
Copyright (c) 2008-2013 Aslak Hellesøy and Contributors. See LICENSE for details.
|
data/Rakefile
CHANGED
|
@@ -6,8 +6,17 @@ Bundler::GemHelper.install_tasks
|
|
|
6
6
|
$:.unshift(File.dirname(__FILE__) + '/lib')
|
|
7
7
|
Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
|
|
8
8
|
|
|
9
|
-
task :release => 'api:doc'
|
|
10
9
|
task :default => [:spec, :cucumber]
|
|
11
10
|
|
|
11
|
+
if ENV['TRAVIS']
|
|
12
|
+
ENV['SIMPLECOV'] = 'ci'
|
|
13
|
+
ENV['JRUBY_OPTS'] = [ENV['JRUBY_OPTS'], '--debug'].compact.join(' ')
|
|
14
|
+
|
|
15
|
+
require 'coveralls/rake/task'
|
|
16
|
+
Coveralls::RakeTask.new
|
|
17
|
+
|
|
18
|
+
task :default => [:spec, :cucumber, 'coveralls:push']
|
|
19
|
+
end
|
|
20
|
+
|
|
12
21
|
require 'rake/clean'
|
|
13
22
|
CLEAN.include %w(**/*.{log,pyc,rbc,tgz} doc)
|
data/bin/cucumber
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
$:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
require 'simplecov'
|
|
6
|
-
SimpleCov.root(File.expand_path(File.dirname(__FILE__) + '/..'))
|
|
7
|
-
SimpleCov.start
|
|
8
|
-
end
|
|
4
|
+
load File.expand_path(File.dirname(__FILE__) + '/../spec/simplecov_setup.rb')
|
|
9
5
|
|
|
10
6
|
require 'cucumber/rspec/disable_option_parser'
|
|
11
7
|
require 'cucumber/cli/main'
|
data/cucumber.gemspec
CHANGED
|
@@ -9,24 +9,27 @@ Gem::Specification.new do |s|
|
|
|
9
9
|
s.description = 'Behaviour Driven Development with elegance and joy'
|
|
10
10
|
s.summary = "cucumber-#{s.version}"
|
|
11
11
|
s.email = 'cukes@googlegroups.com'
|
|
12
|
+
s.license = 'MIT'
|
|
12
13
|
s.homepage = "http://cukes.info"
|
|
13
|
-
|
|
14
14
|
s.platform = Gem::Platform::RUBY
|
|
15
|
+
s.required_ruby_version = ">= 1.9.3"
|
|
15
16
|
|
|
17
|
+
s.add_dependency 'cucumber-core', '~> 1.1.3'
|
|
16
18
|
s.add_dependency 'builder', '>= 2.1.2'
|
|
17
19
|
s.add_dependency 'diff-lcs', '>= 1.1.3'
|
|
18
20
|
s.add_dependency 'gherkin', '~> 2.12'
|
|
19
21
|
s.add_dependency 'multi_json', '>= 1.7.5', '< 2.0'
|
|
20
|
-
s.add_dependency 'multi_test', '>= 0.
|
|
22
|
+
s.add_dependency 'multi_test', '>= 0.1.2'
|
|
21
23
|
|
|
22
|
-
s.add_development_dependency 'aruba', '~> 0.
|
|
24
|
+
s.add_development_dependency 'aruba', '~> 0.6.1'
|
|
23
25
|
s.add_development_dependency 'json', '~> 1.7'
|
|
24
|
-
s.add_development_dependency 'nokogiri', '~> 1.5
|
|
26
|
+
s.add_development_dependency 'nokogiri', '~> 1.5'
|
|
25
27
|
s.add_development_dependency 'rake', '>= 0.9.2'
|
|
26
|
-
s.add_development_dependency 'rspec', '>=
|
|
28
|
+
s.add_development_dependency 'rspec', '>= 3.0'
|
|
27
29
|
s.add_development_dependency 'simplecov', '>= 0.6.2'
|
|
28
|
-
s.add_development_dependency '
|
|
30
|
+
s.add_development_dependency 'coveralls', '~> 0.7'
|
|
29
31
|
s.add_development_dependency 'syntax', '>= 1.0.0'
|
|
32
|
+
s.add_development_dependency 'pry'
|
|
30
33
|
|
|
31
34
|
# For Documentation:
|
|
32
35
|
s.add_development_dependency 'bcat', '~> 0.6.2'
|
|
@@ -34,15 +37,9 @@ Gem::Specification.new do |s|
|
|
|
34
37
|
s.add_development_dependency 'yard', '~> 0.8.0'
|
|
35
38
|
|
|
36
39
|
# Needed for examples (rake examples)
|
|
37
|
-
s.add_development_dependency 'capybara', '>=
|
|
40
|
+
s.add_development_dependency 'capybara', '>= 2.1'
|
|
38
41
|
s.add_development_dependency 'rack-test', '>= 0.6.1'
|
|
39
|
-
s.add_development_dependency 'ramaze'
|
|
40
42
|
s.add_development_dependency 'sinatra', '>= 1.3.2'
|
|
41
|
-
s.add_development_dependency 'webrat', '>= 0.7.3'
|
|
42
|
-
|
|
43
|
-
# Needed for ruby 1.8.7 support v1.3.x
|
|
44
|
-
s.add_development_dependency 'mime-types', '< 2.0'
|
|
45
|
-
s.add_development_dependency 'rubyzip', '< 1.0'
|
|
46
43
|
|
|
47
44
|
s.rubygems_version = ">= 1.6.1"
|
|
48
45
|
s.files = `git ls-files`.split("\n").reject {|path| path =~ /\.gitignore$/ }
|
data/cucumber.yml
CHANGED
|
@@ -1,30 +1,20 @@
|
|
|
1
1
|
<%
|
|
2
|
+
cucumber_pro_opts = ENV['ENABLE_CUCUMBER_PRO'] ? "--format Cucumber::Pro --out /dev/null" : ""
|
|
2
3
|
rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
|
|
3
4
|
rerun_opts = rerun.to_s.strip.empty? ? "--format progress features" : "--format pretty #{rerun}"
|
|
4
|
-
std_opts = "--format progress features --tags ~@wip"
|
|
5
|
+
std_opts = "--format progress features --tags ~@wip --tag ~@wip-new-core -r features --strict #{cucumber_pro_opts}"
|
|
5
6
|
std_opts << " --tags ~@wip-jruby" if defined?(JRUBY_VERSION)
|
|
6
|
-
begin
|
|
7
|
-
require 'rspec/expectations'
|
|
8
|
-
std_opts << ' --tags ~@rspec1'
|
|
9
|
-
rescue LoadError
|
|
10
|
-
# rspec 1
|
|
11
|
-
std_opts << ' --tags ~@rspec2'
|
|
12
|
-
end
|
|
13
|
-
wip_opts = "--color --tags @wip:3"
|
|
14
|
-
wip_opts << ",@wip-jruby:3" if defined?(JRUBY_VERSION)
|
|
15
7
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
legacy_opts << " --tags ~@wip-jruby" if defined?(JRUBY_VERSION)
|
|
8
|
+
wip_opts = "--color -r features --tags @wip,@wip-new-core"
|
|
9
|
+
wip_opts << ",@wip-jruby" if defined?(JRUBY_VERSION)
|
|
19
10
|
%>
|
|
20
|
-
default:
|
|
21
|
-
jruby:
|
|
22
|
-
jruby_win:
|
|
23
|
-
windows_mri: <%= std_opts %> --tags ~@jruby --tags ~@
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
wip:
|
|
28
|
-
none: --format
|
|
29
|
-
rerun:
|
|
30
|
-
legacy: legacy_features -r legacy_features -f progress --tags ~@spork <%= legacy_opts %>
|
|
11
|
+
default: <%= std_opts %> --tags ~@jruby
|
|
12
|
+
jruby: <%= std_opts %> --tags ~@wire
|
|
13
|
+
jruby_win: <%= std_opts %> --tags ~@wire CUCUMBER_FORWARD_SLASH_PATHS=true
|
|
14
|
+
windows_mri: <%= std_opts %> --tags ~@jruby --tags ~@wire --tags ~@needs-many-fonts CUCUMBER_FORWARD_SLASH_PATHS=true
|
|
15
|
+
ruby_1_9: <%= std_opts %> --tags ~@jruby
|
|
16
|
+
ruby_2_0: <%= std_opts %> --tags ~@jruby
|
|
17
|
+
ruby_2_1: <%= std_opts %> --tags ~@jruby
|
|
18
|
+
wip: --wip <%= wip_opts %> features <%= cucumber_pro_opts %>
|
|
19
|
+
none: --format pretty --format Cucumber::Pro --out /dev/null
|
|
20
|
+
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip --tag ~@wip-new-core <%= cucumber_pro_opts %>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# language: el
|
|
2
|
+
Δυνατότητα: Πρόσθεση
|
|
3
|
+
Για να αποφεύγω χαζά λάθη
|
|
4
|
+
Ως πρωτάρης στα μαθηματικά
|
|
5
|
+
Θέλω να βλέπω το άθροισμα δύο αριθμών
|
|
6
|
+
|
|
7
|
+
Περιγραφή Σεναρίου: Πρόσθεση δύο αριθμών
|
|
8
|
+
Δεδομένου ότι έχω εισάγει <τελεστής_1> στην αριθμομηχανή
|
|
9
|
+
Και έχω εισάγει <τελεστής_2> στην αριθμομηχανή
|
|
10
|
+
Όταν πατάω <κουμπί>
|
|
11
|
+
Τότε το αποτέλεσμα στην οθόνη πρέπει να είναι <αποτέλεσμα>
|
|
12
|
+
|
|
13
|
+
Παραδείγματα:
|
|
14
|
+
| τελεστής_1 | τελεστής_2 | κουμπί | αποτέλεσμα |
|
|
15
|
+
| 20 | 30 | add | 50 |
|
|
16
|
+
| 2 | 5 | add | 7 |
|
|
17
|
+
| 0 | 40 | add | 40 |
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# language: el
|
|
2
|
+
Δυνατότητα: Διαίρεση
|
|
3
|
+
Για να αποφευχθούν χαζά λάθη
|
|
4
|
+
Οι ταμίες θα πρέπει να μπορούν να υπολογίζουν κλάσματα
|
|
5
|
+
|
|
6
|
+
Σενάριο: Κανονικοί αριθμοί
|
|
7
|
+
Δεδομένου ότι έχω εισάγει 3 στην αριθμομηχανή
|
|
8
|
+
Και έχω εισάγει 2 στην αριθμομηχανή
|
|
9
|
+
Όταν πατάω divide
|
|
10
|
+
Τότε το αποτέλεσμα στην οθόνη πρέπει να είναι 1.5
|