cucumber 0.9.4 → 0.10.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/Gemfile +1 -1
- data/History.txt +16 -0
- data/bin/cucumber +7 -1
- data/cucumber.gemspec +5 -4
- data/cucumber.yml +1 -1
- data/examples/sinatra/features/support/env.rb +1 -4
- data/features/background.feature +284 -95
- data/features/custom_formatter.feature +3 -73
- data/features/execute_with_tag_filter.feature +63 -0
- data/features/{negative_tagged_hooks.feature → hooks.feature} +5 -6
- data/features/json_formatter.feature +161 -245
- data/features/stats_formatters.feature +70 -0
- data/features/step_definitions/cucumber_steps.rb +5 -163
- data/features/support/env.rb +23 -149
- data/features/{tag_logic.feature → tagged_hooks.feature} +11 -52
- data/gem_tasks/{features.rake → cucumber.rake} +6 -1
- data/{features → legacy_features}/announce.feature +0 -0
- data/{features → legacy_features}/api/list_step_defs_as_json.feature +0 -0
- data/{features → legacy_features}/api/run_cli_main_with_existing_runtime.feature +0 -0
- data/{features → legacy_features}/around_hooks.feature +0 -0
- data/{features → legacy_features}/bug_371.feature +0 -0
- data/{features → legacy_features}/bug_464.feature +0 -0
- data/{features → legacy_features}/bug_475.feature +0 -0
- data/{features → legacy_features}/bug_585_tab_indentation.feature +0 -0
- data/{features → legacy_features}/bug_600.feature +0 -0
- data/{features → legacy_features}/call_steps_from_stepdefs.feature +0 -0
- data/{features → legacy_features}/cucumber_cli.feature +9 -9
- data/{features → legacy_features}/cucumber_cli_outlines.feature +0 -0
- data/{features → legacy_features}/default_snippets.feature +0 -0
- data/{features → legacy_features}/diffing.feature +0 -0
- data/{features → legacy_features}/drb_server_integration.feature +0 -0
- data/{features → legacy_features}/exception_in_after_block.feature +0 -0
- data/{features → legacy_features}/exception_in_after_step_block.feature +0 -0
- data/{features → legacy_features}/exception_in_before_block.feature +0 -0
- data/{features → legacy_features}/exclude_files.feature +0 -0
- data/{features → legacy_features}/expand.feature +0 -0
- data/{features → legacy_features}/html_formatter.feature +0 -0
- data/{features → legacy_features}/html_formatter/a.html +0 -0
- data/{features → legacy_features}/junit_formatter.feature +0 -0
- data/{features → legacy_features}/language_from_header.feature +0 -0
- data/{features → legacy_features}/language_help.feature +0 -0
- data/{features → legacy_features}/listener_debugger_formatter.feature +0 -0
- data/legacy_features/multiline_names.feature +44 -0
- data/{features → legacy_features}/post_configuration_hook.feature +0 -0
- data/{features → legacy_features}/profiles.feature +0 -0
- data/{features → legacy_features}/rake_task.feature +0 -0
- data/{features → legacy_features}/report_called_undefined_steps.feature +0 -0
- data/{features → legacy_features}/rerun_formatter.feature +0 -0
- data/{features → legacy_features}/simplest.feature +0 -0
- data/{features → legacy_features}/snippet.feature +0 -0
- data/{features → legacy_features}/snippets_when_using_star_keyword.feature +0 -0
- data/legacy_features/step_definitions/cucumber_steps.rb +168 -0
- data/{features → legacy_features}/step_definitions/extra_steps.rb +0 -0
- data/{features → legacy_features}/step_definitions/simplest_steps.rb +0 -0
- data/{features → legacy_features}/step_definitions/wire_steps.rb +1 -0
- data/legacy_features/support/env.rb +157 -0
- data/{features → legacy_features}/support/env.rb.simplest +0 -0
- data/{features → legacy_features}/support/fake_wire_server.rb +0 -0
- data/{features → legacy_features}/table_diffing.feature +0 -0
- data/{features → legacy_features}/table_mapping.feature +0 -0
- data/{features → legacy_features}/transform.feature +0 -0
- data/{features → legacy_features}/unicode_table.feature +0 -0
- data/{features → legacy_features}/wire_protocol.feature +1 -1
- data/{features → legacy_features}/wire_protocol_table_diffing.feature +0 -0
- data/{features → legacy_features}/wire_protocol_tags.feature +0 -0
- data/{features → legacy_features}/wire_protocol_timeouts.feature +0 -0
- data/{features → legacy_features}/work_in_progress.feature +0 -0
- data/lib/cucumber/ast/examples.rb +5 -0
- data/lib/cucumber/ast/feature.rb +5 -0
- data/lib/cucumber/ast/feature_element.rb +5 -0
- data/lib/cucumber/ast/scenario_outline.rb +9 -4
- data/lib/cucumber/ast/step.rb +5 -0
- data/lib/cucumber/ast/step_invocation.rb +4 -0
- data/lib/cucumber/ast/table.rb +3 -3
- data/lib/cucumber/ast/tree_walker.rb +1 -39
- data/lib/cucumber/cli/main.rb +1 -6
- data/lib/cucumber/cli/options.rb +1 -2
- data/lib/cucumber/formatter/ansicolor.rb +2 -4
- data/lib/cucumber/formatter/gherkin_formatter_adapter.rb +84 -0
- data/lib/cucumber/formatter/gpretty.rb +24 -0
- data/lib/cucumber/formatter/html.rb +1 -1
- data/lib/cucumber/formatter/io.rb +2 -4
- data/lib/cucumber/formatter/json.rb +15 -152
- data/lib/cucumber/formatter/json_pretty.rb +5 -6
- data/lib/cucumber/formatter/unicode.rb +41 -20
- data/lib/cucumber/parser/gherkin_builder.rb +7 -1
- data/lib/cucumber/platform.rb +1 -1
- data/lib/cucumber/step_match.rb +5 -1
- data/spec/cucumber/ast/scenario_outline_spec.rb +11 -8
- data/spec/cucumber/ast/table_spec.rb +6 -1
- data/spec/cucumber/cli/main_spec.rb +4 -1
- metadata +105 -132
- data/features/multiline_names.feature +0 -44
- data/features/usage_and_stepdefs_formatter.feature +0 -169
- data/fixtures/json/features/pystring.feature +0 -8
- data/fixtures/self_test/features/background/background_tagged_before_on_outline.feature +0 -12
- data/fixtures/self_test/features/background/background_with_name.feature +0 -7
- data/fixtures/self_test/features/background/failing_background.feature +0 -12
- data/fixtures/self_test/features/background/failing_background_after_success.feature +0 -11
- data/fixtures/self_test/features/background/multiline_args_background.feature +0 -32
- data/fixtures/self_test/features/background/passing_background.feature +0 -10
- data/fixtures/self_test/features/background/pending_background.feature +0 -10
- data/fixtures/self_test/features/background/scenario_outline_failing_background.feature +0 -16
- data/fixtures/self_test/features/background/scenario_outline_passing_background.feature +0 -16
- data/lib/cucumber/formatter/color_io.rb +0 -23
- data/lib/cucumber/formatter/tag_cloud.rb +0 -35
- data/spec/cucumber/formatter/color_io_spec.rb +0 -29
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
Feature: Multiline description names
|
|
2
|
-
In order to accurately document feature elements
|
|
3
|
-
As a cucumberist
|
|
4
|
-
I want to have multiline names
|
|
5
|
-
|
|
6
|
-
Scenario: multiline scenario
|
|
7
|
-
When I run cucumber features/multiline_name.feature --no-snippets
|
|
8
|
-
Then STDERR should be empty
|
|
9
|
-
Then it should pass with
|
|
10
|
-
"""
|
|
11
|
-
Feature: multiline
|
|
12
|
-
|
|
13
|
-
Background: I'm a multiline name # features/multiline_name.feature:3
|
|
14
|
-
which goes on and on and on for three lines
|
|
15
|
-
yawn
|
|
16
|
-
Given passing without a table # features/step_definitions/sample_steps.rb:12
|
|
17
|
-
|
|
18
|
-
Scenario: I'm a multiline name # features/multiline_name.feature:8
|
|
19
|
-
which goes on and on and on for three lines
|
|
20
|
-
yawn
|
|
21
|
-
Given passing without a table # features/step_definitions/sample_steps.rb:12
|
|
22
|
-
|
|
23
|
-
Scenario Outline: I'm a multiline name # features/multiline_name.feature:13
|
|
24
|
-
which goes on and on and on for three lines
|
|
25
|
-
yawn
|
|
26
|
-
Given <state> without a table # features/step_definitions/sample_steps.rb:12
|
|
27
|
-
|
|
28
|
-
Examples:
|
|
29
|
-
| state |
|
|
30
|
-
| passing |
|
|
31
|
-
|
|
32
|
-
Scenario Outline: name # features/multiline_name.feature:21
|
|
33
|
-
Given <state> without a table # features/step_definitions/sample_steps.rb:12
|
|
34
|
-
|
|
35
|
-
Examples: I'm a multiline name
|
|
36
|
-
which goes on and on and on for three lines
|
|
37
|
-
yawn
|
|
38
|
-
| state |
|
|
39
|
-
| passing |
|
|
40
|
-
|
|
41
|
-
3 scenarios (3 passed)
|
|
42
|
-
6 steps (6 passed)
|
|
43
|
-
|
|
44
|
-
"""
|
|
@@ -1,169 +0,0 @@
|
|
|
1
|
-
Feature: Cucumber command line
|
|
2
|
-
In order to be able to write an editor plugin that can jump between
|
|
3
|
-
steps and step definitions, Cucumber must provide a way to
|
|
4
|
-
display how they are related.
|
|
5
|
-
|
|
6
|
-
Scenario: List usage of step definitions
|
|
7
|
-
When I run cucumber features --format usage --dry-run
|
|
8
|
-
Then STDERR should be empty
|
|
9
|
-
And it should pass with
|
|
10
|
-
"""
|
|
11
|
-
-------------------------------------UU-U--------------UUUUU---------U-------U--------------U-UU-------------------------------------------------UU
|
|
12
|
-
|
|
13
|
-
/^'(.+)' cukes$/ # features/step_definitions/sample_steps.rb:27
|
|
14
|
-
Given '10' cukes # features/background/background_with_name.feature:4
|
|
15
|
-
Given '10' cukes # features/background/background_with_name.feature:4
|
|
16
|
-
And '10' cukes # features/background/failing_background.feature:6
|
|
17
|
-
And '10' cukes # features/background/failing_background.feature:6
|
|
18
|
-
And '10' cukes # features/background/failing_background.feature:6
|
|
19
|
-
Given '10' cukes # features/background/passing_background.feature:4
|
|
20
|
-
Given '10' cukes # features/background/passing_background.feature:4
|
|
21
|
-
Given '10' cukes # features/background/passing_background.feature:4
|
|
22
|
-
Given '10' cukes # features/background/scenario_outline_passing_background.feature:4
|
|
23
|
-
Given '2' cukes # features/tons_of_cukes.feature:4
|
|
24
|
-
Given '2' cukes # features/tons_of_cukes.feature:5
|
|
25
|
-
Given '2' cukes # features/tons_of_cukes.feature:6
|
|
26
|
-
Given '2' cukes # features/tons_of_cukes.feature:7
|
|
27
|
-
Given '2' cukes # features/tons_of_cukes.feature:8
|
|
28
|
-
Given '2' cukes # features/tons_of_cukes.feature:9
|
|
29
|
-
Given '2' cukes # features/tons_of_cukes.feature:10
|
|
30
|
-
Given '2' cukes # features/tons_of_cukes.feature:11
|
|
31
|
-
Given '2' cukes # features/tons_of_cukes.feature:12
|
|
32
|
-
Given '2' cukes # features/tons_of_cukes.feature:13
|
|
33
|
-
Given '2' cukes # features/tons_of_cukes.feature:14
|
|
34
|
-
Given '2' cukes # features/tons_of_cukes.feature:15
|
|
35
|
-
Given '2' cukes # features/tons_of_cukes.feature:16
|
|
36
|
-
Given '2' cukes # features/tons_of_cukes.feature:17
|
|
37
|
-
Given '2' cukes # features/tons_of_cukes.feature:18
|
|
38
|
-
Given '2' cukes # features/tons_of_cukes.feature:19
|
|
39
|
-
Given '2' cukes # features/tons_of_cukes.feature:20
|
|
40
|
-
Given '2' cukes # features/tons_of_cukes.feature:21
|
|
41
|
-
Given '2' cukes # features/tons_of_cukes.feature:22
|
|
42
|
-
Given '2' cukes # features/tons_of_cukes.feature:23
|
|
43
|
-
Given '2' cukes # features/tons_of_cukes.feature:24
|
|
44
|
-
Given '2' cukes # features/tons_of_cukes.feature:25
|
|
45
|
-
Given '2' cukes # features/tons_of_cukes.feature:26
|
|
46
|
-
Given '2' cukes # features/tons_of_cukes.feature:27
|
|
47
|
-
Given '2' cukes # features/tons_of_cukes.feature:28
|
|
48
|
-
Given '2' cukes # features/tons_of_cukes.feature:29
|
|
49
|
-
Given '2' cukes # features/tons_of_cukes.feature:30
|
|
50
|
-
Given '2' cukes # features/tons_of_cukes.feature:31
|
|
51
|
-
Given '2' cukes # features/tons_of_cukes.feature:32
|
|
52
|
-
Given '2' cukes # features/tons_of_cukes.feature:33
|
|
53
|
-
Given '2' cukes # features/tons_of_cukes.feature:34
|
|
54
|
-
Given '2' cukes # features/tons_of_cukes.feature:35
|
|
55
|
-
Given '2' cukes # features/tons_of_cukes.feature:36
|
|
56
|
-
Given '2' cukes # features/tons_of_cukes.feature:37
|
|
57
|
-
Given '2' cukes # features/tons_of_cukes.feature:38
|
|
58
|
-
Given '2' cukes # features/tons_of_cukes.feature:39
|
|
59
|
-
Given '2' cukes # features/tons_of_cukes.feature:40
|
|
60
|
-
Given '2' cukes # features/tons_of_cukes.feature:41
|
|
61
|
-
Given '2' cukes # features/tons_of_cukes.feature:42
|
|
62
|
-
Given '2' cukes # features/tons_of_cukes.feature:43
|
|
63
|
-
Given '2' cukes # features/tons_of_cukes.feature:44
|
|
64
|
-
Given '2' cukes # features/tons_of_cukes.feature:45
|
|
65
|
-
Given '2' cukes # features/tons_of_cukes.feature:46
|
|
66
|
-
Given '2' cukes # features/tons_of_cukes.feature:47
|
|
67
|
-
Given '2' cukes # features/tons_of_cukes.feature:48
|
|
68
|
-
Given '2' cukes # features/tons_of_cukes.feature:49
|
|
69
|
-
Given '2' cukes # features/tons_of_cukes.feature:50
|
|
70
|
-
Given '2' cukes # features/tons_of_cukes.feature:51
|
|
71
|
-
Given '2' cukes # features/tons_of_cukes.feature:52
|
|
72
|
-
/^'(.+)' global cukes$/ # features/step_definitions/sample_steps.rb:35
|
|
73
|
-
And '10' global cukes # features/background/failing_background_after_success.feature:5
|
|
74
|
-
And '10' global cukes # features/background/failing_background_after_success.feature:5
|
|
75
|
-
And '10' global cukes # features/background/failing_background_after_success.feature:5
|
|
76
|
-
/^I should have '(.+)' cukes$/ # features/step_definitions/sample_steps.rb:31
|
|
77
|
-
Then I should have '10' cukes # features/background/background_with_name.feature:7
|
|
78
|
-
Then I should have '10' cukes # features/background/failing_background.feature:9
|
|
79
|
-
Then I should have '10' cukes # features/background/failing_background.feature:12
|
|
80
|
-
Then I should have '10' cukes # features/background/passing_background.feature:7
|
|
81
|
-
Then I should have '10' cukes # features/background/passing_background.feature:10
|
|
82
|
-
Then I should have '10' cukes # features/background/pending_background.feature:7
|
|
83
|
-
Then I should have '10' cukes # features/background/pending_background.feature:10
|
|
84
|
-
/^I should have '(.+)' global cukes$/ # features/step_definitions/sample_steps.rb:42
|
|
85
|
-
Then I should have '10' global cukes # features/background/failing_background_after_success.feature:8
|
|
86
|
-
Then I should have '10' global cukes # features/background/failing_background_after_success.feature:11
|
|
87
|
-
/^a step definition that calls an undefined step$/ # features/step_definitions/sample_steps.rb:19
|
|
88
|
-
Given a step definition that calls an undefined step # features/call_undefined_step_from_step_def.feature:4
|
|
89
|
-
/^another unused$/ # features/step_definitions/sample_steps.rb:69
|
|
90
|
-
NOT MATCHED BY ANY STEPS
|
|
91
|
-
/^call step "(.*)"$/ # features/step_definitions/sample_steps.rb:23
|
|
92
|
-
Given call step "a step definition that calls an undefined step" # features/call_undefined_step_from_step_def.feature:7
|
|
93
|
-
/^failing expectation$/ # features/step_definitions/sample_steps.rb:62
|
|
94
|
-
Given failing expectation # features/failing_expectation.feature:4
|
|
95
|
-
/^failing without a table$/ # features/step_definitions/sample_steps.rb:15
|
|
96
|
-
Given failing without a table # features/background/failing_background.feature:5
|
|
97
|
-
Given failing without a table # features/background/failing_background.feature:5
|
|
98
|
-
Given failing without a table # features/background/failing_background.feature:5
|
|
99
|
-
Given failing without a table # features/background/scenario_outline_failing_background.feature:4
|
|
100
|
-
Given failing without a table # features/search_sample.feature:10
|
|
101
|
-
/^failing$/ # features/step_definitions/sample_steps.rb:8
|
|
102
|
-
Given failing # features/sample.feature:18
|
|
103
|
-
/^multiline string$/ # features/step_definitions/sample_steps.rb:50
|
|
104
|
-
And multiline string # features/background/multiline_args_background.feature:7
|
|
105
|
-
And multiline string # features/background/multiline_args_background.feature:7
|
|
106
|
-
And multiline string # features/background/multiline_args_background.feature:7
|
|
107
|
-
/^passing without a table$/ # features/step_definitions/sample_steps.rb:12
|
|
108
|
-
Given passing without a table # features/background/background_tagged_before_on_outline.feature:5
|
|
109
|
-
Given passing without a table # features/background/failing_background_after_success.feature:4
|
|
110
|
-
Given passing without a table # features/background/failing_background_after_success.feature:4
|
|
111
|
-
Given passing without a table # features/background/failing_background_after_success.feature:4
|
|
112
|
-
Given passing without a table # features/multiline_name.feature:6
|
|
113
|
-
Given passing without a table # features/multiline_name.feature:6
|
|
114
|
-
Given passing without a table # features/multiline_name.feature:11
|
|
115
|
-
Given passing without a table # features/search_sample.feature:4
|
|
116
|
-
Given passing without a table # features/search_sample.feature:4
|
|
117
|
-
Given passing without a table # features/search_sample.feature:7
|
|
118
|
-
Given passing without a table # features/search_sample.feature:4
|
|
119
|
-
/^passing$/ # features/step_definitions/sample_steps.rb:5
|
|
120
|
-
Given passing # features/sample.feature:12
|
|
121
|
-
/^table$/ # features/step_definitions/sample_steps.rb:46
|
|
122
|
-
Given table # features/background/multiline_args_background.feature:4
|
|
123
|
-
Given table # features/background/multiline_args_background.feature:4
|
|
124
|
-
Given table # features/background/multiline_args_background.feature:4
|
|
125
|
-
/^the multiline string should be$/ # features/step_definitions/sample_steps.rb:58
|
|
126
|
-
Then the multiline string should be # features/background/multiline_args_background.feature:17
|
|
127
|
-
Then the multiline string should be # features/background/multiline_args_background.feature:27
|
|
128
|
-
/^the table should be$/ # features/step_definitions/sample_steps.rb:54
|
|
129
|
-
Then the table should be # features/background/multiline_args_background.feature:14
|
|
130
|
-
Then the table should be # features/background/multiline_args_background.feature:24
|
|
131
|
-
/^unused$/ # features/step_definitions/sample_steps.rb:66
|
|
132
|
-
NOT MATCHED BY ANY STEPS
|
|
133
|
-
|
|
134
|
-
43 scenarios (32 skipped, 10 undefined, 1 passed)
|
|
135
|
-
131 steps (117 skipped, 14 undefined)
|
|
136
|
-
|
|
137
|
-
"""
|
|
138
|
-
|
|
139
|
-
Scenario: --format stepdefs
|
|
140
|
-
When I run cucumber features --format stepdefs --dry-run
|
|
141
|
-
Then STDERR should be empty
|
|
142
|
-
And it should pass with
|
|
143
|
-
"""
|
|
144
|
-
-------------------------------------UU-U--------------UUUUU---------U-------U--------------U-UU-------------------------------------------------UU
|
|
145
|
-
|
|
146
|
-
/^'(.+)' cukes$/ # features/step_definitions/sample_steps.rb:27
|
|
147
|
-
/^'(.+)' global cukes$/ # features/step_definitions/sample_steps.rb:35
|
|
148
|
-
/^I should have '(.+)' cukes$/ # features/step_definitions/sample_steps.rb:31
|
|
149
|
-
/^I should have '(.+)' global cukes$/ # features/step_definitions/sample_steps.rb:42
|
|
150
|
-
/^a step definition that calls an undefined step$/ # features/step_definitions/sample_steps.rb:19
|
|
151
|
-
/^another unused$/ # features/step_definitions/sample_steps.rb:69
|
|
152
|
-
NOT MATCHED BY ANY STEPS
|
|
153
|
-
/^call step "(.*)"$/ # features/step_definitions/sample_steps.rb:23
|
|
154
|
-
/^failing expectation$/ # features/step_definitions/sample_steps.rb:62
|
|
155
|
-
/^failing without a table$/ # features/step_definitions/sample_steps.rb:15
|
|
156
|
-
/^failing$/ # features/step_definitions/sample_steps.rb:8
|
|
157
|
-
/^multiline string$/ # features/step_definitions/sample_steps.rb:50
|
|
158
|
-
/^passing without a table$/ # features/step_definitions/sample_steps.rb:12
|
|
159
|
-
/^passing$/ # features/step_definitions/sample_steps.rb:5
|
|
160
|
-
/^table$/ # features/step_definitions/sample_steps.rb:46
|
|
161
|
-
/^the multiline string should be$/ # features/step_definitions/sample_steps.rb:58
|
|
162
|
-
/^the table should be$/ # features/step_definitions/sample_steps.rb:54
|
|
163
|
-
/^unused$/ # features/step_definitions/sample_steps.rb:66
|
|
164
|
-
NOT MATCHED BY ANY STEPS
|
|
165
|
-
|
|
166
|
-
43 scenarios (32 skipped, 10 undefined, 1 passed)
|
|
167
|
-
131 steps (117 skipped, 14 undefined)
|
|
168
|
-
|
|
169
|
-
"""
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
Feature: Failing background after previously successful background sample
|
|
2
|
-
|
|
3
|
-
Background:
|
|
4
|
-
Given passing without a table
|
|
5
|
-
And '10' global cukes
|
|
6
|
-
|
|
7
|
-
Scenario: passing background
|
|
8
|
-
Then I should have '10' global cukes
|
|
9
|
-
|
|
10
|
-
Scenario: failing background
|
|
11
|
-
Then I should have '10' global cukes
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
Feature: Passing background with multiline args
|
|
2
|
-
|
|
3
|
-
Background:
|
|
4
|
-
Given table
|
|
5
|
-
|a|b|
|
|
6
|
-
|c|d|
|
|
7
|
-
And multiline string
|
|
8
|
-
"""
|
|
9
|
-
I'm a cucumber and I'm okay.
|
|
10
|
-
I sleep all night and I test all day
|
|
11
|
-
"""
|
|
12
|
-
|
|
13
|
-
Scenario: passing background
|
|
14
|
-
Then the table should be
|
|
15
|
-
|a|b|
|
|
16
|
-
|c|d|
|
|
17
|
-
Then the multiline string should be
|
|
18
|
-
"""
|
|
19
|
-
I'm a cucumber and I'm okay.
|
|
20
|
-
I sleep all night and I test all day
|
|
21
|
-
"""
|
|
22
|
-
|
|
23
|
-
Scenario: another passing background
|
|
24
|
-
Then the table should be
|
|
25
|
-
|a|b|
|
|
26
|
-
|c|d|
|
|
27
|
-
Then the multiline string should be
|
|
28
|
-
"""
|
|
29
|
-
I'm a cucumber and I'm okay.
|
|
30
|
-
I sleep all night and I test all day
|
|
31
|
-
"""
|
|
32
|
-
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
Feature: Failing background with scenario outlines sample
|
|
2
|
-
|
|
3
|
-
Background:
|
|
4
|
-
Given failing without a table
|
|
5
|
-
|
|
6
|
-
Scenario Outline: failing background
|
|
7
|
-
Then I should have '<count>' cukes
|
|
8
|
-
Examples:
|
|
9
|
-
|count|
|
|
10
|
-
| 10 |
|
|
11
|
-
|
|
12
|
-
Scenario Outline: another failing background
|
|
13
|
-
Then I should have '<count>' cukes
|
|
14
|
-
Examples:
|
|
15
|
-
|count|
|
|
16
|
-
| 10 |
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
Feature: Passing background with scenario outlines sample
|
|
2
|
-
|
|
3
|
-
Background:
|
|
4
|
-
Given '10' cukes
|
|
5
|
-
|
|
6
|
-
Scenario Outline: passing background
|
|
7
|
-
Then I should have '<count>' cukes
|
|
8
|
-
Examples:
|
|
9
|
-
|count|
|
|
10
|
-
| 10 |
|
|
11
|
-
|
|
12
|
-
Scenario Outline: another passing background
|
|
13
|
-
Then I should have '<count>' cukes
|
|
14
|
-
Examples:
|
|
15
|
-
|count|
|
|
16
|
-
| 10 |
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
require 'forwardable'
|
|
2
|
-
|
|
3
|
-
module Cucumber
|
|
4
|
-
module Formatter
|
|
5
|
-
# Adapter to make #puts/#print/#flush work with win32console
|
|
6
|
-
class ColorIO #:nodoc:
|
|
7
|
-
extend Forwardable
|
|
8
|
-
def_delegators :@kernel, :puts, :print # win32console colours only work when sent to Kernel
|
|
9
|
-
def_delegators :@stdout, :flush, :tty?, :write, :close
|
|
10
|
-
|
|
11
|
-
def initialize(kernel, stdout)
|
|
12
|
-
@kernel = kernel
|
|
13
|
-
@stdout = stdout
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
# Ensure using << still gets colours in win32console
|
|
17
|
-
def <<(output)
|
|
18
|
-
print(output)
|
|
19
|
-
self
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
end
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
require 'cucumber/formatter/io'
|
|
2
|
-
require 'cucumber/formatter/pretty'
|
|
3
|
-
|
|
4
|
-
module Cucumber
|
|
5
|
-
module Formatter
|
|
6
|
-
# The formatter used for <tt>--format tag_cloud</tt>
|
|
7
|
-
# Custom formatter that prints a tag cloud as a table.
|
|
8
|
-
class TagCloud
|
|
9
|
-
include Io
|
|
10
|
-
|
|
11
|
-
def initialize(step_mother, path_or_io, options)
|
|
12
|
-
@io = ensure_io(path_or_io, "tag_cloud")
|
|
13
|
-
@options = options
|
|
14
|
-
@counts = Hash.new{|h,k| h[k] = 0}
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
def after_features(features)
|
|
18
|
-
print_summary(features)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def tag_name(tag_name)
|
|
22
|
-
@counts[tag_name] += 1
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
private
|
|
26
|
-
|
|
27
|
-
def print_summary(features)
|
|
28
|
-
matrix = @counts.to_a.sort{|paira, pairb| paira[0] <=> pairb[0]}.transpose
|
|
29
|
-
table = Cucumber::Ast::Table.new(matrix)
|
|
30
|
-
formatter = Cucumber::Formatter::Pretty.new(@step_mother, @io, {})
|
|
31
|
-
Cucumber::Ast::TreeWalker.new(@step_mother, [formatter]).visit_multiline_arg(table)
|
|
32
|
-
end
|
|
33
|
-
end
|
|
34
|
-
end
|
|
35
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper')
|
|
2
|
-
require 'cucumber/formatter/color_io'
|
|
3
|
-
|
|
4
|
-
module Cucumber
|
|
5
|
-
module Formatter
|
|
6
|
-
describe ColorIO do
|
|
7
|
-
describe "<<" do
|
|
8
|
-
it "should convert to a print using kernel" do
|
|
9
|
-
kernel = mock('Kernel')
|
|
10
|
-
color_io = ColorIO.new(kernel, nil)
|
|
11
|
-
|
|
12
|
-
kernel.should_receive(:print).with("monkeys")
|
|
13
|
-
|
|
14
|
-
color_io << "monkeys"
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
it "should allow chained <<" do
|
|
18
|
-
kernel = mock('Kernel')
|
|
19
|
-
color_io = ColorIO.new(kernel, nil)
|
|
20
|
-
|
|
21
|
-
kernel.should_receive(:print).with("monkeys")
|
|
22
|
-
kernel.should_receive(:print).with(" are tasty")
|
|
23
|
-
|
|
24
|
-
color_io << "monkeys" << " are tasty"
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|