cucumber 0.3.104 → 0.4.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +50 -3
- data/Manifest.txt +20 -2
- data/Rakefile +4 -0
- data/config/hoe.rb +20 -14
- data/examples/i18n/tr/Rakefile +6 -0
- data/examples/i18n/tr/features/bo/314/210lme.feature +10 -0
- data/examples/i18n/tr/features/step_definitons/hesap_makinesi_ad/304/261mlar/304/261.rb +24 -0
- data/examples/i18n/tr/features/toplama.feature +18 -0
- data/examples/i18n/tr/lib/hesap_makinesi.rb +15 -0
- data/examples/python/features/step_definitions/fib_steps.py +9 -1
- data/examples/ruby2python/features/fibonacci.feature +19 -0
- data/examples/{python → ruby2python}/features/step_definitions/fib_steps.rb +0 -0
- data/examples/ruby2python/features/support/env.rb +21 -0
- data/examples/ruby2python/lib/fib.py +7 -0
- data/features/bug_475.feature +43 -0
- data/features/exception_in_before_block.feature +34 -1
- data/features/html_formatter.feature +1 -1
- data/features/language_help.feature +68 -0
- data/features/rake_task.feature +34 -60
- data/features/simplest.feature +11 -0
- data/features/step_definitions/simplest_steps.rb +6 -0
- data/features/support/env.rb +1 -1
- data/features/support/env.rb.simplest +7 -0
- data/features/table_diffing.feature +1 -1
- data/features/table_mapping.feature +35 -0
- data/features/transform.feature +133 -2
- data/features/usage_and_stepdefs_formatter.feature +4 -2
- data/gem_tasks/contributors.rake +2 -1
- data/lib/cucumber/ast/background.rb +17 -5
- data/lib/cucumber/ast/outline_table.rb +8 -1
- data/lib/cucumber/ast/scenario.rb +2 -1
- data/lib/cucumber/ast/step.rb +6 -1
- data/lib/cucumber/ast/step_invocation.rb +14 -1
- data/lib/cucumber/ast/table.rb +30 -6
- data/lib/cucumber/cli/configuration.rb +1 -1
- data/lib/cucumber/cli/language_help_formatter.rb +27 -14
- data/lib/cucumber/cli/options.rb +2 -1
- data/lib/cucumber/cli/profile_loader.rb +12 -4
- data/lib/cucumber/core_ext/instance_exec.rb +29 -25
- data/lib/cucumber/formatter/junit.rb +50 -45
- data/lib/cucumber/formatter/pdf.rb +16 -4
- data/lib/cucumber/formatter/usage.rb +2 -14
- data/lib/cucumber/language_support/language_methods.rb +23 -3
- data/lib/cucumber/languages.yml +14 -0
- data/lib/cucumber/parser/natural_language.rb +1 -1
- data/lib/cucumber/parser/table.rb +10 -7
- data/lib/cucumber/parser/table.tt +1 -1
- data/lib/cucumber/platform.rb +1 -0
- data/lib/cucumber/py_support/py_dsl.py +10 -8
- data/lib/cucumber/py_support/py_language.py +8 -0
- data/lib/cucumber/py_support/py_language.rb +24 -11
- data/lib/cucumber/rails/action_controller.rb +6 -1
- data/lib/cucumber/rails/active_record.rb +5 -4
- data/lib/cucumber/rake/task.rb +7 -82
- data/lib/cucumber/rb_support/rb_language.rb +0 -4
- data/lib/cucumber/rb_support/rb_step_definition.rb +4 -6
- data/lib/cucumber/rb_support/rb_transform.rb +9 -7
- data/lib/cucumber/step_definition_light.rb +20 -0
- data/lib/cucumber/step_match.rb +1 -1
- data/lib/cucumber/step_mother.rb +5 -1
- data/lib/cucumber/version.rb +3 -3
- data/lib/cucumber/webrat/element_locator.rb +2 -0
- data/rails_generators/cucumber/cucumber_generator.rb +8 -9
- data/rails_generators/cucumber/templates/cucumber +14 -6
- data/rails_generators/cucumber/templates/cucumber.rake +9 -1
- data/rails_generators/cucumber/templates/cucumber_environment.rb +5 -1
- data/rails_generators/cucumber/templates/env.rb +29 -14
- data/rails_generators/cucumber/templates/paths.rb +1 -1
- data/rails_generators/cucumber/templates/spork_env.rb +39 -17
- data/rails_generators/cucumber/templates/version_check.rb +29 -0
- data/rails_generators/cucumber/templates/webrat_steps.rb +5 -0
- data/spec/cucumber/ast/outline_table_spec.rb +21 -0
- data/spec/cucumber/ast/table_spec.rb +18 -0
- data/spec/cucumber/formatter/html_spec.rb +33 -69
- data/spec/cucumber/formatter/junit_spec.rb +73 -0
- data/spec/cucumber/formatter/spec_helper.rb +50 -0
- data/spec/cucumber/parser/table_parser_spec.rb +2 -2
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +10 -1
- data/spec/cucumber/step_mother_spec.rb +6 -0
- metadata +32 -8
- data/examples/python/features/support/env.rb +0 -21
data/History.txt
CHANGED
@@ -1,7 +1,54 @@
|
|
1
|
+
== 0.4.0 2009-10-08
|
2
|
+
|
3
|
+
The back to stable release. When we went from 0.3.11 to 0.3.90 we thought we were close to a 0.4.0 release. Then the community
|
4
|
+
went nuts and a lot of great contributions came in. Some of those broke backwards compatibility, and we decided it would be
|
5
|
+
better to do this while still on 0.3.x.
|
6
|
+
|
7
|
+
Rails users: you *must* run script/generate cucumber after installing this version.
|
8
|
+
|
9
|
+
If something breaks for you, please please please read this file carefully. It's most likely something referenced here, and
|
10
|
+
that will give you more information so you can solve any problems. If not, just get in touch on IRC or the Google Group.
|
11
|
+
|
12
|
+
=== New Features
|
13
|
+
* Total feature parsing time is shown when run with --verbose. Useful for benchmarking with future Ragel parser (Aslak Hellesøy)
|
14
|
+
* Tables yielded to step definitions are no longer frozen, so you can edit their data without #dup'ing (Aslak Hellesøy)
|
15
|
+
* Transform can now transform tables, using /table:col1,col2,col3/ (#478 Corey Haines)
|
16
|
+
* cucumber.yml can also end in .yaml and be located in .config/ or config/ dirs (#447 trans)
|
17
|
+
* Turkish support. (Hakan Şenol Ensari)
|
18
|
+
* Upgrade Rails generator to set a dependency to Spork 0.7.2. (Aslak Hellesøy)
|
19
|
+
* Installation via rubygems will print a message telling people to read this file. (Aslak Hellesøy)
|
20
|
+
* Files generated by the Rails cucumber generator have information about the risks of editing. (Aslak Hellesøy)
|
21
|
+
* Rotten Cucumber alert on Rails if you upgrade your gem without regenerating with script/generate cucumber. (Aslak Hellesøy)
|
22
|
+
* Stop the confusion between "homepage" and "home page" by allowing both (Ryan Bigg & Bodaniel Jeanes)
|
23
|
+
* Make script/cucumber file generated by the Rails cucumber generator look for cucumber in vendored gems as well. (Tom ten Thij)
|
24
|
+
|
25
|
+
=== Changed Features
|
26
|
+
* Step tables now default empty table cells to empty strings and not nil (#470 Joseph Wilk)
|
27
|
+
|
28
|
+
=== Removed Features
|
29
|
+
* The feature_list, feature_pattern, step_list and step_pattern properties are removed from the Rake task. Use profiles instead. (Aslak Hellesøy)
|
30
|
+
* The FeatureTask is removed. Use profiles instead.
|
31
|
+
|
32
|
+
=== Bugfixes
|
33
|
+
* instance_exec get declared private (#477 Tim Galeckas)
|
34
|
+
* Transforms can return nil. (Thomas Marek)
|
35
|
+
* Generated rails rake tasks doesn't use the vendored version cucumber binary (#468 Josh Nichols)
|
36
|
+
* Incorrect diagnostics in case when Before raises in presence of Background (#465 Fedor Kocherga)
|
37
|
+
* Error on pystring in scenario outline with pretty formatter (#475 Aslak Hellesøy)
|
38
|
+
* Adding After('@allow-rescue') to set allow_rescue back to its former value. (Alf Mikula)
|
39
|
+
* Feature files are now sorted before they are executed, because different operating systems may list files differently. (Aslak Hellesøy)
|
40
|
+
* Fixed image loading for Windows in PDF formatter. Allow use of both png and jpg. (#461 Declan Whelan)
|
41
|
+
* Before('~@no-txn') is run on all scenarios without @no-txn causing Cucumber::Rails::World.use_transactional_fixtures to always be true. (#457 Aslak Hellesøy)
|
42
|
+
* JUnit formatter not handling scenario outline tables (#472 Matt Wynne)
|
43
|
+
* Language help broken (#467 Matt Wynne)
|
44
|
+
* Language help formatter aligns output better on Ruby 1.8.6 (Aslak Hellesøy)
|
45
|
+
* Better backtraces for Ruby 1.8.7. (Jakob Skov-Pedersen)
|
46
|
+
* String step definitions ( Given 'I have $number cucumbers' ) are escaped before being turned into regular expressions. (David Waite)
|
47
|
+
|
1
48
|
== 0.3.104 2009-09-27
|
2
49
|
|
3
50
|
This release has some minor changes to the command line and formatters. The biggest change is internally, paving
|
4
|
-
the way for more programming language support in Cuke4Duke, which now supports step definitions written in Java, Scala,
|
51
|
+
the way for more programming language support in Cuke4Duke, which now supports step definitions written in Java, Scala,
|
5
52
|
Groovy, Clojure and Javascript!
|
6
53
|
|
7
54
|
=== New Features
|
@@ -25,7 +72,7 @@ Groovy, Clojure and Javascript!
|
|
25
72
|
|
26
73
|
== 0.3.103 2009-09-24
|
27
74
|
|
28
|
-
This release gives you back some of the control over the Rails environment that was accidentally taken away from you in the
|
75
|
+
This release gives you back some of the control over the Rails environment that was accidentally taken away from you in the
|
29
76
|
previous release.
|
30
77
|
|
31
78
|
Using this release on a Rails project requires a rerun of script/generate cucumber.
|
@@ -489,7 +536,7 @@ versions). In lib/tasks/cucumber.rake:
|
|
489
536
|
(If you run script/generate cucumber this will be done for you).
|
490
537
|
Alternatively you can omit forking and run features like this:
|
491
538
|
|
492
|
-
RAILS_ENV=test rake
|
539
|
+
RAILS_ENV=test rake cucumber
|
493
540
|
|
494
541
|
However, setting the RAILS_ENV is easy to forget, so I don't recommend relying on this.
|
495
542
|
|
data/Manifest.txt
CHANGED
@@ -147,6 +147,11 @@ examples/i18n/sk/features/addition.feature
|
|
147
147
|
examples/i18n/sk/features/division.feature
|
148
148
|
examples/i18n/sk/features/step_definitons/calculator_steps.rb
|
149
149
|
examples/i18n/sk/lib/calculator.rb
|
150
|
+
examples/i18n/tr/Rakefile
|
151
|
+
examples/i18n/tr/features/bölme.feature
|
152
|
+
examples/i18n/tr/features/step_definitons/hesap_makinesi_adımları.rb
|
153
|
+
examples/i18n/tr/features/toplama.feature
|
154
|
+
examples/i18n/tr/lib/hesap_makinesi.rb
|
150
155
|
examples/i18n/uz/Rakefile
|
151
156
|
examples/i18n/uz/features/addition.feature
|
152
157
|
examples/i18n/uz/features/consecutive_calculations.feature
|
@@ -177,8 +182,6 @@ examples/junit/features/step_definitions/steps.rb
|
|
177
182
|
examples/pure_java/README.textile
|
178
183
|
examples/python/features/fibonacci.feature
|
179
184
|
examples/python/features/step_definitions/fib_steps.py
|
180
|
-
examples/python/features/step_definitions/fib_steps.rb
|
181
|
-
examples/python/features/support/env.rb
|
182
185
|
examples/python/lib/fib.py
|
183
186
|
examples/ramaze/README.textile
|
184
187
|
examples/ramaze/Rakefile
|
@@ -188,6 +191,10 @@ examples/ramaze/features/step_definitions/add_steps.rb
|
|
188
191
|
examples/ramaze/features/support/env.rb
|
189
192
|
examples/ramaze/layout/default.html.erb
|
190
193
|
examples/ramaze/view/index.html.erb
|
194
|
+
examples/ruby2python/features/fibonacci.feature
|
195
|
+
examples/ruby2python/features/step_definitions/fib_steps.rb
|
196
|
+
examples/ruby2python/features/support/env.rb
|
197
|
+
examples/ruby2python/lib/fib.py
|
191
198
|
examples/selenium/Rakefile
|
192
199
|
examples/selenium/features/search.feature
|
193
200
|
examples/selenium/features/step_definitons/search_steps.rb
|
@@ -272,6 +279,7 @@ examples/watir/features/step_definitons/search_steps.rb
|
|
272
279
|
examples/watir/features/support/env.rb
|
273
280
|
features/background.feature
|
274
281
|
features/bug_371.feature
|
282
|
+
features/bug_475.feature
|
275
283
|
features/cucumber_cli.feature
|
276
284
|
features/cucumber_cli_diff_disabled.feature
|
277
285
|
features/cucumber_cli_outlines.feature
|
@@ -287,17 +295,22 @@ features/html_formatter.feature
|
|
287
295
|
features/html_formatter/a.html
|
288
296
|
features/junit_formatter.feature
|
289
297
|
features/language_from_header.feature
|
298
|
+
features/language_help.feature
|
290
299
|
features/multiline_names.feature
|
291
300
|
features/negative_tagged_hooks.feature
|
292
301
|
features/post_configuration_hook.feature
|
293
302
|
features/profiles.feature
|
294
303
|
features/rake_task.feature
|
295
304
|
features/report_called_undefined_steps.feature
|
305
|
+
features/simplest.feature
|
296
306
|
features/snippet.feature
|
297
307
|
features/step_definitions/cucumber_steps.rb
|
298
308
|
features/step_definitions/extra_steps.rb
|
309
|
+
features/step_definitions/simplest_steps.rb
|
299
310
|
features/support/env.rb
|
311
|
+
features/support/env.rb.simplest
|
300
312
|
features/table_diffing.feature
|
313
|
+
features/table_mapping.feature
|
301
314
|
features/transform.feature
|
302
315
|
features/unicode_table.feature
|
303
316
|
features/usage_and_stepdefs_formatter.feature
|
@@ -400,6 +413,7 @@ lib/cucumber/rb_support/rb_world.rb
|
|
400
413
|
lib/cucumber/rb_support/regexp_argument_matcher.rb
|
401
414
|
lib/cucumber/rspec_neuter.rb
|
402
415
|
lib/cucumber/step_argument.rb
|
416
|
+
lib/cucumber/step_definition_light.rb
|
403
417
|
lib/cucumber/step_match.rb
|
404
418
|
lib/cucumber/step_mother.rb
|
405
419
|
lib/cucumber/version.rb
|
@@ -413,6 +427,7 @@ rails_generators/cucumber/templates/cucumber_environment.rb
|
|
413
427
|
rails_generators/cucumber/templates/env.rb
|
414
428
|
rails_generators/cucumber/templates/paths.rb
|
415
429
|
rails_generators/cucumber/templates/spork_env.rb
|
430
|
+
rails_generators/cucumber/templates/version_check.rb
|
416
431
|
rails_generators/cucumber/templates/webrat_steps.rb
|
417
432
|
rails_generators/feature/USAGE
|
418
433
|
rails_generators/feature/feature_generator.rb
|
@@ -422,6 +437,7 @@ spec/cucumber/ast/background_spec.rb
|
|
422
437
|
spec/cucumber/ast/feature_element_spec.rb
|
423
438
|
spec/cucumber/ast/feature_factory.rb
|
424
439
|
spec/cucumber/ast/feature_spec.rb
|
440
|
+
spec/cucumber/ast/outline_table_spec.rb
|
425
441
|
spec/cucumber/ast/py_string_spec.rb
|
426
442
|
spec/cucumber/ast/scenario_outline_spec.rb
|
427
443
|
spec/cucumber/ast/scenario_spec.rb
|
@@ -440,7 +456,9 @@ spec/cucumber/formatter/ansicolor_spec.rb
|
|
440
456
|
spec/cucumber/formatter/color_io_spec.rb
|
441
457
|
spec/cucumber/formatter/duration_spec.rb
|
442
458
|
spec/cucumber/formatter/html_spec.rb
|
459
|
+
spec/cucumber/formatter/junit_spec.rb
|
443
460
|
spec/cucumber/formatter/progress_spec.rb
|
461
|
+
spec/cucumber/formatter/spec_helper.rb
|
444
462
|
spec/cucumber/parser/feature_parser_spec.rb
|
445
463
|
spec/cucumber/parser/table_parser_spec.rb
|
446
464
|
spec/cucumber/rb_support/rb_step_definition_spec.rb
|
data/Rakefile
CHANGED
@@ -6,4 +6,8 @@ Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
|
|
6
6
|
|
7
7
|
# Hoe gives us :default => :test, but we don't have Test::Unit tests.
|
8
8
|
Rake::Task[:default].clear_prerequisites rescue nil # For some super weird reason this fails for some...
|
9
|
+
Rake.application.options.trace = true
|
9
10
|
task :default => [:spec, :cucumber]
|
11
|
+
|
12
|
+
require 'rake/clean'
|
13
|
+
CLEAN.include %w(**/*.{log,pyc})
|
data/config/hoe.rb
CHANGED
@@ -48,19 +48,19 @@ end
|
|
48
48
|
|
49
49
|
# Generate all the Rake tasks
|
50
50
|
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
51
|
-
$hoe = Hoe.spec(GEM_NAME) do
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
51
|
+
$hoe = Hoe.spec(GEM_NAME) do
|
52
|
+
@version = VERS
|
53
|
+
developer(AUTHOR, EMAIL)
|
54
|
+
@description = DESCRIPTION
|
55
|
+
@summary = DESCRIPTION
|
56
|
+
@url = HOMEPATH
|
57
|
+
@rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
|
58
|
+
@clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store', '**/*.class', '**/*.jar', '**/tmp'] #An array of file patterns to delete on clean.
|
59
59
|
|
60
60
|
# == Optional
|
61
|
-
|
62
|
-
#
|
63
|
-
|
61
|
+
@changes = paragraphs_of("History.txt", 0..1).join("\n\n")
|
62
|
+
# @extra_deps = [] # An array of rubygem dependencies [name, version], e.g. [ ['active_support', '>= 1.3.1'] ]
|
63
|
+
@extra_deps = [
|
64
64
|
['term-ansicolor', '>= 1.0.3'],
|
65
65
|
['treetop', '>= 1.4.2'],
|
66
66
|
['polyglot', '>= 0.2.9'], # Don't really want polyglot, but it keeps breaking so we'll make people use something that works ok'ish
|
@@ -68,11 +68,17 @@ $hoe = Hoe.spec(GEM_NAME) do |p|
|
|
68
68
|
['builder', '>= 2.1.2']
|
69
69
|
]
|
70
70
|
|
71
|
-
|
72
|
-
|
71
|
+
#@spec_extras = {} # A hash of extra values to set in the gemspec.
|
72
|
+
@post_install_message = <<-POST_INSTALL_MESSAGE
|
73
|
+
*******************************************************************************
|
74
|
+
Thank you for installing cucumber-#{Cucumber::VERSION::STRING}
|
75
|
+
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
76
|
+
for important information about this release.
|
77
|
+
*******************************************************************************
|
78
|
+
POST_INSTALL_MESSAGE
|
73
79
|
end
|
74
80
|
|
75
81
|
CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
|
76
82
|
PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
|
77
83
|
$hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
|
78
|
-
$hoe.rsync_args = '-av --delete --ignore-errors'
|
84
|
+
$hoe.rsync_args = '-av --delete --ignore-errors'
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# language: tr
|
2
|
+
Özellik: Bölme
|
3
|
+
Gülünç hatalardan sakınmak için
|
4
|
+
Bir kasiyer sayıları bölebilmeli
|
5
|
+
|
6
|
+
Senaryo: Doğal sayılar
|
7
|
+
Diyelim ki hesap makinesine 3 girdim
|
8
|
+
Ve hesap makinesine 2 girdim
|
9
|
+
Eğer ki böl tuşuna basarsam
|
10
|
+
O zaman ekrandaki sonuç 1.5 olmalı
|
@@ -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 'hesap_makinesi'
|
6
|
+
|
7
|
+
Before do
|
8
|
+
@calc = HesapMakinesi.new
|
9
|
+
end
|
10
|
+
|
11
|
+
After do
|
12
|
+
end
|
13
|
+
|
14
|
+
Given /hesap makinesine (\d+) girdim/ do |n|
|
15
|
+
@calc.push n.to_i
|
16
|
+
end
|
17
|
+
|
18
|
+
When /(\w+) tuşuna basarsam/ do |op|
|
19
|
+
@result = @calc.send op
|
20
|
+
end
|
21
|
+
|
22
|
+
Then /ekrandaki sonuç (.*) olmalı/ do |result|
|
23
|
+
@result.should == result.to_f
|
24
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# language: tr
|
2
|
+
Özellik: Toplama
|
3
|
+
Gülünç hatalardan sakınmak için
|
4
|
+
Matematikten anlamayan bir ahmak olarak
|
5
|
+
Hesap makinasının bana iki sayının toplamını bulmasını istiyorum
|
6
|
+
|
7
|
+
Senaryo taslağı: İki sayıyı topla
|
8
|
+
Diyelim ki hesap makinesine <girdi_1> girdim
|
9
|
+
Ve hesap makinesine <girdi_2> girdim
|
10
|
+
Eğer ki <düğme> tuşuna basarsam
|
11
|
+
O zaman ekrandaki sonuç <çıktı> olmalı
|
12
|
+
|
13
|
+
Örnekler:
|
14
|
+
| girdi_1 | girdi_2 | düğme | çıktı |
|
15
|
+
| 20 | 30 | topla | 50 |
|
16
|
+
| 2 | 5 | topla | 7 |
|
17
|
+
| 0 | 40 | topla | 40 |
|
18
|
+
|
@@ -1,3 +1,11 @@
|
|
1
1
|
from py_dsl import *
|
2
2
|
|
3
|
-
Given("
|
3
|
+
@Given("^I ask python to calculate fibonacci up to (\d+)$")
|
4
|
+
def calc_fib_upto(n):
|
5
|
+
print("CALCULATING FIB")
|
6
|
+
#self.fib_result = fib.fib(n.to_i)
|
7
|
+
|
8
|
+
@Given("^it should give me (\[.*\])$")
|
9
|
+
def fib_should_be(n):
|
10
|
+
print("COMPARING FIB")
|
11
|
+
#self.fib_result = fib.fib(n.to_i)
|
@@ -0,0 +1,19 @@
|
|
1
|
+
Feature: Fibonacci
|
2
|
+
In order to calculate super fast fibonacci series
|
3
|
+
As a pythonista
|
4
|
+
I want to use Python for that
|
5
|
+
|
6
|
+
Scenario Outline: Series
|
7
|
+
When I ask python to calculate fibonacci up to <n>
|
8
|
+
Then it should give me <series>
|
9
|
+
|
10
|
+
Examples:
|
11
|
+
| n | series |
|
12
|
+
| 1 | [] |
|
13
|
+
| 2 | [1, 1] |
|
14
|
+
| 3 | [1, 1, 2] |
|
15
|
+
| 4 | [1, 1, 2, 3] |
|
16
|
+
| 6 | [1, 1, 2, 3, 5] |
|
17
|
+
| 9 | [1, 1, 2, 3, 5, 8] |
|
18
|
+
| 100 | [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] |
|
19
|
+
|
File without changes
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'rubypython'
|
2
|
+
|
3
|
+
ENV['PYTHONPATH'] = File.expand_path(File.dirname(__FILE__) + '/../../lib')
|
4
|
+
|
5
|
+
Before do
|
6
|
+
RubyPython.start
|
7
|
+
@fib = RubyPython.import('fib')
|
8
|
+
end
|
9
|
+
|
10
|
+
After do
|
11
|
+
RubyPython.stop
|
12
|
+
end
|
13
|
+
|
14
|
+
# RubyPython seems to expect this to exist (?)
|
15
|
+
class String
|
16
|
+
def end_with?(str)
|
17
|
+
str = str.to_str
|
18
|
+
tail = self[-str.length, str.length]
|
19
|
+
tail == str
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,43 @@
|
|
1
|
+
Feature: https://rspec.lighthouseapp.com/projects/16211/tickets/475
|
2
|
+
Scenario: error on pystring in scenario outline with pretty formatter
|
3
|
+
Given a standard Cucumber project directory structure
|
4
|
+
And a file named "features/f.feature" with:
|
5
|
+
"""
|
6
|
+
Feature: F
|
7
|
+
Scenario Outline: S
|
8
|
+
Given a multiline string:
|
9
|
+
\"\"\"
|
10
|
+
hello <who>
|
11
|
+
\"\"\"
|
12
|
+
Examples:
|
13
|
+
| who |
|
14
|
+
| aslak |
|
15
|
+
| david |
|
16
|
+
"""
|
17
|
+
And a file named "features/step_definitions/steps.rb" with:
|
18
|
+
"""
|
19
|
+
Given /a multiline string:/ do |s|
|
20
|
+
s.should =~ /hello (\w+)/
|
21
|
+
end
|
22
|
+
"""
|
23
|
+
When I run cucumber features/f.feature
|
24
|
+
Then STDERR should be empty
|
25
|
+
And it should pass with
|
26
|
+
"""
|
27
|
+
Feature: F
|
28
|
+
|
29
|
+
Scenario Outline: S # features/f.feature:2
|
30
|
+
Given a multiline string: # features/step_definitions/steps.rb:1
|
31
|
+
\"\"\"
|
32
|
+
hello <who>
|
33
|
+
\"\"\"
|
34
|
+
|
35
|
+
Examples:
|
36
|
+
| who |
|
37
|
+
| aslak |
|
38
|
+
| david |
|
39
|
+
|
40
|
+
2 scenarios (2 passed)
|
41
|
+
2 steps (2 passed)
|
42
|
+
|
43
|
+
"""
|
@@ -44,4 +44,37 @@ Feature: Exception in Before Block
|
|
44
44
|
1 scenario (1 failed)
|
45
45
|
1 step (1 skipped)
|
46
46
|
|
47
|
-
"""
|
47
|
+
"""
|
48
|
+
|
49
|
+
@mri186
|
50
|
+
Scenario: Handle Exception in Before hook for Scenario with Background
|
51
|
+
Given a file named "features/naughty_step_in_before.feature" with:
|
52
|
+
"""
|
53
|
+
Feature: Sample
|
54
|
+
|
55
|
+
Background:
|
56
|
+
Given this step works
|
57
|
+
|
58
|
+
Scenario: Run a good step
|
59
|
+
Given this step works
|
60
|
+
"""
|
61
|
+
When I run cucumber features
|
62
|
+
Then it should fail with
|
63
|
+
"""
|
64
|
+
Feature: Sample
|
65
|
+
|
66
|
+
Background: # features/naughty_step_in_before.feature:3
|
67
|
+
I cannot even start this scenario (SomeSetupException)
|
68
|
+
./features/support/env.rb:4:in `Before'
|
69
|
+
Given this step works # features/step_definitions/steps.rb:1
|
70
|
+
|
71
|
+
Scenario: Run a good step # features/naughty_step_in_before.feature:6
|
72
|
+
Given this step works # features/step_definitions/steps.rb:1
|
73
|
+
|
74
|
+
Failing Scenarios:
|
75
|
+
cucumber features/naughty_step_in_before.feature:6 # Scenario: Run a good step
|
76
|
+
|
77
|
+
1 scenario (1 failed)
|
78
|
+
2 steps (1 skipped, 1 passed)
|
79
|
+
|
80
|
+
"""
|