cucumber 0.1.10 → 0.2.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.
- data/History.txt +223 -5
- data/License.txt +1 -1
- data/Manifest.txt +174 -85
- data/README.txt +2 -39
- data/Rakefile +1 -2
- data/bin/cucumber +2 -2
- data/config/hoe.rb +9 -3
- data/examples/cs/README.textile +1 -22
- data/examples/cs/Rakefile +1 -1
- 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/i18n/README.textile +1 -1
- data/examples/i18n/Rakefile +20 -4
- data/examples/i18n/ar/features/addition.feature +10 -11
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +4 -12
- data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +4 -2
- data/examples/i18n/de/features/addition.feature +10 -11
- data/examples/i18n/de/features/division.feature +0 -1
- data/examples/i18n/de/features/step_definitons/calculator_steps.rb +5 -11
- data/examples/i18n/en/features/addition.feature +10 -11
- data/examples/i18n/en/features/division.feature +0 -1
- data/examples/i18n/en/features/step_definitons/calculator_steps.rb +5 -12
- 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/features/adicion.feature +11 -12
- data/examples/i18n/es/features/step_definitons/calculador_steps.rb +10 -11
- data/examples/i18n/es/lib/calculador.rb +4 -1
- data/examples/i18n/et/features/jagamine.feature +9 -0
- data/examples/i18n/et/features/liitmine.feature +10 -11
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +7 -9
- data/examples/i18n/et/lib/kalkulaator.rb +5 -1
- data/examples/i18n/fi/Rakefile +6 -0
- data/examples/i18n/fi/features/jakolasku.feature +9 -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/features/addition.feature +16 -12
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +14 -11
- data/examples/i18n/fr/lib/calculatrice.rb +1 -1
- data/examples/i18n/id/features/addition.feature +10 -11
- data/examples/i18n/id/features/division.feature +0 -1
- data/examples/i18n/id/features/step_definitons/calculator_steps.rb +5 -12
- data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +4 -2
- data/examples/i18n/ja/features/addition.feature +10 -11
- data/examples/i18n/ja/features/division.feature +2 -3
- data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +6 -12
- data/examples/i18n/ko/Rakefile +6 -0
- data/examples/i18n/ko/features/addition.feature +16 -0
- data/examples/i18n/ko/features/division.feature +10 -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/features/addition.feature +11 -11
- data/examples/i18n/lt/features/division.feature +0 -1
- data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +5 -12
- data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +4 -9
- data/examples/i18n/no/features/summering.feature +1 -0
- data/examples/i18n/no/features/support/env.rb +6 -0
- data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +4 -2
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +4 -2
- data/examples/i18n/ru/Rakefile +6 -0
- data/examples/i18n/ru/features/addition.feature +10 -0
- data/examples/i18n/ru/features/consecutive_calculations.feature +16 -0
- data/examples/i18n/ru/features/division.feature +15 -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 +7 -0
- data/examples/i18n/ru/lib/calculator.rb +24 -0
- data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +4 -2
- data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +5 -3
- data/examples/i18n/zh-TW/Rakefile +6 -0
- data/examples/i18n/zh-TW/features/addition.feature +16 -0
- data/examples/i18n/zh-TW/features/division.feature +10 -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/features/step_definitons/hello_steps.rb +1 -1
- data/examples/java/features/step_definitons/tree_steps.rb +1 -1
- data/examples/jbehave/README.textile +20 -0
- data/examples/jbehave/features/support/env.rb +7 -0
- data/examples/jbehave/features/trading.feature +28 -0
- data/examples/jbehave/pom.xml +53 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/converters/TraderConverter.java +32 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Stock.java +42 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/model/Trader.java +29 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/persistence/TraderPersister.java +22 -0
- data/examples/jbehave/src/main/java/cukes/jbehave/examples/trader/scenarios/TraderSteps.java +70 -0
- data/examples/selenium/features/search.feature +1 -1
- data/examples/selenium/features/step_definitons/search_steps.rb +13 -0
- data/examples/selenium/features/support/env.rb +19 -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 +41 -0
- data/examples/self_test/README.textile +6 -0
- data/examples/self_test/Rakefile +6 -0
- data/examples/self_test/features/background/failing_background.feature +11 -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/outline_sample.feature +15 -0
- data/examples/self_test/features/sample.feature +19 -0
- data/examples/self_test/features/step_definitions/sample_steps.rb +64 -0
- data/examples/self_test/features/support/env.rb +1 -0
- data/examples/self_test/features/support/tag_count_formatter.rb +25 -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 +20 -0
- data/examples/sinatra/views/add.erb +5 -0
- data/examples/sinatra/views/layout.erb +8 -0
- data/examples/tickets/Rakefile +13 -8
- data/examples/tickets/cucumber.yml +2 -1
- 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/236.feature +13 -0
- data/examples/tickets/features/241.feature +13 -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/scenario_outline_steps.rb +42 -0
- data/examples/tickets/features/step_definitons/tickets_steps.rb +46 -5
- data/examples/tickets/features/tickets.feature +5 -1
- data/examples/watir/README.textile +16 -0
- data/examples/watir/features/step_definitons/search_steps.rb +24 -0
- data/examples/watir/features/support/env.rb +32 -0
- data/features/background.feature +221 -0
- data/features/cucumber_cli.feature +389 -0
- data/features/cucumber_cli_diff_disabled.feature +45 -0
- data/features/cucumber_cli_outlines.feature +81 -0
- data/features/custom_formatter.feature +11 -0
- data/features/report_called_undefined_steps.feature +34 -0
- data/features/step_definitions/cucumber_steps.rb +30 -0
- data/features/step_definitions/extra_steps.rb +2 -0
- data/features/support/env.rb +8 -0
- data/gem_tasks/deployment.rake +0 -23
- data/gem_tasks/features.rake +1 -1
- data/gem_tasks/fix_cr_lf.rake +1 -1
- data/gem_tasks/flog.rake +1 -1
- data/gem_tasks/gemspec.rake +4 -0
- data/gem_tasks/jar.rake +67 -0
- data/gem_tasks/rspec.rake +31 -15
- data/gem_tasks/yard.rake +8 -0
- data/lib/autotest/cucumber_mixin.rb +41 -25
- data/lib/cucumber/ast/background.rb +50 -0
- data/lib/cucumber/ast/comment.rb +26 -0
- data/lib/cucumber/ast/examples.rb +38 -0
- data/lib/cucumber/ast/feature.rb +62 -0
- data/lib/cucumber/ast/feature_element.rb +46 -0
- data/lib/cucumber/ast/features.rb +20 -0
- data/lib/cucumber/ast/outline_table.rb +81 -0
- data/lib/cucumber/ast/py_string.rb +58 -0
- data/lib/cucumber/ast/scenario.rb +64 -0
- data/lib/cucumber/ast/scenario_outline.rb +90 -0
- data/lib/cucumber/ast/step.rb +122 -0
- data/lib/cucumber/ast/step_collection.rb +66 -0
- data/lib/cucumber/ast/step_invocation.rb +110 -0
- data/lib/cucumber/ast/table.rb +318 -0
- data/lib/cucumber/ast/tags.rb +33 -0
- data/lib/cucumber/ast/visitor.rb +125 -0
- data/lib/cucumber/ast.rb +29 -0
- data/lib/cucumber/broadcaster.rb +2 -9
- data/lib/cucumber/cli/configuration.rb +364 -0
- data/lib/cucumber/cli/language_help_formatter.rb +59 -0
- data/lib/cucumber/cli/main.rb +109 -0
- data/lib/cucumber/core_ext/exception.rb +53 -0
- data/lib/cucumber/core_ext/instance_exec.rb +54 -0
- data/lib/cucumber/core_ext/proc.rb +29 -65
- data/lib/cucumber/core_ext/string.rb +26 -0
- data/lib/cucumber/formatter/ansicolor.rb +102 -0
- data/lib/cucumber/formatter/color_io.rb +23 -0
- data/lib/cucumber/formatter/console.rb +109 -0
- data/lib/cucumber/formatter/cucumber.css +55 -0
- data/lib/cucumber/formatter/cucumber.sass +49 -0
- data/lib/cucumber/formatter/html.rb +133 -0
- data/lib/cucumber/formatter/pretty.rb +179 -0
- data/lib/cucumber/formatter/profile.rb +77 -0
- data/lib/cucumber/formatter/progress.rb +60 -0
- data/lib/cucumber/formatter/rerun.rb +35 -0
- data/lib/cucumber/formatter/unicode.rb +35 -0
- data/lib/cucumber/formatter.rb +1 -0
- data/lib/cucumber/formatters/unicode.rb +2 -0
- data/lib/cucumber/jbehave.rb +97 -0
- data/lib/cucumber/languages.yml +214 -72
- data/lib/cucumber/parser/basic.rb +0 -0
- data/lib/cucumber/parser/feature.rb +1487 -0
- data/lib/cucumber/parser/feature.tt +193 -0
- data/lib/cucumber/parser/i18n.tt +31 -0
- data/lib/cucumber/parser/table.rb +402 -0
- data/lib/cucumber/parser/table.tt +59 -0
- data/lib/cucumber/parser/treetop_ext.rb +75 -0
- data/lib/cucumber/parser.rb +43 -0
- data/lib/cucumber/platform.rb +13 -8
- data/lib/cucumber/rails/rspec.rb +6 -10
- data/lib/cucumber/rails/world.rb +8 -8
- data/lib/cucumber/rake/task.rb +46 -9
- data/lib/cucumber/step_definition.rb +103 -0
- data/lib/cucumber/step_match.rb +49 -0
- data/lib/cucumber/step_mother.rb +184 -65
- data/lib/cucumber/version.rb +4 -3
- data/lib/cucumber/world.rb +53 -0
- data/lib/cucumber.rb +45 -21
- data/rails_generators/cucumber/cucumber_generator.rb +23 -3
- data/rails_generators/cucumber/templates/cucumber +2 -1
- data/rails_generators/cucumber/templates/cucumber.rake +13 -5
- data/rails_generators/cucumber/templates/env.rb +11 -2
- data/rails_generators/cucumber/templates/paths.rb +19 -0
- data/rails_generators/cucumber/templates/webrat_steps.rb +60 -40
- data/rails_generators/feature/feature_generator.rb +26 -2
- data/rails_generators/feature/templates/feature.erb +15 -12
- data/rails_generators/feature/templates/steps.erb +14 -16
- data/spec/cucumber/ast/background_spec.rb +49 -0
- data/spec/cucumber/ast/feature_factory.rb +63 -0
- data/spec/cucumber/ast/feature_spec.rb +37 -0
- data/spec/cucumber/ast/py_string_spec.rb +47 -0
- data/spec/cucumber/ast/scenario_outline_spec.rb +67 -0
- data/spec/cucumber/ast/scenario_spec.rb +65 -0
- data/spec/cucumber/ast/step_collection_spec.rb +8 -0
- data/spec/cucumber/ast/step_spec.rb +66 -0
- data/spec/cucumber/ast/table_spec.rb +149 -0
- data/spec/cucumber/ast/tags_spec.rb +19 -0
- data/spec/cucumber/broadcaster_spec.rb +6 -18
- data/spec/cucumber/cli/configuration_spec.rb +275 -0
- data/spec/cucumber/cli/main_spec.rb +203 -0
- data/spec/cucumber/core_ext/proc_spec.rb +27 -35
- data/spec/cucumber/core_ext/string_spec.rb +8 -0
- data/spec/cucumber/formatter/ansicolor_spec.rb +35 -0
- data/spec/cucumber/formatter/color_io_spec.rb +26 -0
- data/spec/cucumber/formatter/html/cucumber.css +37 -0
- data/spec/cucumber/formatter/html/cucumber.js +13 -0
- data/spec/cucumber/formatter/html/index.html +45 -0
- data/spec/cucumber/formatter/html/jquery-1.3.min.js +19 -0
- data/spec/cucumber/formatter/html/jquery.uitableedit.js +100 -0
- data/spec/cucumber/formatters/profile_formatter_spec.rb +22 -16
- data/spec/cucumber/parser/feature_parser_spec.rb +282 -0
- data/spec/cucumber/parser/table_parser_spec.rb +48 -0
- data/spec/cucumber/rails/stubs/mini_rails.rb +4 -3
- data/spec/cucumber/step_definition_spec.rb +81 -0
- data/spec/cucumber/step_mother_spec.rb +50 -51
- data/spec/cucumber/treetop_parser/empty_feature.feature +1 -1
- data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +3 -0
- data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +7 -0
- data/spec/cucumber/treetop_parser/multiple_tables.feature +6 -8
- data/spec/cucumber/treetop_parser/scenario_outline.feature +16 -0
- data/spec/cucumber/treetop_parser/spaces.feature +3 -1
- data/spec/cucumber/treetop_parser/with_comments.feature +1 -1
- data/spec/cucumber/treetop_parser/with_tags.feature +18 -0
- data/spec/cucumber/world/pending_spec.rb +47 -0
- data/spec/spec_helper.rb +4 -3
- metadata +192 -95
- data/TODO.txt +0 -26
- data/examples/calculator_ruby_features/features/addition.rb +0 -23
- data/examples/calculator_ruby_features/features/step_definitons/calculator_steps.rb +0 -43
- data/examples/cs/features/hello.feature +0 -11
- data/examples/cs/features/step_definitons/hello_steps.rb +0 -25
- data/examples/cs/features/step_definitons/tree_steps.rb +0 -14
- data/examples/cs/features/tree.feature +0 -9
- data/examples/cs/src/Hello.cs +0 -18
- data/examples/i18n/ja/README.txt +0 -5
- data/examples/selenium/features/step_definitons/stories_steps.rb +0 -41
- data/examples/watir/features/step_definitons/stories_steps.rb +0 -51
- data/features/see_features.feature +0 -8
- data/features/steps/features_steps.rb +0 -9
- data/gem_tasks/treetop.rake +0 -41
- data/lib/cucumber/cli.rb +0 -279
- data/lib/cucumber/executor.rb +0 -190
- data/lib/cucumber/formatters/ansicolor.rb +0 -109
- data/lib/cucumber/formatters/autotest_formatter.rb +0 -23
- data/lib/cucumber/formatters/cucumber.css +0 -132
- data/lib/cucumber/formatters/cucumber.js +0 -11
- data/lib/cucumber/formatters/html_formatter.rb +0 -128
- data/lib/cucumber/formatters/jquery.js +0 -32
- data/lib/cucumber/formatters/pretty_formatter.rb +0 -234
- data/lib/cucumber/formatters/profile_formatter.rb +0 -92
- data/lib/cucumber/formatters/progress_formatter.rb +0 -58
- data/lib/cucumber/formatters.rb +0 -1
- data/lib/cucumber/model/table.rb +0 -28
- data/lib/cucumber/model.rb +0 -1
- data/lib/cucumber/step_methods.rb +0 -49
- data/lib/cucumber/tree/feature.rb +0 -63
- data/lib/cucumber/tree/features.rb +0 -21
- data/lib/cucumber/tree/given_scenario.rb +0 -13
- data/lib/cucumber/tree/scenario.rb +0 -174
- data/lib/cucumber/tree/step.rb +0 -134
- data/lib/cucumber/tree/table.rb +0 -26
- data/lib/cucumber/tree/top_down_visitor.rb +0 -23
- data/lib/cucumber/tree.rb +0 -18
- data/lib/cucumber/treetop_parser/feature.treetop.erb +0 -206
- data/lib/cucumber/treetop_parser/feature_ar.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_cy.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_da.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_de.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_en-tx.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_en.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_es.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_et.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_fr.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_id.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_it.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_ja.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_lt.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_nl.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_no.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_parser.rb +0 -34
- data/lib/cucumber/treetop_parser/feature_pl.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_pt.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_ro.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_ro2.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_ru.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_se.rb +0 -1591
- data/lib/cucumber/treetop_parser/feature_zh-CN.rb +0 -1591
- data/script/console +0 -10
- data/script/console.cmd +0 -1
- data/script/destroy +0 -14
- data/script/destroy.cmd +0 -1
- data/script/generate +0 -14
- data/script/generate.cmd +0 -1
- data/script/txt2html +0 -74
- data/script/txt2html.cmd +0 -1
- data/setup.rb +0 -1585
- data/spec/cucumber/cli_spec.rb +0 -274
- data/spec/cucumber/executor_spec.rb +0 -298
- data/spec/cucumber/formatters/ansicolor_spec.rb +0 -35
- data/spec/cucumber/formatters/autotest_formatter_spec.rb +0 -26
- data/spec/cucumber/formatters/features.html +0 -269
- data/spec/cucumber/formatters/html_formatter_spec.rb +0 -74
- data/spec/cucumber/formatters/pretty_formatter_spec.rb +0 -204
- data/spec/cucumber/formatters/progress_formatter_spec.rb +0 -65
- data/spec/cucumber/model/table_spec.rb +0 -20
- data/spec/cucumber/tree/feature_spec.rb +0 -43
- data/spec/cucumber/tree/row_scenario_spec.rb +0 -55
- data/spec/cucumber/tree/scenario_spec.rb +0 -76
- data/spec/cucumber/tree/step_spec.rb +0 -50
- data/spec/cucumber/treetop_parser/feature_parser_spec.rb +0 -98
- /data/examples/{calculator_ruby_features → selenium_webrat}/Rakefile +0 -0
data/README.txt
CHANGED
|
@@ -1,41 +1,4 @@
|
|
|
1
1
|
= Cucumber
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
== DESCRIPTION:
|
|
6
|
-
|
|
7
|
-
Cucumber executes plain text documentation of code against that code.
|
|
8
|
-
Documentation: http://github.com/aslakhellesoy/cucumber/wikis/home
|
|
9
|
-
|
|
10
|
-
== REQUIREMENTS:
|
|
11
|
-
|
|
12
|
-
* FIX (list of requirements)
|
|
13
|
-
|
|
14
|
-
== INSTALL:
|
|
15
|
-
|
|
16
|
-
* gem install cucumber
|
|
17
|
-
|
|
18
|
-
== LICENSE:
|
|
19
|
-
|
|
20
|
-
(The MIT License)
|
|
21
|
-
|
|
22
|
-
Copyright (c) 2008 Aslak Hellesøy
|
|
23
|
-
|
|
24
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
|
25
|
-
a copy of this software and associated documentation files (the
|
|
26
|
-
'Software'), to deal in the Software without restriction, including
|
|
27
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
|
28
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
|
29
|
-
permit persons to whom the Software is furnished to do so, subject to
|
|
30
|
-
the following conditions:
|
|
31
|
-
|
|
32
|
-
The above copyright notice and this permission notice shall be
|
|
33
|
-
included in all copies or substantial portions of the Software.
|
|
34
|
-
|
|
35
|
-
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
|
|
36
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
37
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
38
|
-
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
39
|
-
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
40
|
-
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
41
|
-
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
3
|
+
The main website is at http://cukes.info/
|
|
4
|
+
The documentation is at http://github.com/aslakhellesoy/cucumber/wikis/home/
|
data/Rakefile
CHANGED
|
@@ -5,5 +5,4 @@ require 'config/hoe' # setup Hoe + all gem configuration
|
|
|
5
5
|
Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
|
|
6
6
|
|
|
7
7
|
# Hoe gives us :default => :test, but we don't have Test::Unit tests.
|
|
8
|
-
Rake::Task[:default].clear_prerequisites
|
|
9
|
-
task :default => [:spec, :features]
|
|
8
|
+
Rake::Task[:default].clear_prerequisites rescue nil # For some super weird reason this fails for some...
|
data/bin/cucumber
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# Add '.rb' to work around a bug in IronRuby's File#dirname
|
|
3
3
|
$:.unshift(File.dirname(__FILE__ + '.rb') + '/../lib') unless $:.include?(File.dirname(__FILE__ + '.rb') + '/../lib')
|
|
4
4
|
|
|
5
|
-
require 'cucumber/cli'
|
|
6
|
-
Cucumber::
|
|
5
|
+
require 'cucumber/cli/main'
|
|
6
|
+
Cucumber::Cli::Main.execute(ARGV.dup)
|
data/config/hoe.rb
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
1
2
|
require 'cucumber/version'
|
|
2
3
|
|
|
3
4
|
AUTHOR = 'Aslak Hellesøy' # can also be an array of Authors
|
|
4
5
|
EMAIL = "aslak.hellesoy@gmail.com"
|
|
5
6
|
DESCRIPTION = "Executable Feature scenarios"
|
|
6
7
|
GEM_NAME = 'cucumber' # what ppl will type to install your gem
|
|
7
|
-
HOMEPATH = "http://
|
|
8
|
+
HOMEPATH = "http://cukes.info"
|
|
8
9
|
RUBYFORGE_PROJECT = 'rspec'
|
|
9
10
|
|
|
10
11
|
@config_file = "~/.rubyforge/user-config.yml"
|
|
@@ -57,8 +58,13 @@ $hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
|
|
57
58
|
# == Optional
|
|
58
59
|
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
|
59
60
|
#p.extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
|
|
60
|
-
p.extra_deps = [
|
|
61
|
-
|
|
61
|
+
p.extra_deps = [
|
|
62
|
+
['term-ansicolor', '>= 1.0.3'],
|
|
63
|
+
['treetop', '>= 1.2.4'],
|
|
64
|
+
['polyglot', '>= 0.2.4'], # Remove this when Treetop no longer loads polyglot by default.
|
|
65
|
+
['diff-lcs', '>= 1.1.2'],
|
|
66
|
+
['builder', '>= 2.1.2']
|
|
67
|
+
]
|
|
62
68
|
|
|
63
69
|
#p.spec_extras = {} # A hash of extra values to set in the gemspec.
|
|
64
70
|
|
data/examples/cs/README.textile
CHANGED
|
@@ -1,22 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
This directory contains code to demonstrate how Cucumber can be used to develop Java code.
|
|
4
|
-
You need JRuby 1.1.3 or higher installed and JRuby's bin directory on your PATH.
|
|
5
|
-
|
|
6
|
-
h2. Installing required gems
|
|
7
|
-
|
|
8
|
-
jruby -S gem install aslakhellesoy-cucumber
|
|
9
|
-
jruby -S gem install diff-lcs
|
|
10
|
-
|
|
11
|
-
h2. Running the scenarios
|
|
12
|
-
|
|
13
|
-
Open a shell in this directory (java) and execute the following command:
|
|
14
|
-
|
|
15
|
-
<pre><code>
|
|
16
|
-
jruby -S rake features
|
|
17
|
-
</code></pre>
|
|
18
|
-
|
|
19
|
-
This will compile the java code and package it in a jar file, and then run Cucumber against
|
|
20
|
-
that code.
|
|
21
|
-
|
|
22
|
-
There is a deliberate error. See if you can fix it!
|
|
1
|
+
See "IronRuby and .NET":http://github.com/aslakhellesoy/cucumber/wikis/ironruby-and-net
|
data/examples/cs/Rakefile
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
csc /target:library /out:Calculator.dll src\demo\Calculator.cs
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
Feature: Addition
|
|
2
|
+
In order to avoid silly mistakes
|
|
3
|
+
As a math idiot
|
|
4
|
+
I want to be told the sum of two numbers
|
|
5
|
+
|
|
6
|
+
Scenario: Add two numbers
|
|
7
|
+
Given I have entered 50 into the calculator
|
|
8
|
+
And I have entered 70 into the calculator
|
|
9
|
+
When I press add
|
|
10
|
+
Then the result should be 120 on the screen
|
|
11
|
+
|
|
12
|
+
More Examples:
|
|
13
|
+
| input_1 | input_2 | output |
|
|
14
|
+
| 20 | 30 | 50 |
|
|
15
|
+
| 2 | 5 | 7 |
|
|
16
|
+
| 0 | 40 | 40 |
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
require 'spec/expectations'
|
|
2
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
|
3
|
+
require 'Calculator'
|
|
4
|
+
|
|
5
|
+
Before do
|
|
6
|
+
@calc = Demo::Calculator.new
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
Given "I have entered $n into the calculator" do |n|
|
|
10
|
+
@calc.push n.to_i
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
When /I press add/ do
|
|
14
|
+
@result = @calc.Add
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
Then /the result should be (.*) on the screen/ do |result|
|
|
18
|
+
@result.should == result.to_i
|
|
19
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
using System;
|
|
2
|
+
using System.Collections.Generic;
|
|
3
|
+
|
|
4
|
+
namespace Demo {
|
|
5
|
+
public class Calculator {
|
|
6
|
+
private List<int>args = new List<int>();
|
|
7
|
+
|
|
8
|
+
public void Push(int n) {
|
|
9
|
+
args.Add(n);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
public int Add() {
|
|
13
|
+
int result = 0;
|
|
14
|
+
foreach(int n in args) {
|
|
15
|
+
result += n;
|
|
16
|
+
}
|
|
17
|
+
return result;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -3,7 +3,7 @@ h1. Internationalisation (i18n) examples
|
|
|
3
3
|
Under this directory you'll find examples of Cucumber features written in
|
|
4
4
|
many of the natural languages Cucumber supports.
|
|
5
5
|
|
|
6
|
-
For a full list of what languages Cucumber supports - run <pre>cucumber --help</pre>
|
|
6
|
+
For a full list of what languages Cucumber supports - run <pre>cucumber --language help</pre>
|
|
7
7
|
|
|
8
8
|
h2. Running all the examples
|
|
9
9
|
|
data/examples/i18n/Rakefile
CHANGED
|
@@ -4,13 +4,29 @@ task :i18n do
|
|
|
4
4
|
Dir["#{dir}/*"].each do |f|
|
|
5
5
|
if File.directory?(f)
|
|
6
6
|
lang = f[dir.length+1..-1]
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
if supported?(lang)
|
|
8
|
+
Dir.chdir(f) do
|
|
9
|
+
rake("features")
|
|
10
|
+
end
|
|
11
|
+
else
|
|
12
|
+
STDERR.puts %{
|
|
13
|
+
!!!!!
|
|
14
|
+
!!!!! SKIPPING #{lang} (Still needs some work)
|
|
15
|
+
!!!!!
|
|
16
|
+
}
|
|
9
17
|
end
|
|
10
18
|
end
|
|
11
19
|
end
|
|
12
20
|
end
|
|
13
21
|
|
|
22
|
+
def supported?(lang)
|
|
23
|
+
if RUBY_VERSION =~ /^1\.9/
|
|
24
|
+
!%w{ar ko zh-CN}.index(lang)
|
|
25
|
+
else
|
|
26
|
+
!%w{ar ko}.index(lang)
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
|
|
14
30
|
def rake(args)
|
|
15
|
-
ruby(
|
|
16
|
-
end
|
|
31
|
+
ruby($0, args) rescue nil
|
|
32
|
+
end
|
|
@@ -3,15 +3,14 @@
|
|
|
3
3
|
كشخص غبي في الرياضيات
|
|
4
4
|
اريد معرفة ناتج جمع عددين
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
بفرض كتابة
|
|
8
|
-
و كتابة
|
|
9
|
-
متى يتم الضغط على
|
|
10
|
-
اذاً يظهر
|
|
11
|
-
و الناتج يجب ان يكون Fixnum
|
|
6
|
+
سيناريو مخطط: جمع عددين
|
|
7
|
+
بفرض كتابة <input_1> في الآلة الحاسبة
|
|
8
|
+
و كتابة <input_2> في الآلة الحاسبة
|
|
9
|
+
متى يتم الضغط على <button>
|
|
10
|
+
اذاً يظهر <output> على الشاشة
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
| input_1 | input_2 | button | output |
|
|
15
|
-
| 20 | 30 | جمع | 50 |
|
|
16
|
-
| 2 | 5 | جمع | 7 |
|
|
17
|
-
| 0 | 40 | جمع | 40 |
|
|
12
|
+
امثلة:
|
|
13
|
+
| input_1 | input_2 | button | output |
|
|
14
|
+
| 20 | 30 | جمع | 50 |
|
|
15
|
+
| 2 | 5 | جمع | 7 |
|
|
16
|
+
| 0 | 40 | جمع | 40 |
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
require 'spec'
|
|
3
|
-
$:.unshift(File.dirname(__FILE__) + '/../../lib')
|
|
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/formatters/unicode'
|
|
4
5
|
require 'calculator'
|
|
5
6
|
|
|
6
7
|
Before do
|
|
@@ -21,12 +22,3 @@ end
|
|
|
21
22
|
Then /يظهر (.*) على الشاشة/ do |result|
|
|
22
23
|
@result.should == result.to_f
|
|
23
24
|
end
|
|
24
|
-
|
|
25
|
-
Then /يجب ان يكون (\w*)/ do |class_name|
|
|
26
|
-
@result.class.name.should == class_name
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
Given /it should rain on (\w+)/ do |day|
|
|
30
|
-
@calc.rain?(day).should == true
|
|
31
|
-
end
|
|
32
|
-
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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/formatters/unicode'
|
|
3
5
|
require 'kalkulator'
|
|
4
6
|
|
|
5
7
|
Before do
|
|
@@ -3,15 +3,14 @@ Funktionalität: Addition
|
|
|
3
3
|
möchte ich als Matheidiot
|
|
4
4
|
die Summe zweier Zahlen gesagt bekommen
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
Gegeben sei ich habe
|
|
8
|
-
Und ich habe
|
|
9
|
-
Wenn ich
|
|
10
|
-
Dann sollte das Ergebniss auf dem Bildschirm
|
|
11
|
-
Und die Ergebnissklasse sollte eine Fixnum sein
|
|
6
|
+
Szenariogrundriss: Zwei Zahlen hinzufügen
|
|
7
|
+
Gegeben sei ich habe <Eingabe_1> in den Taschenrechner eingegeben
|
|
8
|
+
Und ich habe <Eingabe_2> in den Taschenrechner eingegeben
|
|
9
|
+
Wenn ich <Knopf> drücke
|
|
10
|
+
Dann sollte das Ergebniss auf dem Bildschirm <Ausgabe> sein
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
| Eingabe_1 | Eingabe_2 | Knopf | Ausgabe |
|
|
15
|
-
| 20 | 30 | add | 50 |
|
|
16
|
-
| 2 | 5 | add | 7 |
|
|
17
|
-
| 0 | 40 | add | 40 |
|
|
12
|
+
Beispiele:
|
|
13
|
+
| Eingabe_1 | Eingabe_2 | Knopf | Ausgabe |
|
|
14
|
+
| 20 | 30 | add | 50 |
|
|
15
|
+
| 2 | 5 | add | 7 |
|
|
16
|
+
| 0 | 40 | add | 40 |
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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/formatters/unicode'
|
|
3
5
|
require 'calculator'
|
|
4
6
|
|
|
5
7
|
Before do
|
|
@@ -9,7 +11,7 @@ end
|
|
|
9
11
|
After do
|
|
10
12
|
end
|
|
11
13
|
|
|
12
|
-
Given
|
|
14
|
+
Given /ich habe (\d+) in den Taschenrechner eingegeben/ do |n|
|
|
13
15
|
@calc.push n.to_i
|
|
14
16
|
end
|
|
15
17
|
|
|
@@ -20,11 +22,3 @@ end
|
|
|
20
22
|
Then /sollte das Ergebniss auf dem Bildschirm (.*) sein/ do |result|
|
|
21
23
|
@result.should == result.to_f
|
|
22
24
|
end
|
|
23
|
-
|
|
24
|
-
Then /die Ergebnissklasse sollte eine (\w*) sein/ do |class_name|
|
|
25
|
-
@result.class.name.should == class_name
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
Given /it should rain on (\w+)/ do |day|
|
|
29
|
-
@calc.rain?(day).should == true
|
|
30
|
-
end
|
|
@@ -3,15 +3,14 @@ Feature: Addition
|
|
|
3
3
|
As a math idiot
|
|
4
4
|
I want to be told the sum of two numbers
|
|
5
5
|
|
|
6
|
-
Scenario: Add two numbers
|
|
7
|
-
Given I have entered
|
|
8
|
-
And I have entered
|
|
9
|
-
When I press
|
|
10
|
-
Then the result should be
|
|
11
|
-
And the result class should be Fixnum
|
|
6
|
+
Scenario Outline: Add two numbers
|
|
7
|
+
Given I have entered <input_1> into the calculator
|
|
8
|
+
And I have entered <input_2> into the calculator
|
|
9
|
+
When I press <button>
|
|
10
|
+
Then the result should be <output> on the screen
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
| input_1 | input_2 | button | output |
|
|
15
|
-
| 20 | 30 | add | 50 |
|
|
16
|
-
| 2 | 5 | add | 7 |
|
|
17
|
-
| 0 | 40 | add | 40 |
|
|
12
|
+
Examples:
|
|
13
|
+
| input_1 | input_2 | button | output |
|
|
14
|
+
| 20 | 30 | add | 50 |
|
|
15
|
+
| 2 | 5 | add | 7 |
|
|
16
|
+
| 0 | 40 | add | 40 |
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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/formatters/unicode'
|
|
3
5
|
require 'calculator'
|
|
4
6
|
|
|
5
7
|
Before do
|
|
@@ -9,7 +11,7 @@ end
|
|
|
9
11
|
After do
|
|
10
12
|
end
|
|
11
13
|
|
|
12
|
-
Given
|
|
14
|
+
Given /I have entered (\d+) into the calculator/ do |n|
|
|
13
15
|
@calc.push n.to_i
|
|
14
16
|
end
|
|
15
17
|
|
|
@@ -20,12 +22,3 @@ end
|
|
|
20
22
|
Then /the result should be (.*) on the screen/ do |result|
|
|
21
23
|
@result.should == result.to_f
|
|
22
24
|
end
|
|
23
|
-
|
|
24
|
-
Then /the result class should be (\w*)/ do |class_name|
|
|
25
|
-
@result.class.name.should == class_name
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
Given /it should rain on (\w+)/ do |day|
|
|
29
|
-
@calc.rain?(day).should == true
|
|
30
|
-
end
|
|
31
|
-
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
ICANHAZ /^IN TEH BEGINNIN (\d+) CUCUMBRZ$/ do |n|
|
|
2
|
+
@basket = Basket.new(n.to_i)
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
WEN /^I EAT (\d+) CUCUMBRZ$/ do |n|
|
|
6
|
+
@belly = Belly.new
|
|
7
|
+
@belly.eat(@basket.take(n.to_i))
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
DEN /^I HAS (\d+) CUCUMBERZ IN MAH BELLY$/ do |n|
|
|
11
|
+
@belly.cukes.should == n.to_i
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
AN /^IN TEH END (\d+) CUCUMBRZ KTHXBAI$/ do |n|
|
|
15
|
+
@basket.cukes.should == n.to_i
|
|
16
|
+
end
|
|
@@ -1,17 +1,16 @@
|
|
|
1
1
|
Característica: adición
|
|
2
2
|
Para evitar hacer errores tontos
|
|
3
|
-
Como
|
|
3
|
+
Como un matemático idiota
|
|
4
4
|
Quiero saber la suma de los números
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
Dado que he introducido
|
|
8
|
-
Y he introducido
|
|
9
|
-
Cuando
|
|
10
|
-
Entonces el resultado debe ser
|
|
6
|
+
Esquema del escenario: Sumar dos números
|
|
7
|
+
Dado que he introducido <entrada_1> en la calculadora
|
|
8
|
+
Y que he introducido <entrada_2> en la calculadora
|
|
9
|
+
Cuando oprimo el <botón>
|
|
10
|
+
Entonces el resultado debe ser <resultado> en la pantalla
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
Entonces el resultado debe ser 13
|
|
12
|
+
Ejemplos:
|
|
13
|
+
| entrada_1 | entrada_2 | botón | resultado |
|
|
14
|
+
| 20 | 30 | add | 50 |
|
|
15
|
+
| 2 | 5 | add | 7 |
|
|
16
|
+
| 0 | 40 | add | 40 |
|
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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/formatters/unicode'
|
|
3
5
|
require 'calculador'
|
|
4
6
|
|
|
5
7
|
Before do
|
|
6
8
|
@calc = Calculador.new
|
|
7
9
|
end
|
|
8
10
|
|
|
9
|
-
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
Given /he introducido (\d+)/ do |n|
|
|
11
|
+
Dado /que he introducido (\d+) en la calculadora/ do |n|
|
|
13
12
|
@calc.push n.to_i
|
|
14
13
|
end
|
|
15
14
|
|
|
16
|
-
|
|
17
|
-
@result = @calc.
|
|
15
|
+
Cuando /oprimo el (\w+)/ do |op|
|
|
16
|
+
@result = @calc.send op
|
|
18
17
|
end
|
|
19
18
|
|
|
20
|
-
|
|
21
|
-
@result.should == result.
|
|
22
|
-
end
|
|
19
|
+
Entonces /el resultado debe ser (.*) en la pantalla/ do |result|
|
|
20
|
+
@result.should == result.to_f
|
|
21
|
+
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
Omadus: Jagamine
|
|
2
|
+
Rumalate vigade vältimiseks
|
|
3
|
+
Peavad kassapidajad saama arvutada murdudes
|
|
4
|
+
|
|
5
|
+
Stsenaarium: Tavalised numrbid
|
|
6
|
+
Eeldades et olen sisestanud kalkulaatorisse numbri 3
|
|
7
|
+
Ja olen sisestanud kalkulaatorisse numbri 2
|
|
8
|
+
Kui ma vajutan jaga
|
|
9
|
+
Siis vastuseks peab ekraanil kuvatama 1.5
|
|
@@ -3,15 +3,14 @@ Omadus: Liitmine
|
|
|
3
3
|
Olles matemaatika-puupea
|
|
4
4
|
Tahan et mulle öeldaks kahe numbri summa
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
Eeldades et olen sisestanud kalkulaatorisse numbri
|
|
8
|
-
Ja olen sisestanud kalkulaatorisse numbri
|
|
9
|
-
Kui ma vajutan
|
|
10
|
-
Siis vastuseks peab ekraanil kuvatama
|
|
11
|
-
Ja vastuseklass peab olema tüüpi Fixnum
|
|
6
|
+
Raamstsenaarium: Liida kaks numbrit
|
|
7
|
+
Eeldades et olen sisestanud kalkulaatorisse numbri <input_1>
|
|
8
|
+
Ja olen sisestanud kalkulaatorisse numbri <input_2>
|
|
9
|
+
Kui ma vajutan <button>
|
|
10
|
+
Siis vastuseks peab ekraanil kuvatama <output>
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
| input_1 | input_2 | button | output |
|
|
15
|
-
| 20 | 30 | liida | 50 |
|
|
16
|
-
| 2 | 5 | liida | 7 |
|
|
17
|
-
| 0 | 40 | liida | 40 |
|
|
12
|
+
Juhtumid:
|
|
13
|
+
| input_1 | input_2 | button | output |
|
|
14
|
+
| 20 | 30 | liida | 50 |
|
|
15
|
+
| 2 | 5 | liida | 7 |
|
|
16
|
+
| 0 | 40 | liida | 40 |
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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/formatters/unicode'
|
|
3
5
|
require 'kalkulaator'
|
|
4
6
|
|
|
5
7
|
Before do
|
|
@@ -13,14 +15,10 @@ Given /olen sisestanud kalkulaatorisse numbri (\d+)/ do |n|
|
|
|
13
15
|
@calc.push n.to_i
|
|
14
16
|
end
|
|
15
17
|
|
|
16
|
-
When /ma vajutan (
|
|
18
|
+
When /ma vajutan (\w+)/ do |op|
|
|
17
19
|
@result = @calc.send op
|
|
18
20
|
end
|
|
19
21
|
|
|
20
|
-
Then /vastuseks peab ekraanil kuvatama (
|
|
21
|
-
@result.should == result.
|
|
22
|
+
Then /vastuseks peab ekraanil kuvatama (.*)/ do |result|
|
|
23
|
+
@result.should == result.to_f
|
|
22
24
|
end
|
|
23
|
-
|
|
24
|
-
Then /vastuseklass peab olema tüüpi (\w*)/ do |class_name|
|
|
25
|
-
@result.class.name.should == class_name
|
|
26
|
-
end
|