yard-cucumber2 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +6 -0
- data/.rspec +3 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +5 -0
- data/Gemfile.lock +37 -0
- data/History.txt +274 -0
- data/LICENSE.txt +22 -0
- data/README.md +188 -0
- data/Rakefile +25 -0
- data/example/README.md +8 -0
- data/example/child_feature/README.md +21 -0
- data/example/child_feature/child.feature +11 -0
- data/example/child_feature/grandchild_feature/grandchild.feature +12 -0
- data/example/empty.feature +2 -0
- data/example/french.feature +18 -0
- data/example/scenario.feature +63 -0
- data/example/scenario_outline.feature +94 -0
- data/example/scenario_outline_multi.feature +15 -0
- data/example/step_definitions/example.step.rb +109 -0
- data/example/step_definitions/first.step.rb +21 -0
- data/example/step_definitions/french_steps.rb +32 -0
- data/example/step_definitions/struct.rb +11 -0
- data/example/step_definitions/support/env.rb +7 -0
- data/example/step_definitions/support/env_support.rb +12 -0
- data/example/step_definitions/support/support.rb +6 -0
- data/example/tags.feature +18 -0
- data/example/transform.feature +13 -0
- data/lib/cucumber/city_builder.rb +331 -0
- data/lib/docserver/default/fulldoc/html/js/cucumber.js +85 -0
- data/lib/docserver/default/layout/html/headers.erb +14 -0
- data/lib/docserver/doc_server/full_list/html/full_list.erb +39 -0
- data/lib/docserver/doc_server/full_list/html/setup.rb +18 -0
- data/lib/templates/default/feature/html/feature.erb +39 -0
- data/lib/templates/default/feature/html/no_steps_defined.erb +1 -0
- data/lib/templates/default/feature/html/outline.erb +56 -0
- data/lib/templates/default/feature/html/pystring.erb +3 -0
- data/lib/templates/default/feature/html/scenario.erb +55 -0
- data/lib/templates/default/feature/html/setup.rb +55 -0
- data/lib/templates/default/feature/html/steps.erb +39 -0
- data/lib/templates/default/feature/html/table.erb +20 -0
- data/lib/templates/default/featuredirectory/html/alpha_table.erb +30 -0
- data/lib/templates/default/featuredirectory/html/directory.erb +32 -0
- data/lib/templates/default/featuredirectory/html/setup.rb +41 -0
- data/lib/templates/default/featuretags/html/namespace.erb +131 -0
- data/lib/templates/default/featuretags/html/setup.rb +34 -0
- data/lib/templates/default/fulldoc/html/css/cucumber.css +227 -0
- data/lib/templates/default/fulldoc/html/directories.erb +53 -0
- data/lib/templates/default/fulldoc/html/full_list_featuredirectories.erb +11 -0
- data/lib/templates/default/fulldoc/html/full_list_features.erb +29 -0
- data/lib/templates/default/fulldoc/html/full_list_stepdefinitions.erb +16 -0
- data/lib/templates/default/fulldoc/html/full_list_steps.erb +17 -0
- data/lib/templates/default/fulldoc/html/full_list_tags.erb +12 -0
- data/lib/templates/default/fulldoc/html/js/cucumber.js +305 -0
- data/lib/templates/default/fulldoc/html/setup.rb +175 -0
- data/lib/templates/default/layout/html/setup.rb +56 -0
- data/lib/templates/default/requirements/html/alpha_table.erb +26 -0
- data/lib/templates/default/requirements/html/requirements.erb +50 -0
- data/lib/templates/default/requirements/html/setup.rb +51 -0
- data/lib/templates/default/steptransformers/html/header.erb +12 -0
- data/lib/templates/default/steptransformers/html/index.erb +10 -0
- data/lib/templates/default/steptransformers/html/setup.rb +94 -0
- data/lib/templates/default/steptransformers/html/transformers.erb +79 -0
- data/lib/templates/default/steptransformers/html/undefinedsteps.erb +26 -0
- data/lib/templates/default/tag/html/alpha_table.erb +32 -0
- data/lib/templates/default/tag/html/setup.rb +27 -0
- data/lib/templates/default/tag/html/tag.erb +35 -0
- data/lib/yard-cucumber.rb +47 -0
- data/lib/yard-cucumber/version.rb +3 -0
- data/lib/yard/code_objects/cucumber/base.rb +32 -0
- data/lib/yard/code_objects/cucumber/feature.rb +18 -0
- data/lib/yard/code_objects/cucumber/namespace_object.rb +49 -0
- data/lib/yard/code_objects/cucumber/scenario.rb +26 -0
- data/lib/yard/code_objects/cucumber/scenario_outline.rb +75 -0
- data/lib/yard/code_objects/cucumber/step.rb +38 -0
- data/lib/yard/code_objects/cucumber/tag.rb +27 -0
- data/lib/yard/code_objects/step_definition.rb +7 -0
- data/lib/yard/code_objects/step_transform.rb +7 -0
- data/lib/yard/code_objects/step_transformer.rb +97 -0
- data/lib/yard/handlers/cucumber/base.rb +21 -0
- data/lib/yard/handlers/cucumber/feature_handler.rb +131 -0
- data/lib/yard/handlers/legacy/step_definition_handler.rb +45 -0
- data/lib/yard/handlers/legacy/step_transform_handler.rb +24 -0
- data/lib/yard/handlers/step_definition_handler.rb +86 -0
- data/lib/yard/handlers/step_transform_handler.rb +31 -0
- data/lib/yard/parser/cucumber/feature.rb +73 -0
- data/lib/yard/server/adapter.rb +43 -0
- data/lib/yard/server/commands/list_command.rb +31 -0
- data/lib/yard/server/router.rb +32 -0
- data/lib/yard/templates/helpers/base_helper.rb +26 -0
- data/yard-cucumber.gemspec +65 -0
- metadata +199 -0
data/Rakefile
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
require 'rake'
|
|
2
|
+
|
|
3
|
+
task :default => :gendoc
|
|
4
|
+
|
|
5
|
+
desc "Clean out any existing documentation"
|
|
6
|
+
task :clean do
|
|
7
|
+
`rm -rf doc`
|
|
8
|
+
`rm -rf .yardoc`
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
desc "Generate documentation from the example data"
|
|
12
|
+
task :gendoc => :clean do
|
|
13
|
+
puts `yardoc -e ./lib/yard-cucumber.rb 'example/**/*' --debug`
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
desc "Run the YARD Server"
|
|
17
|
+
task :server => :gendoc do
|
|
18
|
+
puts `yard server -e ./lib/yard-cucumber.rb`
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
desc "Create the yard-cucumber gem"
|
|
22
|
+
task :gem do
|
|
23
|
+
puts `gem build city.gemspec`
|
|
24
|
+
end
|
|
25
|
+
|
data/example/README.md
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
This collection of features are really just to test some of the varied cases
|
|
2
|
+
that CITY may come in contact with while parsing a series of features. All
|
|
3
|
+
of the features, tags, and directories displayed here are contained in this
|
|
4
|
+
directory and all subdirectories.
|
|
5
|
+
|
|
6
|
+
* First, the features which are broken down alphabetically and displayed
|
|
7
|
+
* Second, the tags, used by all the features and scenarios
|
|
8
|
+
* Third, the subdirectories, contained in this directory and in the subdirectories.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Child Features
|
|
2
|
+
==============
|
|
3
|
+
|
|
4
|
+
Synopsis
|
|
5
|
+
--------
|
|
6
|
+
|
|
7
|
+
This collection of features are contained in this folder. The description README
|
|
8
|
+
allows a user to place a description for entire directory of the features and appears
|
|
9
|
+
in the output to assist with understanding about the collection of features.
|
|
10
|
+
|
|
11
|
+
Resources
|
|
12
|
+
---------
|
|
13
|
+
|
|
14
|
+
Links to particular resources like the links to the stories, tasks, or other areas
|
|
15
|
+
can also be represented.
|
|
16
|
+
|
|
17
|
+
The implemented example has been deployed at [http://recursivegames.com/cukes/](http://recursivegames.com/cukes/).
|
|
18
|
+
|
|
19
|
+
**1. An Item** [example](http://recursivegames.com/cukes/requirements/)
|
|
20
|
+
|
|
21
|
+
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
@scenarios
|
|
2
|
+
Feature: Child Feature
|
|
3
|
+
As a reader of the documentation I expect that scenario are documented correctly
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given this background step
|
|
7
|
+
|
|
8
|
+
Scenario: Child Scenario
|
|
9
|
+
Given this first step
|
|
10
|
+
When this second step
|
|
11
|
+
Then this third step
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
@scenarios
|
|
2
|
+
Feature: Grandchild Feature
|
|
3
|
+
As a reader of the documentation I expect that scenario are documented correctly
|
|
4
|
+
|
|
5
|
+
Background:
|
|
6
|
+
Given this background step
|
|
7
|
+
|
|
8
|
+
@first
|
|
9
|
+
Scenario: Grandchild Scenario
|
|
10
|
+
Given this first step
|
|
11
|
+
When this second step
|
|
12
|
+
Then this third step
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
# language: fr
|
|
2
|
+
Fonctionnalité: Addition
|
|
3
|
+
Afin de gagner du temps lors du calcul de la facture
|
|
4
|
+
En tant que commerçant
|
|
5
|
+
Je souhaite pouvoir faire une addition
|
|
6
|
+
|
|
7
|
+
Plan du Scénario: Addition de deux nombres
|
|
8
|
+
Soit une calculatrice
|
|
9
|
+
Et que j'entre <a> pour le premier nombre
|
|
10
|
+
Et que je tape sur la touche "+"
|
|
11
|
+
Et que j'entre <b> pour le second nombre
|
|
12
|
+
Lorsque je tape sur la touche "="
|
|
13
|
+
Alors le résultat affiché doit être <somme>
|
|
14
|
+
|
|
15
|
+
Exemples:
|
|
16
|
+
| a | b | somme |
|
|
17
|
+
| 2 | 2 | 4 |
|
|
18
|
+
| 2 | 3 | 5 |
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
# Comments that appear before the feature are associated with the feature
|
|
2
|
+
@scenarios
|
|
3
|
+
Feature: Displaying Scenarios
|
|
4
|
+
As a reader of the documentation I expect that scenario are documented correctly
|
|
5
|
+
|
|
6
|
+
# Comments after the feature description belong to the background or first scenario
|
|
7
|
+
Background:
|
|
8
|
+
Given this background step
|
|
9
|
+
|
|
10
|
+
@first @bvt
|
|
11
|
+
Scenario: No Step Scenario
|
|
12
|
+
|
|
13
|
+
@second @bvt
|
|
14
|
+
Scenario: Scenario With Steps
|
|
15
|
+
Given this first step
|
|
16
|
+
When this second step
|
|
17
|
+
Then this third step
|
|
18
|
+
|
|
19
|
+
@third @optional_parameters
|
|
20
|
+
Scenario: Optional Parameter Step Definition
|
|
21
|
+
# This step definition has some optional parameters
|
|
22
|
+
Given a project
|
|
23
|
+
And an inactive project
|
|
24
|
+
And a project with the name 'optional', start date 10/26/2010, nicknamed 'norman'
|
|
25
|
+
|
|
26
|
+
@fourth @highlight
|
|
27
|
+
Scenario: Matched Term Highlighting
|
|
28
|
+
Given a duck that has a bill
|
|
29
|
+
Then I expect the duck to quack
|
|
30
|
+
|
|
31
|
+
@fifth @table
|
|
32
|
+
Scenario: Scenario With Table
|
|
33
|
+
Given the following table:
|
|
34
|
+
| column 1 | column 2 | column 3 |
|
|
35
|
+
| value 1 | value 2 | value 3 |
|
|
36
|
+
|
|
37
|
+
@sixth @text
|
|
38
|
+
Scenario: Scenario With Text
|
|
39
|
+
Given the following text:
|
|
40
|
+
"""
|
|
41
|
+
Oh what a bother!
|
|
42
|
+
That this text has to take up two lines
|
|
43
|
+
This line should be indented 2 spaces
|
|
44
|
+
This line should be indented 4 spaces
|
|
45
|
+
"""
|
|
46
|
+
|
|
47
|
+
# Comments before the scenario
|
|
48
|
+
@seventh @comments
|
|
49
|
+
Scenario: Scenario with comments and a description
|
|
50
|
+
There once was a need for information to be displayed alongside all the
|
|
51
|
+
entities that I hoped to test
|
|
52
|
+
# First Comment
|
|
53
|
+
Given this first step
|
|
54
|
+
# Second Comment that
|
|
55
|
+
# spans a few lines
|
|
56
|
+
And this second step
|
|
57
|
+
# Third Comment
|
|
58
|
+
And this third step
|
|
59
|
+
# Comments after the last step, where do they go?
|
|
60
|
+
|
|
61
|
+
Scenario: Step ending with a match with double-quotes
|
|
62
|
+
When searching the log for the exact match of the message "Entering application."
|
|
63
|
+
When the step definition has HTML escaped characters like: "<>&"
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
@scenario_outlines @bvt
|
|
2
|
+
Feature: Displaying Scenario Outlines
|
|
3
|
+
As a reader of the documentation I expect that scenario outlines are documented correctly
|
|
4
|
+
|
|
5
|
+
@first
|
|
6
|
+
Scenario Outline: Three Examples
|
|
7
|
+
Given that <Customer> is a valid customer
|
|
8
|
+
And that the product, named '<Product>', is a valid product
|
|
9
|
+
When the customer has purchased the product
|
|
10
|
+
Then I expect the customer to be a member of the '<Product>' group
|
|
11
|
+
|
|
12
|
+
Examples:
|
|
13
|
+
| Customer | Product |
|
|
14
|
+
| Customer A | Product A |
|
|
15
|
+
| Customer A | Product B |
|
|
16
|
+
| Customer A | Product C |
|
|
17
|
+
|
|
18
|
+
@second
|
|
19
|
+
Scenario Outline: Step contains a text block
|
|
20
|
+
Given the following text:
|
|
21
|
+
"""
|
|
22
|
+
The <noun> jumped over the <place>
|
|
23
|
+
"""
|
|
24
|
+
When I click on an example row
|
|
25
|
+
Then I expect <noun> to be replaced by the example noun
|
|
26
|
+
And I expect <place> to be replaced by the example place
|
|
27
|
+
|
|
28
|
+
Examples:
|
|
29
|
+
| noun | place |
|
|
30
|
+
| cow | moon |
|
|
31
|
+
| horse | spoon |
|
|
32
|
+
|
|
33
|
+
@third
|
|
34
|
+
Scenario Outline: Step contains a table
|
|
35
|
+
Given the following table:
|
|
36
|
+
| name | price | quantity |
|
|
37
|
+
| <name> | <price> | 100000 |
|
|
38
|
+
When I click on an example row
|
|
39
|
+
Then I expect <name> to be replaced by the example name
|
|
40
|
+
And I expect <price> to be replaced by the example price
|
|
41
|
+
|
|
42
|
+
Examples:
|
|
43
|
+
| name | price |
|
|
44
|
+
| toy | $99 |
|
|
45
|
+
| game | $49 |
|
|
46
|
+
|
|
47
|
+
@fourth
|
|
48
|
+
Scenario Outline: Step contains a table; table header uses an example
|
|
49
|
+
Given the following table:
|
|
50
|
+
| name | <denomination> | quantity |
|
|
51
|
+
| <name> | <price> | 100000 |
|
|
52
|
+
When I click on an example row
|
|
53
|
+
Then I expect <name> to be replaced by the example name
|
|
54
|
+
And I expect <price> to be replaced by the example price
|
|
55
|
+
And I expect <denomination> to be replaced by the example denomination
|
|
56
|
+
|
|
57
|
+
Examples:
|
|
58
|
+
| name | price | denomination |
|
|
59
|
+
| toy | 99 | cost in euros |
|
|
60
|
+
| game | 49 | cost in dollars |
|
|
61
|
+
|
|
62
|
+
# This is an example of a scenario outline in development.
|
|
63
|
+
# The example table has not been defined yet
|
|
64
|
+
Scenario Outline: Example Table Missing
|
|
65
|
+
When I click on an example row
|
|
66
|
+
Then I expect <name> to be replaced by the example name
|
|
67
|
+
And I expect <price> to be replaced by the example price
|
|
68
|
+
And I expect <denomination> to be replaced by the example denomination
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
# This is an example of a scenario outline in development.
|
|
72
|
+
# The examples table has been defined, but is missing data.
|
|
73
|
+
Scenario Outline: Empty Example Table
|
|
74
|
+
When I click on an example row
|
|
75
|
+
Then I expect <name> to be replaced by the example name
|
|
76
|
+
And I expect <price> to be replaced by the example price
|
|
77
|
+
And I expect <denomination> to be replaced by the example denomination
|
|
78
|
+
|
|
79
|
+
Examples:
|
|
80
|
+
| name | price | denomination |
|
|
81
|
+
|
|
82
|
+
Scenario Outline: Multiple Example Table
|
|
83
|
+
Given that <Customer> is a valid customer
|
|
84
|
+
And that the product, named '<Product>', is a valid product
|
|
85
|
+
When the customer has purchased the product
|
|
86
|
+
Then I expect the customer to be a member of the '<Product>' group
|
|
87
|
+
|
|
88
|
+
Examples: Example group A
|
|
89
|
+
| Customer | Product |
|
|
90
|
+
| Customer A | Product A |
|
|
91
|
+
|
|
92
|
+
Examples: Example group B
|
|
93
|
+
| Customer | Product |
|
|
94
|
+
| Customer B | Product A |
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
Feature: My Feature
|
|
2
|
+
|
|
3
|
+
Scenario Outline: Multiple Example Table
|
|
4
|
+
Given that <Customer> is a valid customer
|
|
5
|
+
And that the product, named '<Product>', is a valid product
|
|
6
|
+
When the customer has purchased the product
|
|
7
|
+
Then I expect the customer to be a member of the '<Product>' group
|
|
8
|
+
|
|
9
|
+
Examples: Example group A
|
|
10
|
+
| Customer | Product |
|
|
11
|
+
| Customer A | Product A |
|
|
12
|
+
|
|
13
|
+
Examples: Example group B
|
|
14
|
+
| Customer | Product |
|
|
15
|
+
| Customer B | Product A |
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
|
|
2
|
+
Transform /^#{CUSTOMER}$/ do |customer|
|
|
3
|
+
"a transformed customer"
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
Transform /^an? customer$/ do |customer|
|
|
7
|
+
"a transformed customer"
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
Transform /^the customer$/ do |customer|
|
|
11
|
+
"the transformed customer"
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
Transform /^(#{ORDER}) customer$/ do |order|
|
|
15
|
+
"#{order} customer"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
Transform /^#{TEDDY_BEAR}$/ do |teddy|
|
|
19
|
+
"the tranformed teddy bear"
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
#
|
|
23
|
+
# This is a complicated Transform with a comment
|
|
24
|
+
#
|
|
25
|
+
Transform /^((?:\d{1,2}[\/-]){2}(?:\d\d){1,2})?\s*(\w{3})?\s*(\d{1,2}:\d{2}\s*(?:AM|PM)?)$/ do |date,day,time|
|
|
26
|
+
"#{date} #{day} #{time}"
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
Given /^that (#{CUSTOMER}) is a valid customer$/ do |customer|
|
|
30
|
+
pending "Customer #{customer} validation"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
#
|
|
34
|
+
# This comment will likely blow {things up}!
|
|
35
|
+
#
|
|
36
|
+
When /^a customer logs in as username '([^']+)' with password '([^']+)'$/ do |username,password|
|
|
37
|
+
Given "that the customer is a valid customer"
|
|
38
|
+
pending "Customer logs in with #{username} and #{password}"
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
Then /^I expect them to have logged in (successfully|miserably)$/ do |success|
|
|
42
|
+
pending "Validation that the customer has logged in #{success}"
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
When /^the customer logs out$/ do
|
|
46
|
+
pending
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
Then /^I expect the customer to be shown the logout page$/ do
|
|
50
|
+
pending
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
And /^this (third) defined step definition$/ do |number|
|
|
54
|
+
pending
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
And /^the customer has the following details:$/ do |table|
|
|
58
|
+
pending "Table of data #{table.hashes}"
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
And /^edits their the (biography) to state:$/ do |section,text|
|
|
62
|
+
pending "text_field not present for #{section} #{bio} for this release"
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
Then /I expect (#{CUSTOMER}) to be a member of the '([^']+)' group/ do |customer,product|
|
|
66
|
+
pending "Customer #{customer} with product #{product}"
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
#
|
|
70
|
+
# Complicated step definition with optional parameters
|
|
71
|
+
#
|
|
72
|
+
Given /^(?:I create )?an? (?:(active|deactive|inactive|simulated)d?)? ?project(?:[\s,]*(?:with)? ?(?:an?|the)? (?:(?:the size? (?:at|of)? ?(\d+)|named? (?:of )?'([^']+)'|start date (?:of )?((?:(?:\d{1,2}[\/-]){2}(?:\d\d){1,2}))|end date (?:of )?((?:(?:\d{1,2}[\/-]){2}(?:\d\d){1,2}))|user range (?:of )?(\d+-\d+)|description (?:of )?'([^']+)'|nicknamed? (?:of )?'([^']+)')[,\s]*)* ?)?$/ do |state,size,name,start_date,end_date,user_range,description,nickname|
|
|
73
|
+
pending "#{state} #{size} #{name} #{start_date} #{end_date} #{user_range} #{description} #{nickname}"
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
#
|
|
78
|
+
# The highlighting replacement uses a span which had trouble when blindly using
|
|
79
|
+
# a gsub replacement.
|
|
80
|
+
#
|
|
81
|
+
Given /(a|\d+) ducks? that ha(?:s|ve) (a|\d+) bills?/ do |duck_count,bills_count|
|
|
82
|
+
pending
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
Then /I expect the (duck|bird) to (\w+)/ do |animal,verb|
|
|
86
|
+
pending
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
#
|
|
90
|
+
# This double-quoted step definition caused some problems when being rendered
|
|
91
|
+
#
|
|
92
|
+
When /^searching the log for the exact match of the message "([^"]+)"$/ do |message|
|
|
93
|
+
pending message
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
#
|
|
97
|
+
#
|
|
98
|
+
#
|
|
99
|
+
When /^the step definition has HTML escaped characters like: "([^"]+)"$/ do |characters|
|
|
100
|
+
pending characters
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
#
|
|
105
|
+
# Some details about the helper method that might be picked up in the documentation.
|
|
106
|
+
#
|
|
107
|
+
def a_helper_method
|
|
108
|
+
puts "performs some operation"
|
|
109
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Transform /^#{ORDER}$/ do |order|
|
|
2
|
+
order
|
|
3
|
+
end
|
|
4
|
+
|
|
5
|
+
Transform /^background$/ do |background|
|
|
6
|
+
"background"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
#
|
|
10
|
+
# This step transform converts "scenario" to "scenario"
|
|
11
|
+
#
|
|
12
|
+
Transform /^scenario$/ do |scenario|
|
|
13
|
+
"scenario"
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
#
|
|
17
|
+
# This step definition is all about steps
|
|
18
|
+
#
|
|
19
|
+
Given /^this (scenario|background|#{ORDER}) step$/ do |step|
|
|
20
|
+
puts "step #{order}"
|
|
21
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
Soit /^une calculatrice$/ do
|
|
3
|
+
@calc = Calculatrice.new
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
Etantdonné /^qu'on tape (.*)$/ do |n|
|
|
7
|
+
@calc.push n.to_i
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
Etantdonné /^que j'entre (\d+) pour le (.*) nombre/ do |n, x|
|
|
11
|
+
@calc.push n.to_i
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
Lorsque /^je tape sur la touche "="$/ do
|
|
15
|
+
@expected_result = @calc.additionner
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
Lorsqu /on tape additionner/ do
|
|
19
|
+
@expected_result = @calc.additionner
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
Alors /le résultat affiché doit être (\d*)/ do |result|
|
|
23
|
+
result.to_i.should == @expected_result
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
Alors /le résultat doit être (\d*)/ do |result|
|
|
27
|
+
result.to_i.should == @expected_result
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
Soit /^que je tape sur la touche "\+"$/ do
|
|
31
|
+
# noop
|
|
32
|
+
end
|