cucumber 0.4.0 → 0.4.1
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/.gitattributes +1 -0
- data/.gitignore +17 -0
- data/History.txt +27 -0
- data/{License.txt → LICENSE} +0 -0
- data/Manifest.txt +0 -487
- data/README.rdoc +26 -0
- data/Rakefile +54 -7
- data/VERSION.yml +4 -0
- data/bin/cucumber +1 -1
- data/cucumber.gemspec +743 -0
- data/cucumber.yml +3 -1
- data/examples/cs/.gitignore +1 -0
- data/examples/i18n/Rakefile +1 -1
- data/examples/i18n/de/.gitignore +1 -0
- data/examples/i18n/en/.gitignore +1 -0
- data/examples/i18n/fi/.gitignore +1 -0
- data/examples/i18n/hu/.gitignore +1 -0
- data/examples/i18n/id/.gitignore +1 -0
- data/examples/i18n/ja/.gitignore +1 -0
- data/examples/i18n/ko/.gitignore +1 -0
- data/examples/i18n/lt/.gitignore +1 -0
- data/examples/i18n/pl/.gitignore +1 -0
- data/examples/i18n/sk/.gitignore +1 -0
- data/examples/i18n/sr-latn/Rakefile +6 -0
- data/examples/i18n/sr-latn/features/sabiranje.feature +18 -0
- data/examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/sr-latn/lib/calculator.rb +12 -0
- data/examples/i18n/sr/Rakefile +6 -0
- data/examples/i18n/sr/features/sabiranje.feature +18 -0
- data/examples/i18n/sr/features/step_definitons/calculator_steps.rb +24 -0
- data/examples/i18n/sr/lib/calculator.rb +12 -0
- data/examples/i18n/tr/.gitignore +1 -0
- data/examples/i18n/tr/features/{bo/314/210lme.feature → bolme.feature} +0 -0
- data/examples/i18n/tr/features/step_definitons/{hesap_makinesi_ad/304/261mlar/304/261.rb → hesap_makinesi_adimlari.rb} +0 -0
- data/examples/i18n/zh-TW/.gitignore +1 -0
- data/examples/java/.gitignore +1 -0
- data/examples/java/src/.gitignore +1 -0
- data/examples/java/src/cucumber/demo/.gitignore +1 -0
- data/examples/python/lib/.gitignore +1 -0
- data/examples/ruby2python/lib/.gitignore +1 -0
- data/examples/self_test/.gitignore +1 -0
- data/features/background.feature +0 -3
- data/features/bug_464.feature +16 -0
- data/features/cucumber_cli.feature +4 -6
- data/features/cucumber_cli_diff_disabled.feature +0 -2
- data/features/cucumber_cli_outlines.feature +0 -4
- data/features/drb_server_integration.feature +1 -0
- data/features/exception_in_after_block.feature +0 -2
- data/features/exception_in_after_step_block.feature +0 -2
- data/features/exception_in_before_block.feature +0 -2
- data/features/junit_formatter.feature +0 -1
- data/features/language_help.feature +40 -38
- data/features/listener_debugger_formatter.feature +41 -0
- data/features/post_configuration_hook.feature +1 -1
- data/features/report_called_undefined_steps.feature +0 -1
- data/features/step_definitions/simplest_steps.rb +0 -3
- data/features/support/env.rb +5 -1
- data/features/transform.feature +1 -1
- data/features/usage_and_stepdefs_formatter.feature +1 -3
- data/features/work_in_progress.feature +0 -2
- data/gem_tasks/features.rake +6 -1
- data/gem_tasks/rspec.rake +5 -35
- data/gem_tasks/sdoc.rake +10 -5
- data/lib/autotest/cucumber_mixin.rb +6 -0
- data/lib/cucumber.rb +0 -1
- data/lib/cucumber/ast/step_invocation.rb +3 -0
- data/lib/cucumber/cli/configuration.rb +7 -2
- data/lib/cucumber/cli/options.rb +8 -7
- data/lib/cucumber/core_ext/proc.rb +1 -0
- data/lib/cucumber/formatter/ansicolor.rb +0 -9
- data/lib/cucumber/formatter/console.rb +14 -12
- data/lib/cucumber/formatter/debug.rb +33 -0
- data/lib/cucumber/formatter/pretty.rb +2 -2
- data/lib/cucumber/formatter/rerun.rb +9 -6
- data/lib/cucumber/language_support/language_methods.rb +2 -2
- data/lib/cucumber/languages.yml +37 -1
- data/lib/cucumber/platform.rb +3 -1
- data/lib/cucumber/py_support/py_language.py +1 -1
- data/lib/cucumber/py_support/py_language.rb +2 -2
- data/lib/cucumber/rb_support/rb_language.rb +6 -7
- data/lib/cucumber/rb_support/rb_step_definition.rb +0 -1
- data/lib/cucumber/rb_support/rb_world.rb +1 -2
- data/lib/cucumber/step_match.rb +10 -7
- data/lib/cucumber/step_mother.rb +6 -3
- data/rails_generators/cucumber/cucumber_generator.rb +49 -6
- data/spec/cucumber/cli/options_spec.rb +1 -1
- data/spec/cucumber/formatter/console_spec.rb +20 -0
- data/spec/cucumber/step_match_spec.rb +10 -5
- metadata +258 -43
- data/README.txt +0 -4
- data/config/hoe.rb +0 -84
- data/config/requirements.rb +0 -15
- data/gem_tasks/deployment.rake +0 -11
- data/gem_tasks/gemspec.rake +0 -10
- data/lib/cucumber/language_support/step_definition_methods.rb +0 -23
- data/lib/cucumber/version.rb +0 -10
data/cucumber.yml
CHANGED
@@ -1,2 +1,4 @@
|
|
1
|
-
default: --format progress --
|
1
|
+
default: --format progress --strict features
|
2
|
+
jruby: --format progress --tags ~@spork --strict features
|
3
|
+
windows_mri: --format progress --tags ~@spork --strict features
|
2
4
|
wip: --tags @wip --wip features
|
@@ -0,0 +1 @@
|
|
1
|
+
*.dll
|
data/examples/i18n/Rakefile
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# language: sr-Latn
|
2
|
+
Funkcionalnost: Sabiranje
|
3
|
+
Da bih izbegao smešne greske
|
4
|
+
Kao matematička neznalica
|
5
|
+
Želim da mogu da izračunam zbir dva broja
|
6
|
+
|
7
|
+
Struktura scenarija: Dodaj dva broja
|
8
|
+
Zadato Unesen <input_1> broj u kalkulator
|
9
|
+
I Unesen <input_2> broj u kalkulator
|
10
|
+
Kada pritisnem <button>
|
11
|
+
Onda bi trebalo da bude <output> prikazano na ekranu
|
12
|
+
|
13
|
+
Primeri:
|
14
|
+
| input_1 | input_2 | button | output |
|
15
|
+
| 20 | 30 | add | 50 |
|
16
|
+
| 25 | 45 | add | 70 |
|
17
|
+
| 7 | 77 | add | 84 |
|
18
|
+
| 11 | 12 | add | 23 |
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Zadato /Unesen (\d+) broj u kalkulator/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
Kada /pritisnem (\w+)/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Onda /bi trebalo da bude (.*) prikazano na ekranu/ do |result|
|
23
|
+
@result.to_f == result.to_f
|
24
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# language: sr
|
2
|
+
Функционалност: Сабиранје
|
3
|
+
Да бих избегао смешне грешке
|
4
|
+
Као математичка незналица
|
5
|
+
Желим да могу да израчунам збир два броја
|
6
|
+
|
7
|
+
Концепт: Додај два броја
|
8
|
+
Задати унесен број <input_1> у калкулатор
|
9
|
+
И унесен број <input_2> у калкулатор
|
10
|
+
Када притиснем <button>
|
11
|
+
Онда би требало да буде <output> прикаѕано на екрану
|
12
|
+
|
13
|
+
Примери:
|
14
|
+
| input_1 | input_2 | button | output |
|
15
|
+
| 20 | 30 | add | 50 |
|
16
|
+
| 25 | 45 | add | 70 |
|
17
|
+
| 7 | 77 | add | 84 |
|
18
|
+
| 11 | 12 | add | 23 |
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# require 'spec/expectations'
|
3
|
+
$:.unshift(File.dirname(__FILE__) + '/../../lib') # This line is not needed in your own project
|
4
|
+
require 'cucumber/formatter/unicode'
|
5
|
+
require 'calculator'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = Calculator.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Задати /унесен број (\d+) у калкулатор/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
Када /притиснем (\w+)/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Онда /би требало да буде (.*) прикаѕано на екрану/ do |result|
|
23
|
+
@result.to_f == result.to_f
|
24
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
features.html
|
@@ -0,0 +1 @@
|
|
1
|
+
build
|
@@ -0,0 +1 @@
|
|
1
|
+
cucumber_demo.jar
|
@@ -0,0 +1 @@
|
|
1
|
+
*.class
|
@@ -0,0 +1 @@
|
|
1
|
+
*.pyc
|
@@ -0,0 +1 @@
|
|
1
|
+
*.pyc
|
@@ -0,0 +1 @@
|
|
1
|
+
tmp
|
data/features/background.feature
CHANGED
@@ -90,7 +90,6 @@ Feature: backgrounds
|
|
90
90
|
|
91
91
|
"""
|
92
92
|
|
93
|
-
@mri186
|
94
93
|
Scenario: run a feature with a background that fails
|
95
94
|
When I run cucumber -q features/background/failing_background.feature --require features
|
96
95
|
Then it should fail with
|
@@ -121,7 +120,6 @@ Feature: backgrounds
|
|
121
120
|
"""
|
122
121
|
And "examples/self_test/tmp/after.txt" should exist
|
123
122
|
|
124
|
-
@mri186
|
125
123
|
Scenario: run a feature with scenario outlines that has a background that fails
|
126
124
|
When I run cucumber -q features/background/scenario_outline_failing_background.feature --require features
|
127
125
|
Then it should fail with
|
@@ -174,7 +172,6 @@ Feature: backgrounds
|
|
174
172
|
|
175
173
|
"""
|
176
174
|
|
177
|
-
@mri186
|
178
175
|
Scenario: background passes with first scenario but fails with second
|
179
176
|
When I run cucumber -q features/background/failing_background_after_success.feature --require features
|
180
177
|
Then it should fail with
|
@@ -0,0 +1,16 @@
|
|
1
|
+
Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/464
|
2
|
+
Scenario: Limiting with tags which do not exist in the features
|
3
|
+
Given a standard Cucumber project directory structure
|
4
|
+
And a file named "features/f.feature" with:
|
5
|
+
"""
|
6
|
+
Feature: Test
|
7
|
+
In order to test
|
8
|
+
As a tester
|
9
|
+
I want to test
|
10
|
+
|
11
|
+
@tag
|
12
|
+
Scenario: Testing
|
13
|
+
Given I'm a test
|
14
|
+
"""
|
15
|
+
When I run cucumber -q features/f.feature --tag @i_dont_exist
|
16
|
+
Then it should pass
|
@@ -58,7 +58,6 @@ Feature: Cucumber command line
|
|
58
58
|
|
59
59
|
"""
|
60
60
|
|
61
|
-
@mri186
|
62
61
|
Scenario: Specify 2 line numbers where one is a tag
|
63
62
|
When I run cucumber -q features/sample.feature:5:16
|
64
63
|
Then it should fail with
|
@@ -147,7 +146,6 @@ Feature: Cucumber command line
|
|
147
146
|
|
148
147
|
"""
|
149
148
|
|
150
|
-
@mri186
|
151
149
|
Scenario: Run all with progress formatter
|
152
150
|
When I run cucumber -q --format progress features/sample.feature
|
153
151
|
Then it should fail with
|
@@ -465,7 +463,6 @@ Feature: Cucumber command line
|
|
465
463
|
|
466
464
|
"""
|
467
465
|
|
468
|
-
@mri186
|
469
466
|
Scenario: Run with a tag that exists on 1 feature
|
470
467
|
When I run cucumber -q features --tags @one
|
471
468
|
Then it should fail with
|
@@ -619,12 +616,13 @@ Feature: Cucumber command line
|
|
619
616
|
"""
|
620
617
|
|
621
618
|
Scenario: Generate PDF with pdf formatter
|
622
|
-
|
623
|
-
|
619
|
+
When I run cucumber --format pdf --out tmp/sample.pdf --dry-run features/sample.feature
|
620
|
+
Then STDERR should be empty
|
621
|
+
Then "examples/self_test/tmp/sample.pdf" should match "Pages 2"
|
624
622
|
|
625
623
|
Scenario: Run feature elements which match a name using -n
|
626
624
|
When I run cucumber -n Pisang -q features/
|
627
|
-
|
625
|
+
Then it should pass with
|
628
626
|
"""
|
629
627
|
Feature: search examples
|
630
628
|
|
@@ -2,7 +2,6 @@ Feature: Cucumber command line
|
|
2
2
|
In order to write better software
|
3
3
|
Developers should be able to execute requirements as tests
|
4
4
|
|
5
|
-
@mri186
|
6
5
|
Scenario: Run single failing scenario with default diff enabled
|
7
6
|
When I run cucumber -q features/failing_expectation.feature
|
8
7
|
Then it should fail with
|
@@ -30,7 +29,6 @@ Feature: Cucumber command line
|
|
30
29
|
|
31
30
|
"""
|
32
31
|
|
33
|
-
@mri186
|
34
32
|
Scenario: Run single failing scenario with diff output disabled
|
35
33
|
When I run cucumber -q --no-diff features/failing_expectation.feature
|
36
34
|
Then it should fail with
|
@@ -2,7 +2,6 @@ Feature: Cucumber command line
|
|
2
2
|
In order to write better software
|
3
3
|
Developers should be able to execute requirements as tests
|
4
4
|
|
5
|
-
@mri186
|
6
5
|
Scenario: Run scenario outline with filtering on outline name
|
7
6
|
When I run cucumber -q features --name "Test state"
|
8
7
|
Then it should fail with
|
@@ -32,7 +31,6 @@ Feature: Cucumber command line
|
|
32
31
|
|
33
32
|
"""
|
34
33
|
|
35
|
-
@mri186
|
36
34
|
Scenario: Run scenario outline steps only
|
37
35
|
When I run cucumber -q features/outline_sample.feature:7
|
38
36
|
Then it should fail with
|
@@ -62,7 +60,6 @@ Feature: Cucumber command line
|
|
62
60
|
|
63
61
|
"""
|
64
62
|
|
65
|
-
@mri186
|
66
63
|
Scenario: Run single failing scenario outline table row
|
67
64
|
When I run cucumber features/outline_sample.feature:12
|
68
65
|
Then it should fail with
|
@@ -88,7 +85,6 @@ Feature: Cucumber command line
|
|
88
85
|
|
89
86
|
# There are 10 characters in the progress, but only 8 reported steps. Needs investigation.
|
90
87
|
# Looks like we're outputting too many characters.
|
91
|
-
@mri186
|
92
88
|
Scenario: Run all with progress formatter
|
93
89
|
When I run cucumber -q --format progress features/outline_sample.feature
|
94
90
|
Then it should fail with
|
@@ -24,7 +24,6 @@ Feature: Exception in After Block
|
|
24
24
|
end
|
25
25
|
"""
|
26
26
|
|
27
|
-
@mri186
|
28
27
|
Scenario: Handle Exception in standard scenario step and carry on
|
29
28
|
Given a file named "features/naughty_step_in_scenario.feature" with:
|
30
29
|
"""
|
@@ -57,7 +56,6 @@ Feature: Exception in After Block
|
|
57
56
|
|
58
57
|
"""
|
59
58
|
|
60
|
-
@mri186
|
61
59
|
Scenario: Handle Exception in scenario outline table row and carry on
|
62
60
|
Given a file named "features/naughty_step_in_scenario_outline.feature" with:
|
63
61
|
"""
|
@@ -24,7 +24,6 @@ Feature: Exception in AfterStep Block
|
|
24
24
|
end
|
25
25
|
"""
|
26
26
|
|
27
|
-
@mri186
|
28
27
|
Scenario: Handle Exception in standard scenario step and carry on
|
29
28
|
Given a file named "features/naughty_step_in_scenario.feature" with:
|
30
29
|
"""
|
@@ -58,7 +57,6 @@ Feature: Exception in AfterStep Block
|
|
58
57
|
|
59
58
|
"""
|
60
59
|
|
61
|
-
@mri186
|
62
60
|
Scenario: Handle Exception in scenario outline table row and carry on
|
63
61
|
Given a file named "features/naughty_step_in_scenario_outline.feature" with:
|
64
62
|
"""
|
@@ -19,7 +19,6 @@ Feature: Exception in Before Block
|
|
19
19
|
end
|
20
20
|
"""
|
21
21
|
|
22
|
-
@mri186
|
23
22
|
Scenario: Handle Exception in standard scenario step and carry on
|
24
23
|
Given a file named "features/naughty_step_in_scenario.feature" with:
|
25
24
|
"""
|
@@ -46,7 +45,6 @@ Feature: Exception in Before Block
|
|
46
45
|
|
47
46
|
"""
|
48
47
|
|
49
|
-
@mri186
|
50
48
|
Scenario: Handle Exception in Before hook for Scenario with Background
|
51
49
|
Given a file named "features/naughty_step_in_before.feature" with:
|
52
50
|
"""
|
@@ -6,7 +6,6 @@ Feature: JUnit output formatter
|
|
6
6
|
Given I am in junit
|
7
7
|
And the tmp directory is empty
|
8
8
|
|
9
|
-
@mri186
|
10
9
|
Scenario: one feature, one passing scenario, one failing scenario
|
11
10
|
When I run cucumber --format junit --out tmp/ features/one_passing_one_failing.feature
|
12
11
|
Then it should fail with
|
@@ -26,43 +26,45 @@ Feature: Language help
|
|
26
26
|
When I run cucumber -l help
|
27
27
|
Then it should pass with
|
28
28
|
"""
|
29
|
-
| ar
|
30
|
-
| bg
|
31
|
-
| cat
|
32
|
-
| cy
|
33
|
-
| cz
|
34
|
-
| da
|
35
|
-
| de
|
36
|
-
| en
|
37
|
-
| en-au
|
38
|
-
| en-lol
|
39
|
-
| en-tx
|
40
|
-
| es
|
41
|
-
| et
|
42
|
-
| fi
|
43
|
-
| fr
|
44
|
-
| he
|
45
|
-
| hr
|
46
|
-
| hu
|
47
|
-
| id
|
48
|
-
| it
|
49
|
-
| ja
|
50
|
-
| ko
|
51
|
-
| lt
|
52
|
-
| lv
|
53
|
-
| nl
|
54
|
-
| no
|
55
|
-
| pl
|
56
|
-
| pt
|
57
|
-
| ro
|
58
|
-
| ro2
|
59
|
-
| ru
|
60
|
-
| se
|
61
|
-
| sk
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
29
|
+
| ar | Arabic | العربية |
|
30
|
+
| bg | Bulgarian | български |
|
31
|
+
| cat | Catalan | català |
|
32
|
+
| cy | Welsh | Cymraeg |
|
33
|
+
| cz | Czech | Česky |
|
34
|
+
| da | Danish | dansk |
|
35
|
+
| de | German | Deutsch |
|
36
|
+
| en | English | English |
|
37
|
+
| en-au | Australian | Australian |
|
38
|
+
| en-lol | LOLCAT | LOLCAT |
|
39
|
+
| en-tx | Texan | Texan |
|
40
|
+
| es | Spanish | español |
|
41
|
+
| et | Estonian | eesti keel |
|
42
|
+
| fi | Finnish | suomi |
|
43
|
+
| fr | French | français |
|
44
|
+
| he | Hebrew | עברית |
|
45
|
+
| hr | Croatian | hrvatski |
|
46
|
+
| hu | Hungarian | magyar |
|
47
|
+
| id | Indonesian | Bahasa Indonesia |
|
48
|
+
| it | Italian | italiano |
|
49
|
+
| ja | Japanese | 日本語 |
|
50
|
+
| ko | Korean | 한국어 |
|
51
|
+
| lt | Lithuanian | lietuvių kalba |
|
52
|
+
| lv | Latvian | latviešu |
|
53
|
+
| nl | Dutch | Nederlands |
|
54
|
+
| no | Norwegian | norsk |
|
55
|
+
| pl | Polish | polski |
|
56
|
+
| pt | Portuguese | português |
|
57
|
+
| ro | Romanian | română |
|
58
|
+
| ro2 | Romanian (diacritical) | română (diacritical) |
|
59
|
+
| ru | Russian | русский |
|
60
|
+
| se | Swedish | Svenska |
|
61
|
+
| sk | Slovak | Slovensky |
|
62
|
+
| sr | Serbian | Српски |
|
63
|
+
| sr-Latn | Serbian_latin | Srpski_latinica |
|
64
|
+
| tr | Turkish | Türkçe |
|
65
|
+
| uz | Uzbek | Узбекча |
|
66
|
+
| vi | Vietnamese | Tiếng Việt |
|
67
|
+
| zh-CN | Chinese simplified | 简体中文 |
|
68
|
+
| zh-TW | Chinese traditional | 繁體中文 |
|
67
69
|
|
68
70
|
"""
|