cucumber 1.3.20 → 2.0.0.beta.1
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 +7 -0
- data/.coveralls.yml +1 -0
- data/.rspec +1 -1
- data/.travis.yml +1 -2
- data/CONTRIBUTING.md +9 -0
- data/Gemfile +9 -2
- data/History.md +26 -17
- data/LICENSE +2 -2
- data/README.md +4 -4
- data/Rakefile +12 -0
- data/bin/cucumber +1 -5
- data/bin/cuke +60 -0
- data/cucumber.gemspec +10 -15
- data/cucumber.yml +14 -26
- 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/{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/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/fr/Rakefile +3 -1
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +2 -2
- 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-CN/features/{step_definitons → step_definitions}/calculator_steps.rb +4 -4
- data/examples/i18n/zh-TW/features/{step_definitons → step_definitions}/calculator_steps.rb +0 -0
- 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 +25 -0
- data/features/docs/cli/exclude_files.feature +19 -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 +113 -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 +41 -0
- data/features/{nested_steps.feature → docs/defining_steps/nested_steps.feature} +3 -5
- data/features/{nested_steps_i18n.feature → docs/defining_steps/nested_steps_i18n.feature} +0 -2
- data/features/{nested_steps_with_second_arg.feature → docs/defining_steps/nested_steps_with_second_arg.feature} +0 -0
- data/features/{step_definitions.feature → docs/defining_steps/one_line_step_definitions.feature} +3 -3
- data/features/docs/defining_steps/printing_messages.feature +147 -0
- data/features/docs/defining_steps/skip_scenario.feature +33 -0
- data/features/docs/defining_steps/snippets.feature +41 -0
- data/{legacy_features → features/docs/defining_steps}/table_diffing.feature +15 -15
- 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} +21 -24
- data/{legacy_features/exception_in_before_block.feature → features/docs/exception_in_before_hook.feature} +18 -20
- data/features/{custom_formatter.feature → docs/extending_cucumber/custom_formatter.feature} +3 -8
- data/features/{formatter_callbacks.feature → docs/extending_cucumber/formatter_callbacks.feature} +185 -4
- data/{legacy_features/listener_debugger_formatter.feature → features/docs/formatters/debug_formatter.feature} +13 -15
- 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/{json_formatter.feature → docs/formatters/json_formatter.feature} +109 -247
- data/features/docs/formatters/junit_formatter.feature +275 -0
- data/features/{pretty_formatter.feature → docs/formatters/pretty_formatter.feature} +1 -1
- data/features/{progress_formatter.feature → docs/formatters/progress_formatter.feature} +1 -1
- data/features/docs/formatters/rerun_formatter.feature +135 -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 +154 -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/features/{iso-8859-1.feature → docs/iso-8859-1.feature} +0 -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/features/docs/report_called_undefined_steps.feature +57 -0
- data/{legacy_features → features/docs}/wire_protocol.feature +36 -31
- data/{legacy_features → features/docs}/wire_protocol_erb.feature +5 -6
- data/{legacy_features → features/docs}/wire_protocol_table_diffing.feature +14 -12
- data/{legacy_features → features/docs}/wire_protocol_tags.feature +6 -7
- data/{legacy_features → features/docs}/wire_protocol_timeouts.feature +6 -6
- data/{legacy_features → features/docs}/work_in_progress.feature +52 -54
- data/{legacy_features → features/docs/writing_support_code}/around_hooks.feature +25 -28
- data/features/docs/writing_support_code/before_hook.feature +61 -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/{tagged_hooks.feature → docs/writing_support_code/tagged_hooks.feature} +11 -13
- 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/{legacy_features → features/lib}/step_definitions/wire_steps.rb +16 -9
- data/features/lib/support/env.rb +21 -0
- data/{legacy_features → features/lib}/support/fake_wire_server.rb +0 -0
- 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 +1 -10
- data/gem_tasks/rspec.rake +0 -2
- data/gem_tasks/yard.rake +4 -1
- data/lib/cucumber.rb +1 -3
- data/lib/cucumber/cli/configuration.rb +30 -25
- data/lib/cucumber/cli/main.rb +13 -25
- data/lib/cucumber/cli/options.rb +15 -57
- 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/errors.rb +3 -1
- data/lib/cucumber/file_specs.rb +35 -0
- data/lib/cucumber/formatter/console.rb +32 -21
- data/lib/cucumber/formatter/debug.rb +5 -0
- data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +8 -38
- data/lib/cucumber/formatter/html.rb +29 -21
- data/lib/cucumber/formatter/junit.rb +10 -7
- data/lib/cucumber/formatter/pretty.rb +2 -8
- data/lib/cucumber/formatter/rerun.rb +2 -3
- data/lib/cucumber/formatter/unicode.rb +8 -21
- data/lib/cucumber/formatter/usage.rb +65 -2
- data/lib/cucumber/language_support/language_methods.rb +1 -1
- data/lib/cucumber/mappings.rb +212 -0
- data/lib/cucumber/multiline_argument.rb +115 -0
- data/lib/cucumber/platform.rb +21 -22
- data/lib/cucumber/rake/task.rb +3 -54
- data/lib/cucumber/rb_support/rb_language.rb +2 -5
- data/lib/cucumber/rb_support/rb_world.rb +14 -19
- data/lib/cucumber/rb_support/snippet.rb +60 -19
- data/lib/cucumber/reports/legacy_formatter.rb +1279 -0
- data/lib/cucumber/runtime.rb +176 -26
- data/lib/cucumber/runtime/for_programming_languages.rb +10 -4
- data/lib/cucumber/runtime/gated_receiver.rb +21 -0
- data/lib/cucumber/runtime/support_code.rb +9 -7
- data/lib/cucumber/runtime/tag_limits.rb +15 -0
- data/lib/cucumber/runtime/tag_limits/filter.rb +31 -0
- data/lib/cucumber/runtime/tag_limits/test_case_index.rb +29 -0
- data/lib/cucumber/runtime/tag_limits/verifier.rb +57 -0
- data/lib/cucumber/runtime/user_interface.rb +4 -0
- data/lib/cucumber/step_match.rb +3 -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/spec/cucumber/cli/configuration_spec.rb +151 -150
- 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 +9 -8
- data/spec/cucumber/configuration_spec.rb +3 -3
- data/spec/cucumber/constantize_spec.rb +2 -1
- data/spec/cucumber/core_ext/proc_spec.rb +32 -43
- data/spec/cucumber/file_specs_spec.rb +41 -0
- data/spec/cucumber/formatter/ansicolor_spec.rb +11 -10
- data/spec/cucumber/formatter/debug_spec.rb +569 -0
- data/spec/cucumber/formatter/duration_spec.rb +6 -6
- data/spec/cucumber/formatter/html_spec.rb +53 -62
- data/spec/cucumber/formatter/interceptor_spec.rb +38 -31
- data/spec/cucumber/formatter/junit_spec.rb +34 -28
- data/spec/cucumber/formatter/pretty_spec.rb +238 -52
- data/spec/cucumber/formatter/progress_spec.rb +2 -2
- data/spec/cucumber/formatter/spec_helper.rb +23 -17
- data/spec/cucumber/rake/forked_spec.rb +13 -22
- data/spec/cucumber/rb_support/rb_language_spec.rb +76 -67
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +63 -42
- data/spec/cucumber/rb_support/rb_transform_spec.rb +4 -3
- data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +6 -4
- data/spec/cucumber/rb_support/snippet_spec.rb +42 -33
- data/spec/cucumber/reports/legacy_formatter_spec.rb +1750 -0
- data/spec/cucumber/runtime/for_programming_languages_spec.rb +11 -10
- data/spec/cucumber/runtime/gated_receiver_spec.rb +47 -0
- data/spec/cucumber/runtime/results_spec.rb +33 -26
- data/spec/cucumber/runtime/support_code_spec.rb +29 -29
- data/spec/cucumber/runtime/tag_limits/filter_spec.rb +59 -0
- data/spec/cucumber/runtime/tag_limits/test_case_index_spec.rb +38 -0
- data/spec/cucumber/runtime/tag_limits/verifier_spec.rb +57 -0
- data/spec/cucumber/runtime_spec.rb +39 -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 +3 -9
- metadata +298 -507
- 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 -722
- 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 -26
- data/features/drb_server_integration.feature +0 -63
- data/features/execute_with_tag_filter.feature +0 -63
- data/features/parsing.feature +0 -18
- data/features/rerun_formatter.feature +0 -99
- 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 -57
- data/features/step_definitions/drb_steps.rb +0 -3
- data/features/support/env.rb +0 -57
- 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.html +0 -138
- 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/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/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/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/lib/README.rdoc +0 -12
- data/lib/cucumber/ast.rb +0 -30
- 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/table.rb +0 -738
- 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 -101
- 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.rb +0 -2
- data/lib/cucumber/parser/gherkin_builder.rb +0 -284
- 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/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/table_spec.rb +0 -594
- 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/wire_support/wire_step_definition_spec.rb +0 -20
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA1:
|
|
3
|
+
metadata.gz: 514eb451f10f568e1402ba020ee3ee6256032dca
|
|
4
|
+
data.tar.gz: 1e21fe76f4e75993ef5effa867cddc1f0ef823ef
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: f6a83f29f65355640bd4df83bd8bcac5b086445318c76cf3250e7ae2db1aacdfe4b6753546f983111014b1536f7944176e959c9783cba9baa8a3305a3c745947
|
|
7
|
+
data.tar.gz: 996994c7adba08dc88ca282cd1e7de86095940ae3780fc032b3a58d7c44635674802989f2aaaf13cf99a1d84837c1d3ee3d85fc8c77d964eb227acab0f54a130
|
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,26 +1,35 @@
|
|
|
1
|
-
## [
|
|
1
|
+
## [v2.0.0.pre (unreleased)](https://github.com/cucumber/cucumber/compare/v1.3.8...master)
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
Version 2.0 contains a major internal redesign, extracting the core logic of
|
|
4
|
+
parsing and executing tests into a [separate gem](https://github.com/cucumber/cucumber-ruby-core).
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Although we've tried to keep the API and behaviour consistent through this change,
|
|
7
|
+
there are bound to be differences our tests haven't picked up. We're still working through
|
|
8
|
+
a backlog of scenarios that are not yet passing. Run `cucumber -p wip` to see them
|
|
9
|
+
all.
|
|
7
10
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
*
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
### New features
|
|
12
|
+
|
|
13
|
+
* Better snippet comment ([579](https://github.com/cucumber/cucumber/pull/579) Jeff Nyman)
|
|
14
|
+
* Random scenario ordering with `--order random`
|
|
15
|
+
* Embed plain text ([712](https://github.com/cucumber/cucumber/pull/712) @bingwei
|
|
16
|
+
|
|
17
|
+
### Features removed
|
|
18
|
+
|
|
19
|
+
* Removed deprecated StepMother and Ast::Visitor classes (Matt Wynne)
|
|
20
|
+
* Remove support for i18n nested step methods (Matt Wynne)
|
|
21
|
+
* Remove experimental .js and .py support (Matt Wynne)
|
|
22
|
+
* Remove Ruby 1.8.7 support, including RCov
|
|
13
23
|
|
|
14
|
-
|
|
24
|
+
### API Changes
|
|
15
25
|
|
|
16
|
-
*
|
|
26
|
+
* String arguments passed to step definitions are immutable (frozen). This is
|
|
27
|
+
to prevent garbled output in case an argument gets modified. If you need to
|
|
28
|
+
modify an argument, `dup` it first. (Aslak Hellesøy)
|
|
17
29
|
|
|
18
|
-
|
|
30
|
+
### Minor changes
|
|
19
31
|
|
|
20
|
-
*
|
|
21
|
-
* Support embedding images directly in HTML files ([696](https://github.com/cucumber/cucumber/pull/696) @brasmusson)
|
|
22
|
-
* Support embedding images directly in Gherkin formatters ([695](https://github.com/cucumber/cucumber/pull/695) @brasmusson)
|
|
23
|
-
* Fix JSON formatter output for expand mode ([700](https://github.com/cucumber/cucumber/pull/700) @brasmusson)
|
|
32
|
+
* Greek examples added ([497](https://github.com/cucumber/cucumber/issues/497) @rousisk)
|
|
24
33
|
|
|
25
34
|
## [v1.3.16](https://github.com/cucumber/cucumber/compare/v1.3.15...v1.3.16)
|
|
26
35
|
|
|
@@ -101,7 +110,7 @@
|
|
|
101
110
|
|
|
102
111
|
## [1.3.3](https://github.com/cucumber/cucumber/compare/v1.3.2...v1.3.3)
|
|
103
112
|
|
|
104
|
-
* Fix compatability with MiniTest 5.0 ([#456](https://github.com
|
|
113
|
+
* Fix compatability with MiniTest 5.0 ([#456](https://github.com/cucumber/cucumber/issues/456) Matt Wynne)
|
|
105
114
|
* Warn that Spork support is broken (Steve Tooke)
|
|
106
115
|
* Fix error with Ruby 2.0.0 and `Cucumber::RUBY_1_8_7`
|
|
107
116
|
([#492](https://github.com/cucumber/cucumber/issues/492) Matt Wynne)
|
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,7 +6,19 @@ 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
11
|
task :default => [:spec, :cucumber]
|
|
10
12
|
|
|
13
|
+
if ENV['TRAVIS']
|
|
14
|
+
ENV['SIMPLECOV'] = 'ci'
|
|
15
|
+
ENV['JRUBY_OPTS'] = [ENV['JRUBY_OPTS'], '--debug'].compact.join(' ')
|
|
16
|
+
|
|
17
|
+
require 'coveralls/rake/task'
|
|
18
|
+
Coveralls::RakeTask.new
|
|
19
|
+
|
|
20
|
+
task :default => [:spec, :cucumber, 'coveralls:push']
|
|
21
|
+
end
|
|
22
|
+
|
|
11
23
|
require 'rake/clean'
|
|
12
24
|
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/bin/cuke
ADDED
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# encoding: UTF-8
|
|
3
|
+
$: << File.dirname(__FILE__) + '/../lib'
|
|
4
|
+
$: << File.dirname(__FILE__) + '/../../cucumber-ruby-core/lib'
|
|
5
|
+
|
|
6
|
+
require 'cucumber/platform'
|
|
7
|
+
|
|
8
|
+
module Cucumber
|
|
9
|
+
|
|
10
|
+
features_glob = ARGV[0] || 'features/**/*.feature'
|
|
11
|
+
feature_files = Dir[features_glob].reject { |f| f =~ /iso-8859-1/ }
|
|
12
|
+
puts "Running features:"
|
|
13
|
+
p feature_files
|
|
14
|
+
|
|
15
|
+
require 'cucumber/core'
|
|
16
|
+
extend Cucumber::Core
|
|
17
|
+
|
|
18
|
+
require 'cucumber/core/gherkin/document'
|
|
19
|
+
features = feature_files.map do |file|
|
|
20
|
+
Cucumber::Core::Gherkin::Document.new(file, File.read(file))
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
require 'cucumber/mappings'
|
|
24
|
+
mappings = Mappings.new
|
|
25
|
+
|
|
26
|
+
require 'cucumber/formatter/report_adapter'
|
|
27
|
+
require 'cucumber/formatter/progress'
|
|
28
|
+
require 'cucumber/formatter/pretty'
|
|
29
|
+
formatter_options = {
|
|
30
|
+
skip_profile_information: true,
|
|
31
|
+
source: true,
|
|
32
|
+
}
|
|
33
|
+
formatter = Cucumber::Formatter::Pretty.new(mappings.runtime, STDOUT, formatter_options)
|
|
34
|
+
report = Cucumber::Formatter::ReportAdapter.new(mappings.runtime, formatter)
|
|
35
|
+
|
|
36
|
+
DebugReport = Class.new do
|
|
37
|
+
def before_test_case(test_case)
|
|
38
|
+
puts
|
|
39
|
+
puts test_case.inspect
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def after_test_case(test_case, result)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def before_test_step(test_step)
|
|
46
|
+
puts ' ' + test_step.inspect
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
def after_test_step(test_step, result)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
def after_suite
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
#report = DebugReport.new
|
|
56
|
+
|
|
57
|
+
require 'cucumber/core/test/tag_filter'
|
|
58
|
+
execute features, mappings, report, [[Cucumber::Core::Test::TagFilter, ['~@jruby']]]
|
|
59
|
+
report.after_suite
|
|
60
|
+
end
|
data/cucumber.gemspec
CHANGED
|
@@ -9,24 +9,25 @@ 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.0.0.beta.1'
|
|
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.1.
|
|
22
|
+
s.add_dependency 'multi_test', '>= 0.1.1'
|
|
21
23
|
|
|
22
|
-
s.add_development_dependency 'aruba', '
|
|
24
|
+
s.add_development_dependency 'aruba', '~> 0.5.3'
|
|
23
25
|
s.add_development_dependency 'json', '~> 1.7'
|
|
24
|
-
s.add_development_dependency 'nokogiri', '~> 1.5
|
|
25
|
-
s.add_development_dependency 'rake', '>= 0.9.2'
|
|
26
|
-
s.add_development_dependency 'rspec', '
|
|
27
|
-
s.add_development_dependency 'test-unit'
|
|
26
|
+
s.add_development_dependency 'nokogiri', '~> 1.5'
|
|
27
|
+
s.add_development_dependency 'rake', '>= 0.9.2'
|
|
28
|
+
s.add_development_dependency 'rspec', '>= 3.0'
|
|
28
29
|
s.add_development_dependency 'simplecov', '>= 0.6.2'
|
|
29
|
-
s.add_development_dependency '
|
|
30
|
+
s.add_development_dependency 'coveralls', '~> 0.7'
|
|
30
31
|
s.add_development_dependency 'syntax', '>= 1.0.0'
|
|
31
32
|
|
|
32
33
|
# For Documentation:
|
|
@@ -35,15 +36,9 @@ Gem::Specification.new do |s|
|
|
|
35
36
|
s.add_development_dependency 'yard', '~> 0.8.0'
|
|
36
37
|
|
|
37
38
|
# Needed for examples (rake examples)
|
|
38
|
-
s.add_development_dependency 'capybara', '>=
|
|
39
|
+
s.add_development_dependency 'capybara', '>= 2.1'
|
|
39
40
|
s.add_development_dependency 'rack-test', '>= 0.6.1'
|
|
40
|
-
s.add_development_dependency 'ramaze'
|
|
41
41
|
s.add_development_dependency 'sinatra', '>= 1.3.2'
|
|
42
|
-
s.add_development_dependency 'webrat', '>= 0.7.3'
|
|
43
|
-
|
|
44
|
-
# Needed for ruby 1.8.7 support v1.3.x
|
|
45
|
-
s.add_development_dependency 'mime-types', '< 2.0'
|
|
46
|
-
s.add_development_dependency 'rubyzip', '< 1.0'
|
|
47
42
|
|
|
48
43
|
s.rubygems_version = ">= 1.6.1"
|
|
49
44
|
s.files = `git ls-files`.split("\n").reject {|path| path =~ /\.gitignore$/ }
|
data/cucumber.yml
CHANGED
|
@@ -1,32 +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
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
none: --format pretty
|
|
31
|
-
rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
|
|
32
|
-
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 %>
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -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
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
|
|
3
|
+
require 'cucumber/formatter/unicode'
|
|
4
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib')
|
|
5
|
+
require 'calculator'
|
|
6
|
+
|
|
7
|
+
Before do
|
|
8
|
+
@calc = Calculator.new
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
After do
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
Δεδομένου ότι /έχω εισάγει (\d+) στην αριθμομηχανή/ do |n|
|
|
15
|
+
@calc.push n.to_i
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
Όταν /πατάω (\w+)/ do |op|
|
|
19
|
+
@result = @calc.send op
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
Τότε /το αποτέλεσμα στην οθόνη πρέπει να είναι (.*)/ do |result|
|
|
23
|
+
@result.should == result.to_f
|
|
24
|
+
end
|