aslakhellesoy-cucumber 0.1.99.3 → 0.1.99.4
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/Manifest.txt +6 -0
- metadata +1 -1
- data/cucumber.yml +0 -1
- data/examples/cs/README.textile +0 -1
- data/examples/cs/Rakefile +0 -12
- data/examples/cs/compile.bat +0 -1
- data/examples/cs/features/addition.feature +0 -16
- data/examples/cs/features/step_definitons/calculator_steps.rb +0 -19
- data/examples/cs/src/demo/Calculator.cs +0 -20
- data/examples/dos_line_endings/Rakefile +0 -6
- data/examples/dos_line_endings/features/dos_line_endings.feature +0 -9
- data/examples/i18n/README.textile +0 -18
- data/examples/i18n/Rakefile +0 -32
- data/examples/i18n/ar/Rakefile +0 -6
- data/examples/i18n/ar/features/addition.feature +0 -17
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +0 -28
- data/examples/i18n/ar/lib/calculator.rb +0 -10
- data/examples/i18n/da/Rakefile +0 -6
- data/examples/i18n/da/features/step_definitons/kalkulator_steps.rb +0 -24
- data/examples/i18n/da/features/summering.feature +0 -17
- data/examples/i18n/da/lib/kalkulator.rb +0 -11
- data/examples/i18n/de/Rakefile +0 -6
- data/examples/i18n/de/features/addition.feature +0 -16
- data/examples/i18n/de/features/division.feature +0 -9
- data/examples/i18n/de/features/step_definitons/calculator_steps.rb +0 -24
- data/examples/i18n/de/lib/calculator.rb +0 -14
- data/examples/i18n/en/Rakefile +0 -6
- data/examples/i18n/en/features/addition.feature +0 -16
- data/examples/i18n/en/features/division.feature +0 -9
- data/examples/i18n/en/features/step_definitons/calculator_steps.rb +0 -24
- data/examples/i18n/en/lib/calculator.rb +0 -14
- data/examples/i18n/es/Rakefile +0 -6
- data/examples/i18n/es/features/adicion.feature +0 -17
- data/examples/i18n/es/features/step_definitons/calculador_steps.rb +0 -24
- data/examples/i18n/es/lib/calculador.rb +0 -11
- data/examples/i18n/et/Rakefile +0 -6
- data/examples/i18n/et/features/liitmine.feature +0 -17
- data/examples/i18n/et/features/step_definitions/kalkulaator_steps.rb +0 -24
- data/examples/i18n/et/lib/kalkulaator.rb +0 -10
- data/examples/i18n/fi/Rakefile +0 -6
- data/examples/i18n/fi/features/jakolasku.feature +0 -9
- data/examples/i18n/fi/features/step_definitons/laskin_steps.rb +0 -24
- data/examples/i18n/fi/features/yhteenlasku.feature +0 -16
- data/examples/i18n/fi/lib/laskin.rb +0 -14
- data/examples/i18n/fr/Rakefile +0 -6
- data/examples/i18n/fr/features/addition.feature +0 -15
- data/examples/i18n/fr/features/step_definitions/calculatrice_steps.rb +0 -27
- data/examples/i18n/fr/lib/calculatrice.rb +0 -10
- data/examples/i18n/id/Rakefile +0 -6
- data/examples/i18n/id/features/addition.feature +0 -16
- data/examples/i18n/id/features/division.feature +0 -9
- data/examples/i18n/id/features/step_definitons/calculator_steps.rb +0 -24
- data/examples/i18n/id/lib/calculator.rb +0 -14
- data/examples/i18n/it/Rakefile +0 -6
- data/examples/i18n/it/features/somma.feature +0 -10
- data/examples/i18n/it/features/step_definitons/calcolatrice_steps.rb +0 -24
- data/examples/i18n/it/lib/calcolatrice.rb +0 -11
- data/examples/i18n/ja/README.txt +0 -5
- data/examples/i18n/ja/Rakefile +0 -6
- data/examples/i18n/ja/features/addition.feature +0 -16
- data/examples/i18n/ja/features/division.feature +0 -9
- data/examples/i18n/ja/features/step_definitons/calculator_steps.rb +0 -24
- data/examples/i18n/ja/lib/calculator.rb +0 -14
- data/examples/i18n/ko/Rakefile +0 -6
- data/examples/i18n/ko/features/addition.feature +0 -16
- data/examples/i18n/ko/features/division.feature +0 -10
- data/examples/i18n/ko/features/step_definitons/calculator_steps.rb +0 -24
- data/examples/i18n/ko/lib/calculator.rb +0 -14
- data/examples/i18n/lt/Rakefile +0 -6
- data/examples/i18n/lt/features/addition.feature +0 -17
- data/examples/i18n/lt/features/division.feature +0 -9
- data/examples/i18n/lt/features/step_definitons/calculator_steps.rb +0 -24
- data/examples/i18n/lt/lib/calculator.rb +0 -14
- data/examples/i18n/no/Rakefile +0 -6
- data/examples/i18n/no/features/step_definitons/kalkulator_steps.rb +0 -24
- data/examples/i18n/no/features/summering.feature +0 -18
- data/examples/i18n/no/lib/kalkulator.rb +0 -11
- data/examples/i18n/pt/Rakefile +0 -6
- data/examples/i18n/pt/features/adicao.feature +0 -10
- data/examples/i18n/pt/features/step_definitions/calculadora_steps.rb +0 -24
- data/examples/i18n/pt/lib/calculadora.rb +0 -10
- data/examples/i18n/ro/Rakefile +0 -6
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +0 -24
- data/examples/i18n/ro/features/suma.feature +0 -10
- data/examples/i18n/ro/lib/calculator.rb +0 -11
- data/examples/i18n/se/Rakefile +0 -6
- data/examples/i18n/se/features/step_definitons/kalkulator_steps.rb +0 -24
- data/examples/i18n/se/features/summering.feature +0 -17
- data/examples/i18n/se/lib/kalkulator.rb +0 -11
- data/examples/i18n/zh-CN/Rakefile +0 -6
- data/examples/i18n/zh-CN/features/addition.feature +0 -17
- data/examples/i18n/zh-CN/features/step_definitons/calculator_steps.rb +0 -26
- data/examples/i18n/zh-CN/lib/calculator.rb +0 -10
- data/examples/java/README.textile +0 -22
- data/examples/java/Rakefile +0 -12
- data/examples/java/features/hello.feature +0 -11
- data/examples/java/features/step_definitons/hello_steps.rb +0 -25
- data/examples/java/features/step_definitons/tree_steps.rb +0 -14
- data/examples/java/features/tree.feature +0 -9
- data/examples/jbehave/README.textile +0 -17
- data/examples/jbehave/features/support/env.rb +0 -7
- data/examples/jbehave/features/trading.feature +0 -24
- data/examples/jbehave/pom.xml +0 -48
- data/examples/selenium/Rakefile +0 -6
- data/examples/selenium/features/search.feature +0 -9
- data/examples/selenium/features/step_definitons/stories_steps.rb +0 -40
- data/examples/self_test/README.textile +0 -6
- data/examples/self_test/features/call_undefined_step_from_step_def.feature +0 -7
- data/examples/self_test/features/lots_of_undefined.feature +0 -8
- data/examples/self_test/features/outline_sample.feature +0 -12
- data/examples/self_test/features/sample.feature +0 -16
- data/examples/self_test/features/step_definitions/sample_steps.rb +0 -25
- data/examples/test_unit/Rakefile +0 -6
- data/examples/test_unit/features/step_definitions/test_unit_steps.rb +0 -26
- data/examples/test_unit/features/test_unit.feature +0 -9
- data/examples/tickets/Rakefile +0 -11
- data/examples/tickets/cucumber.yml +0 -2
- data/examples/tickets/features/lib/eatting_machine.rb +0 -18
- data/examples/tickets/features/lib/pantry.rb +0 -20
- data/examples/tickets/features/scenario_outline.feature +0 -90
- data/examples/tickets/features/step_definitons/scenario_outline_steps.rb +0 -42
- data/examples/tickets/features/step_definitons/tickets_steps.rb +0 -61
- data/examples/tickets/features/tickets.feature +0 -28
- data/examples/watir/README.textile +0 -16
- data/examples/watir/Rakefile +0 -6
- data/examples/watir/features/search.feature +0 -9
- data/examples/watir/features/step_definitons/search_steps.rb +0 -24
- data/examples/watir/features/support/env.rb +0 -32
- data/features/cucumber_cli.feature +0 -327
- data/features/cucumber_cli_outlines.feature +0 -81
- data/features/report_called_undefined_steps.feature +0 -32
- data/features/step_definitions/cucumber_steps.rb +0 -31
- data/features/step_definitions/extra_steps.rb +0 -2
- data/features/support/env.rb +0 -7
- data/gem_tasks/deployment.rake +0 -11
- data/gem_tasks/environment.rake +0 -7
- data/gem_tasks/features.rake +0 -6
- data/gem_tasks/fix_cr_lf.rake +0 -10
- data/gem_tasks/flog.rake +0 -4
- data/gem_tasks/gemspec.rake +0 -10
- data/gem_tasks/rspec.rake +0 -35
- data/gem_tasks/yard.rake +0 -8
- data/lib/autotest/cucumber.rb +0 -6
- data/lib/autotest/cucumber_mixin.rb +0 -124
- data/lib/autotest/cucumber_rails.rb +0 -6
- data/lib/autotest/cucumber_rails_rspec.rb +0 -6
- data/lib/autotest/cucumber_rspec.rb +0 -6
- data/lib/autotest/discover.rb +0 -9
- data/lib/cucumber/ast/comment.rb +0 -26
- data/lib/cucumber/ast/examples.rb +0 -22
- data/lib/cucumber/ast/feature.rb +0 -60
- data/lib/cucumber/ast/features.rb +0 -39
- data/lib/cucumber/ast/filter.rb +0 -22
- data/lib/cucumber/ast/outline_table.rb +0 -49
- data/lib/cucumber/ast/py_string.rb +0 -52
- data/lib/cucumber/ast/scenario.rb +0 -95
- data/lib/cucumber/ast/scenario_outline.rb +0 -83
- data/lib/cucumber/ast/step.rb +0 -139
- data/lib/cucumber/ast/table.rb +0 -214
- data/lib/cucumber/ast/tags.rb +0 -33
- data/lib/cucumber/ast/visitor.rb +0 -93
- data/lib/cucumber/ast.rb +0 -27
- data/lib/cucumber/broadcaster.rb +0 -15
- data/lib/cucumber/cli.rb +0 -410
- data/lib/cucumber/core_ext/exception.rb +0 -53
- data/lib/cucumber/core_ext/instance_exec.rb +0 -54
- data/lib/cucumber/core_ext/proc.rb +0 -33
- data/lib/cucumber/core_ext/string.rb +0 -48
- data/lib/cucumber/formatter/ansicolor.rb +0 -106
- data/lib/cucumber/formatter/console.rb +0 -116
- data/lib/cucumber/formatter/pretty.rb +0 -158
- data/lib/cucumber/formatter/profile.rb +0 -77
- data/lib/cucumber/formatter/progress.rb +0 -68
- data/lib/cucumber/formatter/rerun.rb +0 -35
- data/lib/cucumber/formatter.rb +0 -1
- data/lib/cucumber/formatters/autotest_formatter.rb +0 -21
- data/lib/cucumber/formatters/cucumber.css +0 -132
- data/lib/cucumber/formatters/cucumber.js +0 -11
- data/lib/cucumber/formatters/html_formatter.rb +0 -152
- data/lib/cucumber/formatters/jquery.js +0 -32
- data/lib/cucumber/formatters/pretty_formatter.rb +0 -285
- data/lib/cucumber/formatters/unicode.rb +0 -35
- data/lib/cucumber/jbehave.rb +0 -104
- data/lib/cucumber/languages.yml +0 -314
- data/lib/cucumber/parser/basic.rb +0 -0
- data/lib/cucumber/parser/feature.rb +0 -1315
- data/lib/cucumber/parser/feature.tt +0 -160
- data/lib/cucumber/parser/i18n.tt +0 -27
- data/lib/cucumber/parser/table.rb +0 -396
- data/lib/cucumber/parser/table.tt +0 -53
- data/lib/cucumber/parser/treetop_ext.rb +0 -67
- data/lib/cucumber/parser.rb +0 -24
- data/lib/cucumber/platform.rb +0 -18
- data/lib/cucumber/rails/rspec.rb +0 -5
- data/lib/cucumber/rails/world.rb +0 -73
- data/lib/cucumber/rake/task.rb +0 -106
- data/lib/cucumber/step_definition.rb +0 -87
- data/lib/cucumber/step_mother.rb +0 -164
- data/lib/cucumber/treetop_parser/feature_fi.rb +0 -1951
- data/lib/cucumber/version.rb +0 -10
- data/lib/cucumber.rb +0 -72
- data/pretty.txt +0 -486
- data/rails_generators/cucumber/USAGE +0 -11
- data/rails_generators/cucumber/cucumber_generator.rb +0 -31
- data/rails_generators/cucumber/templates/cucumber +0 -8
- data/rails_generators/cucumber/templates/cucumber.rake +0 -7
- data/rails_generators/cucumber/templates/env.rb +0 -16
- data/rails_generators/cucumber/templates/paths.rb +0 -12
- data/rails_generators/cucumber/templates/webrat_steps.rb +0 -99
- data/rails_generators/feature/USAGE +0 -12
- data/rails_generators/feature/feature_generator.rb +0 -36
- data/rails_generators/feature/templates/feature.erb +0 -31
- data/rails_generators/feature/templates/steps.erb +0 -24
- data/spec/cucumber/ast/feature_factory.rb +0 -54
- data/spec/cucumber/ast/feature_spec.rb +0 -60
- data/spec/cucumber/ast/py_string_spec.rb +0 -40
- data/spec/cucumber/ast/scenario_outline_spec.rb +0 -64
- data/spec/cucumber/ast/scenario_spec.rb +0 -82
- data/spec/cucumber/ast/step_spec.rb +0 -45
- data/spec/cucumber/ast/table_spec.rb +0 -81
- data/spec/cucumber/broadcaster_spec.rb +0 -14
- data/spec/cucumber/cli_spec.rb +0 -416
- data/spec/cucumber/core_ext/proc_spec.rb +0 -37
- data/spec/cucumber/core_ext/string_spec.rb +0 -42
- data/spec/cucumber/formatter/ansicolor_spec.rb +0 -35
- data/spec/cucumber/formatter/html/cucumber.css +0 -37
- data/spec/cucumber/formatter/html/cucumber.js +0 -11
- data/spec/cucumber/formatter/html/index.html +0 -45
- data/spec/cucumber/formatter/html/jquery-1.3.min.js +0 -19
- data/spec/cucumber/formatter/html/jquery.uitableedit.js +0 -100
- data/spec/cucumber/formatters/autotest_formatter_spec.rb +0 -27
- data/spec/cucumber/formatters/features.html +0 -269
- data/spec/cucumber/formatters/profile_formatter_spec.rb +0 -198
- data/spec/cucumber/parser/feature_parser_spec.rb +0 -247
- data/spec/cucumber/parser/table_parser_spec.rb +0 -48
- data/spec/cucumber/rails/stubs/mini_rails.rb +0 -18
- data/spec/cucumber/rails/stubs/test_help.rb +0 -1
- data/spec/cucumber/rails/world_spec.rb +0 -11
- data/spec/cucumber/sell_cucumbers.feature +0 -19
- data/spec/cucumber/step_definition_spec.rb +0 -62
- data/spec/cucumber/step_mom_spec.rb +0 -49
- data/spec/cucumber/treetop_parser/empty_feature.feature +0 -4
- data/spec/cucumber/treetop_parser/empty_scenario.feature +0 -9
- data/spec/cucumber/treetop_parser/empty_scenario_outline.feature +0 -3
- data/spec/cucumber/treetop_parser/fit_scenario.feature +0 -8
- data/spec/cucumber/treetop_parser/given_scenario.feature +0 -9
- data/spec/cucumber/treetop_parser/invalid_scenario_outlines.feature +0 -7
- data/spec/cucumber/treetop_parser/multiline_steps.feature +0 -17
- data/spec/cucumber/treetop_parser/multiple_tables.feature +0 -27
- data/spec/cucumber/treetop_parser/scenario_outline.feature +0 -16
- data/spec/cucumber/treetop_parser/spaces.feature +0 -12
- data/spec/cucumber/treetop_parser/test_dos.feature +0 -25
- data/spec/cucumber/treetop_parser/with_comments.feature +0 -10
- data/spec/cucumber/treetop_parser/with_tags.feature +0 -18
- data/spec/cucumber/world/pending_spec.rb +0 -47
- data/spec/spec.opts +0 -2
- data/spec/spec_helper.rb +0 -21
@@ -1,42 +0,0 @@
|
|
1
|
-
Given /^there are (\d+) (\w+)$/ do |count, fruit|
|
2
|
-
@eattingMachine = EattingMachine.new(fruit, count)
|
3
|
-
end
|
4
|
-
|
5
|
-
Given "the belly space is < 12 and > 6" do
|
6
|
-
end
|
7
|
-
|
8
|
-
Given "I have the following fruits in my pantry" do |pantry_table|
|
9
|
-
@pantry = Pantry.new
|
10
|
-
pantry_table.hashes.each do |item|
|
11
|
-
@pantry.add(item['name'].downcase, item['quantity'])
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
Given "my shopping list" do |list|
|
16
|
-
@shopping_list = list
|
17
|
-
end
|
18
|
-
|
19
|
-
When /^I eat (\d+) (\w+)$/ do |count, fruit|
|
20
|
-
@eattingMachine.eat(count)
|
21
|
-
@eattingMachine.belly_count = count.to_i
|
22
|
-
end
|
23
|
-
|
24
|
-
When /^I eat (\d+) (\w+) from the pantry$/ do |count, fruit|
|
25
|
-
@pantry.remove(fruit, count.to_i)
|
26
|
-
end
|
27
|
-
|
28
|
-
Then /^I should have (\d+) (\w+)$/ do |count, fruit|
|
29
|
-
@eattingMachine.fruit_total.should == count.to_i
|
30
|
-
end
|
31
|
-
|
32
|
-
Then /^I should have (\d+) (\w+) in my belly$/ do |count, fruit|
|
33
|
-
@eattingMachine.belly_count.should == count.to_i
|
34
|
-
end
|
35
|
-
|
36
|
-
Then /^I should have (\d+) (\w+) in the pantry$/ do |count, fruit|
|
37
|
-
@pantry.count(fruit).should == count.to_i
|
38
|
-
end
|
39
|
-
|
40
|
-
Then /^my shopping list should equal$/ do |list|
|
41
|
-
@shopping_list.should == list
|
42
|
-
end
|
@@ -1,61 +0,0 @@
|
|
1
|
-
require 'spec/expectations'
|
2
|
-
|
3
|
-
World do
|
4
|
-
Object.new
|
5
|
-
end
|
6
|
-
|
7
|
-
After do |scenario|
|
8
|
-
if scenario.status.index(:failed)
|
9
|
-
# Call the BDD police
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
Given "be_empty" do
|
14
|
-
[1,2].should_not be_empty
|
15
|
-
end
|
16
|
-
|
17
|
-
Given "nested step is called" do
|
18
|
-
Given "I like mushroom", Cucumber::Ast::Table.new([
|
19
|
-
%w{sponge bob},
|
20
|
-
%w{is cool}
|
21
|
-
])
|
22
|
-
end
|
23
|
-
|
24
|
-
Given 'nested step is called using text table' do
|
25
|
-
pending
|
26
|
-
Given "I like mushroom", table(%{
|
27
|
-
| sponge | bob |
|
28
|
-
| is | cool |
|
29
|
-
})
|
30
|
-
|
31
|
-
# Alternative syntax (file and line will be reported on parse error)
|
32
|
-
# Given "I like mushroom", table(<<-EOT, __FILE__, __LINE__)
|
33
|
-
# | sponge | bob |
|
34
|
-
# | is | cool
|
35
|
-
# EOT
|
36
|
-
end
|
37
|
-
|
38
|
-
Given "I like $what" do |what, table|
|
39
|
-
@magic = what
|
40
|
-
@tool = table.raw[0][0]
|
41
|
-
end
|
42
|
-
|
43
|
-
Then "nested step should be executed" do
|
44
|
-
@magic.should == 'mushroom'
|
45
|
-
@tool.should == 'sponge'
|
46
|
-
end
|
47
|
-
|
48
|
-
Given /^the following table$/ do |table|
|
49
|
-
@table = table
|
50
|
-
end
|
51
|
-
|
52
|
-
Then /^I should be (\w+) in (\w+)$/ do |key, value|
|
53
|
-
hash = @table.hashes[0]
|
54
|
-
hash[key].should == value
|
55
|
-
end
|
56
|
-
|
57
|
-
Then /^I shoule see a multiline string like$/ do |s|
|
58
|
-
s.should == %{A string
|
59
|
-
that spans
|
60
|
-
several lines}
|
61
|
-
end
|
@@ -1,28 +0,0 @@
|
|
1
|
-
Feature: Cucumber
|
2
|
-
In order to have a happy user base
|
3
|
-
As a Cucumber user
|
4
|
-
I don't want no stinkin bugs
|
5
|
-
|
6
|
-
Scenario: RSpec be_*
|
7
|
-
Given be_empty
|
8
|
-
|
9
|
-
Scenario: Call step from step
|
10
|
-
Given nested step is called
|
11
|
-
Then nested step should be executed
|
12
|
-
|
13
|
-
Scenario: Call step from step using text table
|
14
|
-
Given nested step is called using text table
|
15
|
-
Then nested step should be executed
|
16
|
-
|
17
|
-
Scenario: Reading a table
|
18
|
-
Given the following table
|
19
|
-
| born | working |
|
20
|
-
| Oslo | London |
|
21
|
-
Then I should be working in London
|
22
|
-
And I should be born in Oslo
|
23
|
-
And I shoule see a multiline string like
|
24
|
-
"""
|
25
|
-
A string
|
26
|
-
that spans
|
27
|
-
several lines
|
28
|
-
"""
|
@@ -1,16 +0,0 @@
|
|
1
|
-
Here you'll find examples for Watir, FireWatir, SafariWatir and Celerity.
|
2
|
-
All of these browser libraries have the same API, so the example code will
|
3
|
-
work with all of them.
|
4
|
-
|
5
|
-
Just run with:
|
6
|
-
|
7
|
-
rake features
|
8
|
-
|
9
|
-
This will use Watir/IE if you're on Windows, and SafariWatir/Safari if you're on OS X.
|
10
|
-
You can force the use of FireWatir/Firefox on any platform like this:
|
11
|
-
|
12
|
-
rake features FIREWATIR=true
|
13
|
-
|
14
|
-
And finally, you can use Celerity by running in JRuby:
|
15
|
-
|
16
|
-
jruby -S rake features
|
data/examples/watir/Rakefile
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
Feature: Search
|
2
|
-
In order to learn more
|
3
|
-
As an information seeker
|
4
|
-
I want to find more information
|
5
|
-
|
6
|
-
Scenario: Find what I'm looking for
|
7
|
-
Given I am on the Google search page
|
8
|
-
When I search for "cucumber github"
|
9
|
-
Then I should see a link to "Ruby on Rails — cucumber — GitHub":http://github.com/aslakhellesoy/cucumber/wikis/ruby-on-rails
|
@@ -1,24 +0,0 @@
|
|
1
|
-
# Full Watir API: http://wtr.rubyforge.org/rdoc/
|
2
|
-
# Full RSpec API: http://rspec.rubyforge.org/
|
3
|
-
|
4
|
-
Given 'I am on the Google search page' do
|
5
|
-
@browser.goto 'http://www.google.com/'
|
6
|
-
end
|
7
|
-
|
8
|
-
When /I search for "(.*)"/ do |query|
|
9
|
-
@browser.text_field(:name, 'q').set(query)
|
10
|
-
@browser.button(:name, 'btnG').click
|
11
|
-
end
|
12
|
-
|
13
|
-
Then /I should see a link to "(.*)":(.*)/ do |text, url|
|
14
|
-
link = @browser.link(:url, url)
|
15
|
-
link.should_not == nil
|
16
|
-
link.text.should == text
|
17
|
-
end
|
18
|
-
|
19
|
-
# To avoid step definitions that are tightly coupled to your user interface,
|
20
|
-
# consider creating classes for your pages - such as this:
|
21
|
-
# http://github.com/aslakhellesoy/cucumber/tree/v0.1.15/examples/watir/features/step_definitons/search_steps.rb
|
22
|
-
#
|
23
|
-
# You may keep the page classes along your steps, or even better, put them in separate files, e.g.
|
24
|
-
# support/pages/google_search.rb
|
@@ -1,32 +0,0 @@
|
|
1
|
-
require 'spec/expectations'
|
2
|
-
|
3
|
-
if ENV['FIREWATIR']
|
4
|
-
require 'firewatir'
|
5
|
-
Browser = FireWatir::Firefox
|
6
|
-
else
|
7
|
-
case RUBY_PLATFORM
|
8
|
-
when /darwin/
|
9
|
-
require 'safariwatir'
|
10
|
-
Browser = Watir::Safari
|
11
|
-
when /win32|mingw/
|
12
|
-
require 'watir'
|
13
|
-
Browser = Watir::IE
|
14
|
-
when /java/
|
15
|
-
require 'celerity'
|
16
|
-
Browser = Celerity::Browser
|
17
|
-
else
|
18
|
-
raise "This platform is not supported (#{PLATFORM})"
|
19
|
-
end
|
20
|
-
end
|
21
|
-
|
22
|
-
# "before all"
|
23
|
-
browser = Browser.new
|
24
|
-
|
25
|
-
Before do
|
26
|
-
@browser = browser
|
27
|
-
end
|
28
|
-
|
29
|
-
# "after all"
|
30
|
-
at_exit do
|
31
|
-
browser.close
|
32
|
-
end
|
@@ -1,327 +0,0 @@
|
|
1
|
-
Feature: Cucumber command line
|
2
|
-
In order to write better software
|
3
|
-
Developers should be able to execute requirements as tests
|
4
|
-
|
5
|
-
Scenario: Run single scenario with missing step definition
|
6
|
-
When I run cucumber -q features/sample.feature:5
|
7
|
-
Then it should pass with
|
8
|
-
"""
|
9
|
-
@one
|
10
|
-
Feature: Sample
|
11
|
-
|
12
|
-
@two @three
|
13
|
-
Scenario: Missing
|
14
|
-
Given missing
|
15
|
-
|
16
|
-
1 scenario
|
17
|
-
1 undefined step
|
18
|
-
|
19
|
-
"""
|
20
|
-
|
21
|
-
Scenario: Fail with --strict
|
22
|
-
When I run cucumber -q features/sample.feature:5 --strict
|
23
|
-
Then it should fail with
|
24
|
-
"""
|
25
|
-
@one
|
26
|
-
Feature: Sample
|
27
|
-
|
28
|
-
@two @three
|
29
|
-
Scenario: Missing
|
30
|
-
Given missing
|
31
|
-
Undefined step: "missing" (Cucumber::StepMother::Undefined)
|
32
|
-
features/sample.feature:6:in `Given missing'
|
33
|
-
|
34
|
-
1 scenario
|
35
|
-
1 failed step
|
36
|
-
|
37
|
-
"""
|
38
|
-
|
39
|
-
Scenario: Specify 2 line numbers where one is a tag
|
40
|
-
When I run cucumber -q features/sample.feature:5:14
|
41
|
-
Then it should fail with
|
42
|
-
"""
|
43
|
-
@one
|
44
|
-
Feature: Sample
|
45
|
-
|
46
|
-
@two @three
|
47
|
-
Scenario: Missing
|
48
|
-
Given missing
|
49
|
-
|
50
|
-
@four
|
51
|
-
Scenario: Failing
|
52
|
-
Given failing
|
53
|
-
FAIL (RuntimeError)
|
54
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
55
|
-
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
56
|
-
features/sample.feature:16:in `Given failing'
|
57
|
-
|
58
|
-
2 scenarios
|
59
|
-
1 failed step
|
60
|
-
1 undefined step
|
61
|
-
|
62
|
-
"""
|
63
|
-
|
64
|
-
Scenario: Require missing step definition from elsewhere
|
65
|
-
When I run cucumber -q -r ../../features/step_definitions/extra_steps.rb features/sample.feature:5
|
66
|
-
Then it should pass with
|
67
|
-
"""
|
68
|
-
@one
|
69
|
-
Feature: Sample
|
70
|
-
|
71
|
-
@two @three
|
72
|
-
Scenario: Missing
|
73
|
-
Given missing
|
74
|
-
|
75
|
-
1 scenario
|
76
|
-
1 passed step
|
77
|
-
|
78
|
-
"""
|
79
|
-
|
80
|
-
Scenario: Specify the line number of a row
|
81
|
-
When I run cucumber -q features/sample.feature:12
|
82
|
-
Then it should pass with
|
83
|
-
"""
|
84
|
-
@one
|
85
|
-
Feature: Sample
|
86
|
-
|
87
|
-
@three
|
88
|
-
Scenario: Passing
|
89
|
-
Given passing
|
90
|
-
| a | b |
|
91
|
-
| c | d |
|
92
|
-
|
93
|
-
1 scenario
|
94
|
-
1 passed step
|
95
|
-
|
96
|
-
"""
|
97
|
-
|
98
|
-
Scenario: Run all with progress formatter
|
99
|
-
When I run cucumber -q --format progress features/sample.feature
|
100
|
-
Then it should fail with
|
101
|
-
"""
|
102
|
-
U.F
|
103
|
-
|
104
|
-
(::) failed steps (::)
|
105
|
-
|
106
|
-
FAIL (RuntimeError)
|
107
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
108
|
-
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
109
|
-
features/sample.feature:16:in `Given failing'
|
110
|
-
|
111
|
-
3 scenarios
|
112
|
-
1 failed step
|
113
|
-
1 undefined step
|
114
|
-
1 passed step
|
115
|
-
|
116
|
-
"""
|
117
|
-
|
118
|
-
Scenario: Run Norwegian
|
119
|
-
Given I am in i18n/no
|
120
|
-
When I run cucumber -q --language no features
|
121
|
-
Then it should pass with
|
122
|
-
"""
|
123
|
-
Egenskap: Summering
|
124
|
-
For å slippe å gjøre dumme feil
|
125
|
-
Som en regnskapsfører
|
126
|
-
Vil jeg kunne legge sammen
|
127
|
-
|
128
|
-
Scenario: to tall
|
129
|
-
Gitt at jeg har tastet inn 5
|
130
|
-
Og at jeg har tastet inn 7
|
131
|
-
Når jeg summerer
|
132
|
-
Så skal resultatet være 12
|
133
|
-
|
134
|
-
@iterasjon3
|
135
|
-
Scenario: tre tall
|
136
|
-
Gitt at jeg har tastet inn 5
|
137
|
-
Og at jeg har tastet inn 7
|
138
|
-
Og at jeg har tastet inn 1
|
139
|
-
Når jeg summerer
|
140
|
-
Så skal resultatet være 13
|
141
|
-
|
142
|
-
2 scenarios
|
143
|
-
9 passed steps
|
144
|
-
|
145
|
-
"""
|
146
|
-
|
147
|
-
Scenario: --dry-run
|
148
|
-
When I run cucumber --dry-run --no-snippets features
|
149
|
-
Then it should pass with
|
150
|
-
"""
|
151
|
-
Feature: Calling undefined step
|
152
|
-
|
153
|
-
Scenario: Call directly
|
154
|
-
Given a step definition that calls an undefined step
|
155
|
-
|
156
|
-
Scenario: Call via another
|
157
|
-
Given call step "a step definition that calls an undefined step"
|
158
|
-
|
159
|
-
Feature: Lots of undefined
|
160
|
-
|
161
|
-
Scenario: Implement me
|
162
|
-
Given it snows in Sahara
|
163
|
-
Given it's 40 degrees in Norway
|
164
|
-
And it's 40 degrees in Norway
|
165
|
-
When I stop procrastinating
|
166
|
-
And there is world peace
|
167
|
-
|
168
|
-
Feature: Outline Sample
|
169
|
-
|
170
|
-
Scenario: I have no steps
|
171
|
-
|
172
|
-
Scenario Outline: Test state
|
173
|
-
Given <state> without a table
|
174
|
-
Given <other_state> without a table
|
175
|
-
|
176
|
-
Examples:
|
177
|
-
| state | other_state |
|
178
|
-
| missing | passing |
|
179
|
-
| passing | passing |
|
180
|
-
| failing | passing |
|
181
|
-
|
182
|
-
@one
|
183
|
-
Feature: Sample
|
184
|
-
|
185
|
-
@two @three
|
186
|
-
Scenario: Missing
|
187
|
-
Given missing
|
188
|
-
|
189
|
-
@three
|
190
|
-
Scenario: Passing
|
191
|
-
Given passing
|
192
|
-
| a | b |
|
193
|
-
| c | d |
|
194
|
-
|
195
|
-
@four
|
196
|
-
Scenario: Failing
|
197
|
-
Given failing
|
198
|
-
|
199
|
-
10 scenarios
|
200
|
-
9 skipped steps
|
201
|
-
7 undefined steps
|
202
|
-
|
203
|
-
"""
|
204
|
-
|
205
|
-
Scenario: Multiple formatters and outputs
|
206
|
-
When I run cucumber --format progress --out tmp/progress.txt --format pretty --out tmp/pretty.txt --dry-run features/lots_of_undefined.feature
|
207
|
-
And examples/self_test/tmp/progress.txt should contain
|
208
|
-
"""
|
209
|
-
UUUUU
|
210
|
-
|
211
|
-
1 scenario
|
212
|
-
5 undefined steps
|
213
|
-
|
214
|
-
"""
|
215
|
-
And examples/self_test/tmp/pretty.txt should match
|
216
|
-
"""
|
217
|
-
Feature: Lots of undefined
|
218
|
-
|
219
|
-
Scenario: Implement me
|
220
|
-
Given it snows in Sahara
|
221
|
-
Given it's 40 degrees in Norway
|
222
|
-
And it's 40 degrees in Norway
|
223
|
-
When I stop procrastinating
|
224
|
-
And there is world peace
|
225
|
-
|
226
|
-
1 scenario
|
227
|
-
5 undefined steps
|
228
|
-
|
229
|
-
"""
|
230
|
-
|
231
|
-
Scenario: Run scenario specified by name using --scenario
|
232
|
-
When I run cucumber --scenario Passing -q features
|
233
|
-
Then it should pass with
|
234
|
-
"""
|
235
|
-
@one
|
236
|
-
Feature: Sample
|
237
|
-
|
238
|
-
@three
|
239
|
-
Scenario: Passing
|
240
|
-
Given passing
|
241
|
-
| a | b |
|
242
|
-
| c | d |
|
243
|
-
|
244
|
-
1 scenario
|
245
|
-
1 passed step
|
246
|
-
|
247
|
-
"""
|
248
|
-
|
249
|
-
Scenario: Run with a tag that exists on 2 scenarios
|
250
|
-
When I run cucumber -q features --tags three
|
251
|
-
Then it should pass with
|
252
|
-
"""
|
253
|
-
@one
|
254
|
-
Feature: Sample
|
255
|
-
|
256
|
-
@two @three
|
257
|
-
Scenario: Missing
|
258
|
-
Given missing
|
259
|
-
|
260
|
-
@three
|
261
|
-
Scenario: Passing
|
262
|
-
Given passing
|
263
|
-
| a | b |
|
264
|
-
| c | d |
|
265
|
-
|
266
|
-
2 scenarios
|
267
|
-
1 undefined step
|
268
|
-
1 passed step
|
269
|
-
|
270
|
-
"""
|
271
|
-
|
272
|
-
Scenario: Run with a tag that exists on 1 feature
|
273
|
-
When I run cucumber -q features --tags one
|
274
|
-
Then it should fail with
|
275
|
-
"""
|
276
|
-
@one
|
277
|
-
Feature: Sample
|
278
|
-
|
279
|
-
@two @three
|
280
|
-
Scenario: Missing
|
281
|
-
Given missing
|
282
|
-
|
283
|
-
@three
|
284
|
-
Scenario: Passing
|
285
|
-
Given passing
|
286
|
-
| a | b |
|
287
|
-
| c | d |
|
288
|
-
|
289
|
-
@four
|
290
|
-
Scenario: Failing
|
291
|
-
Given failing
|
292
|
-
FAIL (RuntimeError)
|
293
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
294
|
-
./features/step_definitions/sample_steps.rb:9:in `/^failing$/'
|
295
|
-
features/sample.feature:16:in `Given failing'
|
296
|
-
|
297
|
-
3 scenarios
|
298
|
-
1 failed step
|
299
|
-
1 undefined step
|
300
|
-
1 passed step
|
301
|
-
|
302
|
-
"""
|
303
|
-
|
304
|
-
Scenario: Reformat files with --autoformat
|
305
|
-
When I run cucumber --autoformat tmp/formatted features
|
306
|
-
Then examples/self_test/tmp/formatted/features/sample.feature should contain
|
307
|
-
"""
|
308
|
-
@one
|
309
|
-
Feature: Sample
|
310
|
-
|
311
|
-
@two @three
|
312
|
-
Scenario: Missing
|
313
|
-
Given missing
|
314
|
-
|
315
|
-
@three
|
316
|
-
Scenario: Passing
|
317
|
-
Given passing
|
318
|
-
| a | b |
|
319
|
-
| c | d |
|
320
|
-
|
321
|
-
@four
|
322
|
-
Scenario: Failing
|
323
|
-
Given failing
|
324
|
-
|
325
|
-
|
326
|
-
"""
|
327
|
-
|
@@ -1,81 +0,0 @@
|
|
1
|
-
Feature: Cucumber command line
|
2
|
-
In order to write better software
|
3
|
-
Developers should be able to execute requirements as tests
|
4
|
-
|
5
|
-
Scenario: Run scenario outline steps only
|
6
|
-
When I run cucumber -q features/outline_sample.feature:7
|
7
|
-
Then it should fail with
|
8
|
-
"""
|
9
|
-
Feature: Outline Sample
|
10
|
-
|
11
|
-
Scenario Outline: Test state
|
12
|
-
Given <state> without a table
|
13
|
-
Given <other_state> without a table
|
14
|
-
|
15
|
-
Examples:
|
16
|
-
| state | other_state |
|
17
|
-
| missing | passing |
|
18
|
-
| passing | passing |
|
19
|
-
| failing | passing |
|
20
|
-
FAIL (RuntimeError)
|
21
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
22
|
-
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
23
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
24
|
-
|
25
|
-
3 scenarios
|
26
|
-
1 failed step
|
27
|
-
2 skipped steps
|
28
|
-
1 undefined step
|
29
|
-
2 passed steps
|
30
|
-
|
31
|
-
"""
|
32
|
-
|
33
|
-
Scenario: Run single failing scenario outline table row
|
34
|
-
When I run cucumber features/outline_sample.feature:12
|
35
|
-
Then it should fail with
|
36
|
-
"""
|
37
|
-
Feature: Outline Sample
|
38
|
-
|
39
|
-
Scenario Outline: Test state # features/outline_sample.feature:5
|
40
|
-
Given <state> without a table
|
41
|
-
Given <other_state> without a table
|
42
|
-
|
43
|
-
Examples:
|
44
|
-
| state | other_state |
|
45
|
-
| failing | passing |
|
46
|
-
FAIL (RuntimeError)
|
47
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
48
|
-
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
49
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
50
|
-
|
51
|
-
1 scenario
|
52
|
-
1 failed step
|
53
|
-
1 skipped step
|
54
|
-
|
55
|
-
"""
|
56
|
-
|
57
|
-
Scenario: Run all with progress formatter
|
58
|
-
When I run cucumber -q --format progress features/outline_sample.feature
|
59
|
-
Then it should fail with
|
60
|
-
"""
|
61
|
-
UUS..FS
|
62
|
-
|
63
|
-
(::) undefined scenarios (::)
|
64
|
-
|
65
|
-
features/outline_sample.feature:3:in `Scenario: I have no steps'
|
66
|
-
|
67
|
-
(::) failed steps (::)
|
68
|
-
|
69
|
-
FAIL (RuntimeError)
|
70
|
-
./features/step_definitions/sample_steps.rb:2:in `flunker'
|
71
|
-
./features/step_definitions/sample_steps.rb:16:in `/^failing without a table$/'
|
72
|
-
features/outline_sample.feature:12:in `Given failing without a table'
|
73
|
-
|
74
|
-
4 scenarios
|
75
|
-
1 failed step
|
76
|
-
2 skipped steps
|
77
|
-
1 undefined step
|
78
|
-
2 passed steps
|
79
|
-
|
80
|
-
"""
|
81
|
-
|
@@ -1,32 +0,0 @@
|
|
1
|
-
Feature: Cucumber command line
|
2
|
-
In order to find out what step definitions need to be implemented
|
3
|
-
Developers should always see what step definition is missing
|
4
|
-
|
5
|
-
Scenario: Get info at arbitrary levels of nesting
|
6
|
-
When I run cucumber features/call_undefined_step_from_step_def.feature
|
7
|
-
Then it should pass with
|
8
|
-
"""
|
9
|
-
Feature: Calling undefined step
|
10
|
-
|
11
|
-
Scenario: Call directly # features/call_undefined_step_from_step_def.feature:3
|
12
|
-
Given a step definition that calls an undefined step # features/step_definitions/sample_steps.rb:19
|
13
|
-
Undefined step: "this does not exist" (Cucumber::StepMother::Undefined)
|
14
|
-
./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
|
15
|
-
|
16
|
-
Scenario: Call via another # features/call_undefined_step_from_step_def.feature:6
|
17
|
-
Given call step "a step definition that calls an undefined step" # features/step_definitions/sample_steps.rb:23
|
18
|
-
Undefined step: "this does not exist" (Cucumber::StepMother::Undefined)
|
19
|
-
./features/step_definitions/sample_steps.rb:20:in `/^a step definition that calls an undefined step$/'
|
20
|
-
|
21
|
-
2 scenarios
|
22
|
-
2 undefined steps
|
23
|
-
|
24
|
-
You can implement step definitions for missing steps with these snippets:
|
25
|
-
|
26
|
-
Given /^this does not exist$/ do
|
27
|
-
pending
|
28
|
-
end
|
29
|
-
|
30
|
-
|
31
|
-
"""
|
32
|
-
|
@@ -1,31 +0,0 @@
|
|
1
|
-
Given /^I am in (.*)$/ do |dir|
|
2
|
-
@dir = dir
|
3
|
-
end
|
4
|
-
|
5
|
-
When /^I run cucumber (.*)$/ do |cmd|
|
6
|
-
@dir ||= 'self_test'
|
7
|
-
full_dir ||= File.expand_path(File.dirname(__FILE__) + "/../../examples/#{@dir}")
|
8
|
-
Dir.chdir(full_dir) do
|
9
|
-
@full_cmd = "#{Cucumber::RUBY_BINARY} #{Cucumber::BINARY} --no-color #{cmd}"
|
10
|
-
@out = `#{@full_cmd}`
|
11
|
-
@status = $?.exitstatus
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
|
-
Then /^it should (fail|pass) with$/ do |success, output|
|
16
|
-
#puts @out
|
17
|
-
@out.should == output
|
18
|
-
if success == 'fail'
|
19
|
-
@status.should_not == 0
|
20
|
-
else
|
21
|
-
@status.should == 0
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
Then /^(.*) should contain$/ do |file, text|
|
26
|
-
IO.read(file).should == text
|
27
|
-
end
|
28
|
-
|
29
|
-
Then /^(.*) should match$/ do |file, text|
|
30
|
-
IO.read(file).should =~ Regexp.new(text)
|
31
|
-
end
|