jwilger-cucumber 0.3.11.200906161550
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.
- data/History.txt +830 -0
- data/License.txt +20 -0
- data/Manifest.txt +410 -0
- data/README.txt +4 -0
- data/Rakefile +9 -0
- data/bin/cucumber +17 -0
- data/config/hoe.rb +76 -0
- data/config/requirements.rb +15 -0
- data/cucumber.yml +2 -0
- data/examples/cs/README.textile +1 -0
- data/examples/cs/Rakefile +12 -0
- data/examples/cs/compile.bat +1 -0
- data/examples/cs/features/addition.feature +16 -0
- data/examples/cs/features/step_definitons/calculator_steps.rb +19 -0
- data/examples/cs/src/demo/Calculator.cs +20 -0
- data/examples/dos_line_endings/Rakefile +6 -0
- data/examples/dos_line_endings/features/dos_line_endings.feature +9 -0
- data/examples/i18n/README.textile +18 -0
- data/examples/i18n/Rakefile +30 -0
- data/examples/i18n/ar/Rakefile +6 -0
- data/examples/i18n/ar/features/addition.feature +17 -0
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ar/lib/calculator.rb +11 -0
- data/examples/i18n/bg/Rakefile +6 -0
- data/examples/i18n/bg/features/addition.feature +12 -0
- data/examples/i18n/bg/features/consecutive_calculations.feature +19 -0
- data/examples/i18n/bg/features/division.feature +17 -0
- data/examples/i18n/bg/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/bg/features/support/env.rb +6 -0
- data/examples/i18n/bg/features/support/world.rb +8 -0
- data/examples/i18n/bg/lib/calculator.rb +24 -0
- data/examples/i18n/cat/Rakefile +6 -0
- data/examples/i18n/cat/features/step_definitons/calculator_steps.rb +21 -0
- data/examples/i18n/cat/features/suma.feature +17 -0
- data/examples/i18n/cat/lib/calculadora.rb +16 -0
- data/examples/i18n/da/Rakefile +6 -0
- data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +24 -0
- data/examples/i18n/da/features/summering.feature +18 -0
- data/examples/i18n/da/lib/kalkulator.rb +11 -0
- data/examples/i18n/de/Rakefile +6 -0
- data/examples/i18n/de/features/addition.feature +17 -0
- data/examples/i18n/de/features/division.feature +10 -0
- data/examples/i18n/de/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/de/lib/calculator.rb +14 -0
- data/examples/i18n/en/Rakefile +6 -0
- data/examples/i18n/en/features/addition.feature +17 -0
- data/examples/i18n/en/features/division.feature +10 -0
- data/examples/i18n/en/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/en/lib/calculator.rb +14 -0
- data/examples/i18n/en-lol/Rakefile +6 -0
- data/examples/i18n/en-lol/features/step_definitions/cucumbrz_steps.rb +16 -0
- data/examples/i18n/en-lol/features/stuffing.feature +8 -0
- data/examples/i18n/en-lol/features/support/env.rb +8 -0
- data/examples/i18n/en-lol/lib/basket.rb +12 -0
- data/examples/i18n/en-lol/lib/belly.rb +11 -0
- data/examples/i18n/es/Rakefile +6 -0
- data/examples/i18n/es/features/adicion.feature +17 -0
- data/examples/i18n/es/features/step_definitons/calculador_steps.rb +21 -0
- data/examples/i18n/es/lib/calculador.rb +14 -0
- data/examples/i18n/et/Rakefile +6 -0
- data/examples/i18n/et/features/jagamine.feature +10 -0
- data/examples/i18n/et/features/liitmine.feature +17 -0
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +24 -0
- data/examples/i18n/et/lib/kalkulaator.rb +14 -0
- data/examples/i18n/fi/Rakefile +6 -0
- data/examples/i18n/fi/features/jakolasku.feature +10 -0
- data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +24 -0
- data/examples/i18n/fi/features/yhteenlasku.feature +16 -0
- data/examples/i18n/fi/lib/laskin.rb +14 -0
- data/examples/i18n/fr/Rakefile +6 -0
- data/examples/i18n/fr/features/addition.feature +18 -0
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +25 -0
- data/examples/i18n/fr/lib/calculatrice.rb +10 -0
- data/examples/i18n/he/Rakefile +6 -0
- data/examples/i18n/he/features/addition.feature +17 -0
- data/examples/i18n/he/features/division.feature +10 -0
- data/examples/i18n/he/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/he/lib/calculator.rb +14 -0
- data/examples/i18n/hu/Rakefile +6 -0
- data/examples/i18n/hu/features/addition.feature +17 -0
- data/examples/i18n/hu/features/division.feature +10 -0
- data/examples/i18n/hu/features/step_definitons/calculator_steps.rb +25 -0
- data/examples/i18n/hu/lib/calculator.rb +14 -0
- data/examples/i18n/id/Rakefile +6 -0
- data/examples/i18n/id/features/addition.feature +17 -0
- data/examples/i18n/id/features/division.feature +10 -0
- data/examples/i18n/id/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/id/lib/calculator.rb +14 -0
- data/examples/i18n/it/Rakefile +6 -0
- data/examples/i18n/it/features/somma.feature +11 -0
- data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +24 -0
- data/examples/i18n/it/lib/calcolatrice.rb +11 -0
- data/examples/i18n/ja/Rakefile +6 -0
- data/examples/i18n/ja/features/addition.feature +17 -0
- data/examples/i18n/ja/features/division.feature +10 -0
- data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ja/lib/calculator.rb +14 -0
- data/examples/i18n/ko/Rakefile +6 -0
- data/examples/i18n/ko/features/addition.feature +17 -0
- data/examples/i18n/ko/features/division.feature +11 -0
- data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ko/lib/calculator.rb +14 -0
- data/examples/i18n/lt/Rakefile +6 -0
- data/examples/i18n/lt/features/addition.feature +17 -0
- data/examples/i18n/lt/features/division.feature +10 -0
- data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/lt/lib/calculator.rb +14 -0
- data/examples/i18n/lv/Rakefile +6 -0
- data/examples/i18n/lv/features/addition.feature +17 -0
- data/examples/i18n/lv/features/division.feature +10 -0
- data/examples/i18n/lv/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/lv/lib/calculator.rb +14 -0
- data/examples/i18n/no/Rakefile +6 -0
- data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +17 -0
- data/examples/i18n/no/features/summering.feature +19 -0
- data/examples/i18n/no/features/support/env.rb +6 -0
- data/examples/i18n/no/lib/kalkulator.rb +11 -0
- data/examples/i18n/pl/Rakefile +6 -0
- data/examples/i18n/pl/features/addition.feature +17 -0
- data/examples/i18n/pl/features/division.feature +10 -0
- data/examples/i18n/pl/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/pl/features/support/env.rb +6 -0
- data/examples/i18n/pl/lib/calculator.rb +14 -0
- data/examples/i18n/pt/Rakefile +6 -0
- data/examples/i18n/pt/features/adicao.feature +11 -0
- data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +20 -0
- data/examples/i18n/pt/features/support/env.rb +6 -0
- data/examples/i18n/pt/lib/calculadora.rb +10 -0
- data/examples/i18n/ro/Rakefile +6 -0
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/ro/features/suma.feature +11 -0
- data/examples/i18n/ro/lib/calculator.rb +11 -0
- data/examples/i18n/ru/Rakefile +6 -0
- data/examples/i18n/ru/features/addition.feature +11 -0
- data/examples/i18n/ru/features/consecutive_calculations.feature +17 -0
- data/examples/i18n/ru/features/division.feature +16 -0
- data/examples/i18n/ru/features/step_definitons/calculator_steps.rb +19 -0
- data/examples/i18n/ru/features/support/env.rb +6 -0
- data/examples/i18n/ru/features/support/world.rb +8 -0
- data/examples/i18n/ru/lib/calculator.rb +24 -0
- data/examples/i18n/se/Rakefile +6 -0
- data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +24 -0
- data/examples/i18n/se/features/summering.feature +18 -0
- data/examples/i18n/se/lib/kalkulator.rb +11 -0
- data/examples/i18n/sk/Rakefile +6 -0
- data/examples/i18n/sk/features/addition.feature +17 -0
- data/examples/i18n/sk/features/division.feature +10 -0
- data/examples/i18n/sk/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/sk/lib/calculator.rb +14 -0
- data/examples/i18n/zh-CN/Rakefile +6 -0
- data/examples/i18n/zh-CN/features/addition.feature +18 -0
- data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +26 -0
- data/examples/i18n/zh-CN/lib/calculator.rb +10 -0
- data/examples/i18n/zh-TW/Rakefile +6 -0
- data/examples/i18n/zh-TW/features/addition.feature +17 -0
- data/examples/i18n/zh-TW/features/division.feature +11 -0
- data/examples/i18n/zh-TW/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/zh-TW/lib/calculator.rb +14 -0
- data/examples/java/README.textile +18 -0
- data/examples/java/build.xml +33 -0
- data/examples/java/features/hello.feature +11 -0
- data/examples/java/features/step_definitons/hello_steps.rb +23 -0
- data/examples/java/features/step_definitons/tree_steps.rb +14 -0
- data/examples/java/features/tree.feature +9 -0
- data/examples/java/src/cucumber/demo/Hello.java +16 -0
- data/examples/junit/features/one_passing_one_failing.feature +8 -0
- data/examples/junit/features/pending.feature +5 -0
- data/examples/junit/features/step_definitions/steps.rb +11 -0
- data/examples/pure_java/README.textile +5 -0
- data/examples/selenium/Rakefile +6 -0
- data/examples/selenium/features/search.feature +9 -0
- data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
- data/examples/selenium/features/support/env.rb +19 -0
- data/examples/selenium_webrat/Rakefile +6 -0
- data/examples/selenium_webrat/config.ru +0 -0
- data/examples/selenium_webrat/features/search.feature +9 -0
- data/examples/selenium_webrat/features/step_definitons/search_steps.rb +13 -0
- data/examples/selenium_webrat/features/support/env.rb +45 -0
- data/examples/self_test/README.textile +6 -0
- data/examples/self_test/Rakefile +6 -0
- data/examples/self_test/features/background/background_tagged_before_on_outline.feature +12 -0
- data/examples/self_test/features/background/background_with_name.feature +7 -0
- data/examples/self_test/features/background/failing_background.feature +12 -0
- data/examples/self_test/features/background/failing_background_after_success.feature +11 -0
- data/examples/self_test/features/background/multiline_args_background.feature +32 -0
- data/examples/self_test/features/background/passing_background.feature +10 -0
- data/examples/self_test/features/background/pending_background.feature +10 -0
- data/examples/self_test/features/background/scenario_outline_failing_background.feature +16 -0
- data/examples/self_test/features/background/scenario_outline_passing_background.feature +16 -0
- data/examples/self_test/features/call_undefined_step_from_step_def.feature +7 -0
- data/examples/self_test/features/failing_expectation.feature +4 -0
- data/examples/self_test/features/lots_of_undefined.feature +8 -0
- data/examples/self_test/features/multiline_name.feature +27 -0
- data/examples/self_test/features/outline_sample.feature +15 -0
- data/examples/self_test/features/sample.feature +21 -0
- data/examples/self_test/features/search_sample.feature +32 -0
- data/examples/self_test/features/step_definitions/sample_steps.rb +81 -0
- data/examples/self_test/features/support/env.rb +17 -0
- data/examples/self_test/features/tons_of_cukes.feature +52 -0
- data/examples/self_test/features/undefined_multiline_args.feature +12 -0
- data/examples/sinatra/Rakefile +6 -0
- data/examples/sinatra/app.rb +14 -0
- data/examples/sinatra/features/add.feature +11 -0
- data/examples/sinatra/features/step_definitions/add_steps.rb +15 -0
- data/examples/sinatra/features/support/env.rb +28 -0
- data/examples/sinatra/views/add.erb +5 -0
- data/examples/sinatra/views/layout.erb +8 -0
- data/examples/steps_library/features/step_definitions/steps_lib1.rb +8 -0
- data/examples/steps_library/features/step_definitions/steps_lib2.rb +8 -0
- data/examples/test_unit/Rakefile +6 -0
- data/examples/test_unit/features/step_definitions/test_unit_steps.rb +23 -0
- data/examples/test_unit/features/test_unit.feature +9 -0
- data/examples/tickets/Rakefile +16 -0
- data/examples/tickets/features/172.feature +28 -0
- data/examples/tickets/features/177/1.feature +29 -0
- data/examples/tickets/features/177/2.feature +21 -0
- data/examples/tickets/features/177/3.feature +18 -0
- data/examples/tickets/features/180.feature +7 -0
- data/examples/tickets/features/229/tagged_hooks.feature +8 -0
- data/examples/tickets/features/229/tagged_hooks.rb +14 -0
- data/examples/tickets/features/236.feature +13 -0
- data/examples/tickets/features/241.feature +13 -0
- data/examples/tickets/features/246.feature +4 -0
- data/examples/tickets/features/248.feature +11 -0
- data/examples/tickets/features/270/back.feature +14 -0
- data/examples/tickets/features/270/back.steps.rb +14 -0
- data/examples/tickets/features/272/hooks.feature +26 -0
- data/examples/tickets/features/272/hooks_steps.rb +53 -0
- data/examples/tickets/features/279/py_string_indent.feature +25 -0
- data/examples/tickets/features/279/py_string_indent.steps.rb +12 -0
- data/examples/tickets/features/279/wrong.feature_ +11 -0
- data/examples/tickets/features/301/filter_background_tagged_hooks.feature +6 -0
- data/examples/tickets/features/301/filter_background_tagged_hooks_steps.rb +12 -0
- data/examples/tickets/features/306/only_background.feature +4 -0
- data/examples/tickets/features/lib/eatting_machine.rb +18 -0
- data/examples/tickets/features/lib/pantry.rb +20 -0
- data/examples/tickets/features/scenario_outline.feature +95 -0
- data/examples/tickets/features/step_definitons/246_steps.rb +3 -0
- data/examples/tickets/features/step_definitons/248_steps.rb +15 -0
- data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +42 -0
- data/examples/tickets/features/step_definitons/tickets_steps.rb +66 -0
- data/examples/tickets/features/tickets.feature +28 -0
- data/examples/watir/README.textile +16 -0
- data/examples/watir/Rakefile +6 -0
- data/examples/watir/features/search.feature +12 -0
- data/examples/watir/features/step_definitons/search_steps.rb +22 -0
- data/examples/watir/features/support/env.rb +32 -0
- data/features/after_block_exceptions.feature +102 -0
- data/features/after_step_block_exceptions.feature +104 -0
- data/features/background.feature +311 -0
- data/features/bug_371.feature +32 -0
- data/features/cucumber_cli.feature +549 -0
- data/features/cucumber_cli_diff_disabled.feature +53 -0
- data/features/cucumber_cli_outlines.feature +109 -0
- data/features/custom_formatter.feature +11 -0
- data/features/drb_server_integration.feature +115 -0
- data/features/exclude_files.feature +20 -0
- data/features/expand.feature +49 -0
- data/features/html_formatter/a.html +185 -0
- data/features/html_formatter.feature +7 -0
- data/features/junit_formatter.feature +71 -0
- data/features/language_from_header.feature +30 -0
- data/features/multiline_names.feature +43 -0
- data/features/rake_task.feature +150 -0
- data/features/report_called_undefined_steps.feature +35 -0
- data/features/snippet.feature +22 -0
- data/features/step_definitions/cucumber_steps.rb +130 -0
- data/features/step_definitions/extra_steps.rb +2 -0
- data/features/steps_formatter.feature +25 -0
- data/features/support/env.rb +120 -0
- data/features/usage.feature +126 -0
- data/features/work_in_progress.feature +151 -0
- data/gem_tasks/deployment.rake +11 -0
- data/gem_tasks/environment.rake +7 -0
- data/gem_tasks/features.rake +10 -0
- data/gem_tasks/fix_cr_lf.rake +10 -0
- data/gem_tasks/flog.rake +4 -0
- data/gem_tasks/gemspec.rake +10 -0
- data/gem_tasks/rspec.rake +45 -0
- data/gem_tasks/sass.rake +4 -0
- data/gem_tasks/yard.rake +8 -0
- data/lib/autotest/cucumber.rb +6 -0
- data/lib/autotest/cucumber_mixin.rb +125 -0
- data/lib/autotest/cucumber_rails.rb +6 -0
- data/lib/autotest/cucumber_rails_rspec.rb +6 -0
- data/lib/autotest/cucumber_rspec.rb +6 -0
- data/lib/autotest/discover.rb +9 -0
- data/lib/cucumber/ast/background.rb +62 -0
- data/lib/cucumber/ast/comment.rb +30 -0
- data/lib/cucumber/ast/examples.rb +26 -0
- data/lib/cucumber/ast/feature.rb +58 -0
- data/lib/cucumber/ast/feature_element.rb +57 -0
- data/lib/cucumber/ast/features.rb +30 -0
- data/lib/cucumber/ast/outline_table.rb +143 -0
- data/lib/cucumber/ast/py_string.rb +57 -0
- data/lib/cucumber/ast/scenario.rb +83 -0
- data/lib/cucumber/ast/scenario_outline.rb +93 -0
- data/lib/cucumber/ast/step.rb +112 -0
- data/lib/cucumber/ast/step_collection.rb +75 -0
- data/lib/cucumber/ast/step_invocation.rb +136 -0
- data/lib/cucumber/ast/table.rb +334 -0
- data/lib/cucumber/ast/tags.rb +33 -0
- data/lib/cucumber/ast/visitor.rb +116 -0
- data/lib/cucumber/ast.rb +29 -0
- data/lib/cucumber/broadcaster.rb +13 -0
- data/lib/cucumber/cli/configuration.rb +427 -0
- data/lib/cucumber/cli/drb_client.rb +20 -0
- data/lib/cucumber/cli/language_help_formatter.rb +59 -0
- data/lib/cucumber/cli/main.rb +136 -0
- data/lib/cucumber/core_ext/exception.rb +53 -0
- data/lib/cucumber/core_ext/instance_exec.rb +67 -0
- data/lib/cucumber/core_ext/proc.rb +29 -0
- data/lib/cucumber/core_ext/string.rb +48 -0
- data/lib/cucumber/feature_file.rb +47 -0
- data/lib/cucumber/filter.rb +50 -0
- data/lib/cucumber/formatter/ansicolor.rb +110 -0
- data/lib/cucumber/formatter/color_io.rb +23 -0
- data/lib/cucumber/formatter/console.rb +149 -0
- data/lib/cucumber/formatter/cucumber.css +132 -0
- data/lib/cucumber/formatter/cucumber.sass +139 -0
- data/lib/cucumber/formatter/duration.rb +10 -0
- data/lib/cucumber/formatter/html.rb +258 -0
- data/lib/cucumber/formatter/junit.rb +75 -0
- data/lib/cucumber/formatter/pretty.rb +188 -0
- data/lib/cucumber/formatter/profile.rb +77 -0
- data/lib/cucumber/formatter/progress.rb +60 -0
- data/lib/cucumber/formatter/rerun.rb +44 -0
- data/lib/cucumber/formatter/steps.rb +49 -0
- data/lib/cucumber/formatter/tag_cloud.rb +28 -0
- data/lib/cucumber/formatter/unicode.rb +35 -0
- data/lib/cucumber/formatter/usage.rb +85 -0
- data/lib/cucumber/formatters/unicode.rb +7 -0
- data/lib/cucumber/languages.yml +532 -0
- data/lib/cucumber/parser/feature.rb +1787 -0
- data/lib/cucumber/parser/feature.tt +324 -0
- data/lib/cucumber/parser/i18n/language.rb +80 -0
- data/lib/cucumber/parser/i18n.tt +42 -0
- data/lib/cucumber/parser/table.rb +414 -0
- data/lib/cucumber/parser/table.tt +71 -0
- data/lib/cucumber/parser/treetop_ext.rb +52 -0
- data/lib/cucumber/parser.rb +6 -0
- data/lib/cucumber/platform.rb +23 -0
- data/lib/cucumber/rails/rspec.rb +10 -0
- data/lib/cucumber/rails/world.rb +99 -0
- data/lib/cucumber/rake/task.rb +233 -0
- data/lib/cucumber/rspec_neuter.rb +23 -0
- data/lib/cucumber/step_definition.rb +122 -0
- data/lib/cucumber/step_match.rb +61 -0
- data/lib/cucumber/step_mother.rb +362 -0
- data/lib/cucumber/version.rb +10 -0
- data/lib/cucumber/world.rb +53 -0
- data/lib/cucumber.rb +11 -0
- data/rails_generators/cucumber/USAGE +11 -0
- data/rails_generators/cucumber/cucumber_generator.rb +66 -0
- data/rails_generators/cucumber/templates/cucumber +8 -0
- data/rails_generators/cucumber/templates/cucumber.rake +20 -0
- data/rails_generators/cucumber/templates/cucumber_environment.rb +23 -0
- data/rails_generators/cucumber/templates/env.rb +26 -0
- data/rails_generators/cucumber/templates/paths.rb +27 -0
- data/rails_generators/cucumber/templates/spork_env.rb +36 -0
- data/rails_generators/cucumber/templates/webrat_steps.rb +147 -0
- data/rails_generators/feature/USAGE +12 -0
- data/rails_generators/feature/feature_generator.rb +40 -0
- data/rails_generators/feature/templates/feature.erb +31 -0
- data/rails_generators/feature/templates/steps.erb +20 -0
- data/spec/cucumber/ast/background_spec.rb +50 -0
- data/spec/cucumber/ast/feature_element_spec.rb +40 -0
- data/spec/cucumber/ast/feature_factory.rb +63 -0
- data/spec/cucumber/ast/feature_spec.rb +38 -0
- data/spec/cucumber/ast/py_string_spec.rb +51 -0
- data/spec/cucumber/ast/scenario_outline_spec.rb +67 -0
- data/spec/cucumber/ast/scenario_spec.rb +38 -0
- data/spec/cucumber/ast/step_collection_spec.rb +17 -0
- data/spec/cucumber/ast/step_spec.rb +66 -0
- data/spec/cucumber/ast/table_spec.rb +186 -0
- data/spec/cucumber/ast/visitor_spec.rb +27 -0
- data/spec/cucumber/broadcaster_spec.rb +15 -0
- data/spec/cucumber/cli/configuration_spec.rb +396 -0
- data/spec/cucumber/cli/drb_client_spec.rb +43 -0
- data/spec/cucumber/cli/main_spec.rb +140 -0
- data/spec/cucumber/core_ext/proc_spec.rb +54 -0
- data/spec/cucumber/core_ext/string_spec.rb +42 -0
- data/spec/cucumber/formatter/ansicolor_spec.rb +35 -0
- data/spec/cucumber/formatter/color_io_spec.rb +27 -0
- data/spec/cucumber/formatter/duration_spec.rb +22 -0
- data/spec/cucumber/formatter/progress_spec.rb +36 -0
- data/spec/cucumber/parser/feature_parser_spec.rb +387 -0
- data/spec/cucumber/parser/table_parser_spec.rb +48 -0
- data/spec/cucumber/rails/stubs/mini_rails.rb +18 -0
- data/spec/cucumber/rails/stubs/test_help.rb +1 -0
- data/spec/cucumber/rails/world_spec.rb +11 -0
- data/spec/cucumber/sell_cucumbers.feature +19 -0
- data/spec/cucumber/step_definition_spec.rb +101 -0
- data/spec/cucumber/step_mother_spec.rb +155 -0
- data/spec/cucumber/treetop_parser/empty_feature.feature +4 -0
- data/spec/cucumber/treetop_parser/empty_scenario.feature +9 -0
- data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +3 -0
- data/spec/cucumber/treetop_parser/fit_scenario.feature +8 -0
- data/spec/cucumber/treetop_parser/given_scenario.feature +9 -0
- data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +7 -0
- data/spec/cucumber/treetop_parser/multiline_steps.feature +17 -0
- data/spec/cucumber/treetop_parser/multiple_tables.feature +27 -0
- data/spec/cucumber/treetop_parser/scenario_outline.feature +16 -0
- data/spec/cucumber/treetop_parser/spaces.feature +12 -0
- data/spec/cucumber/treetop_parser/test_dos.feature +25 -0
- data/spec/cucumber/treetop_parser/with_comments.feature +10 -0
- data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
- data/spec/cucumber/world/pending_spec.rb +47 -0
- data/spec/spec.opts +2 -0
- data/spec/spec_helper.rb +13 -0
- metadata +506 -0
@@ -0,0 +1,10 @@
|
|
1
|
+
# language: sk
|
2
|
+
Požiadavka: Delenie
|
3
|
+
Aby som sa vyhol hlúpym chybám
|
4
|
+
Pokladníci musia vedieť vypočítať podiel
|
5
|
+
|
6
|
+
Scenár: Prirodzené čísla
|
7
|
+
Pokiaľ Zadám číslo 3 do kalkulačky
|
8
|
+
A Zadám číslo 2 do kalkulačky
|
9
|
+
Keď Stlačím tlačidlo divide
|
10
|
+
Tak Výsledok by mal byť 1.5
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /Zadám číslo (\d+) do kalkulačky/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When /Stlačím tlačidlo (\w+)/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /Výsledok by mal byť (.*)/ do |result|
|
23
|
+
@result.should == result.to_f
|
24
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# language: zh-CN
|
2
|
+
功能:加法
|
3
|
+
为了避免一些愚蠢的错误
|
4
|
+
作为一个数学白痴
|
5
|
+
我希望有人告诉我数字相加的结果
|
6
|
+
|
7
|
+
场景: 两个数相加
|
8
|
+
假如我已经在计算器里输入6
|
9
|
+
而且我已经在计算器里输入7
|
10
|
+
当我按相加按钮
|
11
|
+
那么我应该在屏幕上看到的结果是13
|
12
|
+
|
13
|
+
场景: 三个数相加
|
14
|
+
假如我已经在计算器里输入6
|
15
|
+
而且我已经在计算器里输入7
|
16
|
+
而且我已经在计算器里输入1
|
17
|
+
当我按相加按钮
|
18
|
+
那么我应该在屏幕上看到的结果是14
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /我已经在计算器里输入(\d+)/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When /我按(.*)按钮/ do |op|
|
19
|
+
if op == '相加'
|
20
|
+
@result = @calc.send "add"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
Then /我应该在屏幕上看到的结果是(.*)/ do |result|
|
25
|
+
@result.should == result.to_f
|
26
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# language: zh-TW
|
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,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /我已經在計算機上輸入 (\d+)/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When /我按下 (\w+)/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /螢幕上應該顯示 (.*)/ do |result|
|
23
|
+
@result.should == result.to_f
|
24
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
h1. Using Cucumber with Java
|
2
|
+
|
3
|
+
This directory contains code to demonstrate how Cucumber can be used to develop Java code.
|
4
|
+
|
5
|
+
h2. Installing required gems
|
6
|
+
|
7
|
+
jruby -S gem install cucumber
|
8
|
+
jruby -S gem install diff-lcs
|
9
|
+
|
10
|
+
h2. Running the scenarios
|
11
|
+
|
12
|
+
Open a shell in this directory (java) and execute the following command:
|
13
|
+
|
14
|
+
<pre><code>
|
15
|
+
ant
|
16
|
+
</code></pre>
|
17
|
+
|
18
|
+
There is a deliberate error. See if you can fix it!
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<project name="Cucumber Demo" default="cucumber" basedir=".">
|
2
|
+
<target name ="compile" description="Compile classes">
|
3
|
+
<mkdir dir="build" />
|
4
|
+
<javac srcdir="src" destdir="build" />
|
5
|
+
</target>
|
6
|
+
|
7
|
+
<target name="cucumber" depends="compile" description="Run Cucumber">
|
8
|
+
<property environment="ENV" />
|
9
|
+
<fail unless="ENV.JRUBY_HOME">
|
10
|
+
(::) ERROR (::)
|
11
|
+
Define JRUBY_HOME in your shell. For example:
|
12
|
+
|
13
|
+
export JRUBY_HOME=/usr/local/jruby
|
14
|
+
set JRUBY_HOME=C:\jruby
|
15
|
+
</fail>
|
16
|
+
<java classname="org.jruby.Main" fork="true" failonerror="true">
|
17
|
+
<classpath>
|
18
|
+
<pathelement path="${ENV.JRUBY_HOME}/lib/jruby.jar"/>
|
19
|
+
<pathelement path="build"/>
|
20
|
+
</classpath>
|
21
|
+
<jvmarg value="-Djruby.home=${ENV.JRUBY_HOME}"/>
|
22
|
+
<arg value="-S"/>
|
23
|
+
<arg value="cucumber"/>
|
24
|
+
<arg value="--format"/>
|
25
|
+
<arg value="pretty"/>
|
26
|
+
<arg value="--format"/>
|
27
|
+
<arg value="junit"/>
|
28
|
+
<arg value="--out"/>
|
29
|
+
<arg value="build"/>
|
30
|
+
<arg value="features"/>
|
31
|
+
</java>
|
32
|
+
</target>
|
33
|
+
</project>
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Feature: Hello
|
2
|
+
In order to have more friends
|
3
|
+
I want to say hello
|
4
|
+
|
5
|
+
Scenario: Personal greeting
|
6
|
+
Given my name is Aslak
|
7
|
+
When I greet David
|
8
|
+
Then he should hear Hi, David. I'm Aslak.
|
9
|
+
And I should remember David as a friend
|
10
|
+
And I should get David's phone number
|
11
|
+
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'spec/expectations' # so we can call .should
|
2
|
+
include_class 'cucumber.demo.Hello'
|
3
|
+
|
4
|
+
Given /my name is (\w+)/ do |name|
|
5
|
+
@hello = Hello.new # A java object
|
6
|
+
@name = name
|
7
|
+
end
|
8
|
+
|
9
|
+
When /I greet (.*)/ do |someone|
|
10
|
+
@greeting = @hello.greet(someone, @name)
|
11
|
+
end
|
12
|
+
|
13
|
+
Then /he should hear (.*)\./ do |message|
|
14
|
+
@greeting.should == message
|
15
|
+
end
|
16
|
+
|
17
|
+
Then /I should remember (\w+) as a friend/ do |name|
|
18
|
+
@hello.friend?(name).should == true
|
19
|
+
end
|
20
|
+
|
21
|
+
Then /I should get (\w+)'s phone number/ do |name| #'
|
22
|
+
@hello.getPhoneNumber(name).should_not == nil
|
23
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'spec/expectations'
|
2
|
+
include_class 'java.util.TreeSet'
|
3
|
+
|
4
|
+
Given /I have an empty set/ do
|
5
|
+
@set = TreeSet.new
|
6
|
+
end
|
7
|
+
|
8
|
+
When /I add (\w+)/ do |s|
|
9
|
+
@set.add(s)
|
10
|
+
end
|
11
|
+
|
12
|
+
Then /the contents should be (.*)/ do |s|
|
13
|
+
@set.to_a.join(" ").should == s
|
14
|
+
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
package cucumber.demo;
|
2
|
+
|
3
|
+
public class Hello {
|
4
|
+
public String greet(String who, String from) {
|
5
|
+
return "Hi, " + who + ". I'm " + from;
|
6
|
+
}
|
7
|
+
|
8
|
+
public boolean isFriend(String who) {
|
9
|
+
return true;
|
10
|
+
}
|
11
|
+
|
12
|
+
public String getPhoneNumber(String who) {
|
13
|
+
throw new RuntimeException("NOPE");
|
14
|
+
//return "98219458";
|
15
|
+
}
|
16
|
+
}
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Given 'I am on the Google search page' do
|
2
|
+
@browser.open('http://www.google.com/')
|
3
|
+
end
|
4
|
+
|
5
|
+
When /I search for "(.*)"/ do |query|
|
6
|
+
@browser.type('q', query)
|
7
|
+
@browser.click 'btnG'
|
8
|
+
@browser.wait_for_page_to_load
|
9
|
+
end
|
10
|
+
|
11
|
+
Then /I should see a link to (.*)/ do |expected_url|
|
12
|
+
@browser.is_element_present("css=a[href='#{expected_url}']").should be_true
|
13
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'spec/expectations'
|
2
|
+
require 'selenium'
|
3
|
+
|
4
|
+
# "before all"
|
5
|
+
browser = Selenium::SeleniumDriver.new("localhost", 4444, "*chrome", "http://localhost", 15000)
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@browser = browser
|
9
|
+
@browser.start
|
10
|
+
end
|
11
|
+
|
12
|
+
After do
|
13
|
+
@browser.stop
|
14
|
+
end
|
15
|
+
|
16
|
+
# "after all"
|
17
|
+
at_exit do
|
18
|
+
browser.close rescue nil
|
19
|
+
end
|
File without changes
|
@@ -0,0 +1,13 @@
|
|
1
|
+
Given 'I am on the Google search page' do
|
2
|
+
visit('http://www.google.com/')
|
3
|
+
end
|
4
|
+
|
5
|
+
When /I search for "(.*)"/ do |query|
|
6
|
+
fill_in('q', :with => query)
|
7
|
+
click_button 'Google Search'
|
8
|
+
selenium.wait_for_page_to_load
|
9
|
+
end
|
10
|
+
|
11
|
+
Then /I should see a link to (.*)/ do |expected_url|
|
12
|
+
click_link expected_url
|
13
|
+
end
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec/expectations'
|
2
|
+
|
3
|
+
# START HACK
|
4
|
+
# Webrat's Selenium wrongly assumes Rails in available. # We'll just fool it...
|
5
|
+
module ActionController
|
6
|
+
class IntegrationTest
|
7
|
+
end
|
8
|
+
end
|
9
|
+
|
10
|
+
def silence_stream(*args)
|
11
|
+
yield if block_given?
|
12
|
+
end
|
13
|
+
# END HACK
|
14
|
+
|
15
|
+
# RSpec
|
16
|
+
require 'spec/expectations'
|
17
|
+
|
18
|
+
# Webrat
|
19
|
+
require 'webrat'
|
20
|
+
|
21
|
+
Webrat.configure do |config|
|
22
|
+
config.mode = :selenium
|
23
|
+
end
|
24
|
+
|
25
|
+
World do
|
26
|
+
session = Webrat::SeleniumSession.new
|
27
|
+
session.extend(Webrat::Methods)
|
28
|
+
session.extend(Webrat::Selenium::Methods)
|
29
|
+
session.extend(Webrat::Selenium::Matchers)
|
30
|
+
session
|
31
|
+
end
|
32
|
+
|
33
|
+
# START HACK
|
34
|
+
# Disable Rails-specific code
|
35
|
+
class Webrat::Selenium::ApplicationServer
|
36
|
+
def self.boot
|
37
|
+
|
38
|
+
STDOUT.puts "Starting app server"
|
39
|
+
end
|
40
|
+
|
41
|
+
def self.stop_at_exit
|
42
|
+
STDOUT.puts "Stopping app server"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
# END HACK
|
@@ -0,0 +1,11 @@
|
|
1
|
+
Feature: Failing background after previously successful background sample
|
2
|
+
|
3
|
+
Background:
|
4
|
+
Given passing without a table
|
5
|
+
And '10' global cukes
|
6
|
+
|
7
|
+
Scenario: passing background
|
8
|
+
Then I should have '10' global cukes
|
9
|
+
|
10
|
+
Scenario: failing background
|
11
|
+
Then I should have '10' global cukes
|
@@ -0,0 +1,32 @@
|
|
1
|
+
Feature: Passing background with multiline args
|
2
|
+
|
3
|
+
Background:
|
4
|
+
Given table
|
5
|
+
|a|b|
|
6
|
+
|c|d|
|
7
|
+
And multiline string
|
8
|
+
"""
|
9
|
+
I'm a cucumber and I'm okay.
|
10
|
+
I sleep all night and I test all day
|
11
|
+
"""
|
12
|
+
|
13
|
+
Scenario: passing background
|
14
|
+
Then the table should be
|
15
|
+
|a|b|
|
16
|
+
|c|d|
|
17
|
+
Then the multiline string should be
|
18
|
+
"""
|
19
|
+
I'm a cucumber and I'm okay.
|
20
|
+
I sleep all night and I test all day
|
21
|
+
"""
|
22
|
+
|
23
|
+
Scenario: another passing background
|
24
|
+
Then the table should be
|
25
|
+
|a|b|
|
26
|
+
|c|d|
|
27
|
+
Then the multiline string should be
|
28
|
+
"""
|
29
|
+
I'm a cucumber and I'm okay.
|
30
|
+
I sleep all night and I test all day
|
31
|
+
"""
|
32
|
+
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Feature: Failing background with scenario outlines sample
|
2
|
+
|
3
|
+
Background:
|
4
|
+
Given failing without a table
|
5
|
+
|
6
|
+
Scenario Outline: failing background
|
7
|
+
Then I should have '<count>' cukes
|
8
|
+
Examples:
|
9
|
+
|count|
|
10
|
+
| 10 |
|
11
|
+
|
12
|
+
Scenario Outline: another failing background
|
13
|
+
Then I should have '<count>' cukes
|
14
|
+
Examples:
|
15
|
+
|count|
|
16
|
+
| 10 |
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Feature: Passing background with scenario outlines sample
|
2
|
+
|
3
|
+
Background:
|
4
|
+
Given '10' cukes
|
5
|
+
|
6
|
+
Scenario Outline: passing background
|
7
|
+
Then I should have '<count>' cukes
|
8
|
+
Examples:
|
9
|
+
|count|
|
10
|
+
| 10 |
|
11
|
+
|
12
|
+
Scenario Outline: another passing background
|
13
|
+
Then I should have '<count>' cukes
|
14
|
+
Examples:
|
15
|
+
|count|
|
16
|
+
| 10 |
|