cucumber 0.8.6 → 0.8.7
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/.rspec +1 -1
- data/Caliper.yml +4 -0
- data/History.txt +1557 -0
- data/LICENSE +1 -1
- data/README.rdoc +26 -0
- data/Rakefile +51 -5
- data/VERSION.yml +5 -0
- data/bin/cucumber +1 -7
- data/cucumber.gemspec +77 -3
- data/examples/i18n/ar/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/he/features/step_definitons/calculator_steps.rb +1 -1
- data/examples/i18n/ro/features/step_definitons/calculator_steps.rb +7 -4
- data/examples/i18n/ro/features/suma.feature +11 -0
- data/examples/i18n/ru/features/division.feature +2 -2
- data/examples/i18n/tr/features/step_definitons/hesap_makinesi_adimlari.rb +3 -3
- data/examples/sinatra/features/support/env.rb +5 -2
- data/examples/v8/features/fibonacci.feature +1 -1
- data/examples/watir/features/step_definitions/search_steps.rb +1 -1
- data/features/announce.feature +164 -0
- data/features/around_hooks.feature +232 -0
- data/features/background.feature +95 -284
- data/features/bug_371.feature +32 -0
- data/features/bug_464.feature +16 -0
- data/features/bug_475.feature +42 -0
- data/features/bug_585_tab_indentation.feature +22 -0
- data/features/bug_600.feature +67 -0
- data/features/call_steps_from_stepdefs.feature +154 -0
- data/features/cucumber_cli.feature +591 -0
- data/features/cucumber_cli_outlines.feature +117 -0
- data/features/custom_formatter.feature +73 -3
- data/features/default_snippets.feature +42 -0
- data/features/diffing.feature +25 -0
- data/features/drb_server_integration.feature +174 -0
- data/features/exception_in_after_block.feature +127 -0
- data/features/exception_in_after_step_block.feature +104 -0
- data/features/exception_in_before_block.feature +98 -0
- data/features/exclude_files.feature +20 -0
- data/features/expand.feature +60 -0
- data/features/html_formatter.feature +8 -0
- data/features/html_formatter/a.html +582 -0
- data/features/json_formatter.feature +245 -160
- data/features/junit_formatter.feature +88 -0
- data/features/language_from_header.feature +30 -0
- data/features/language_help.feature +78 -0
- data/features/listener_debugger_formatter.feature +42 -0
- data/features/multiline_names.feature +44 -0
- data/features/negative_tagged_hooks.feature +60 -0
- data/features/post_configuration_hook.feature +37 -0
- data/features/profiles.feature +126 -0
- data/features/rake_task.feature +152 -0
- data/features/report_called_undefined_steps.feature +34 -0
- data/features/rerun_formatter.feature +45 -0
- data/features/simplest.feature +11 -0
- data/features/snippet.feature +23 -0
- data/features/snippets_when_using_star_keyword.feature +36 -0
- data/features/step_definitions/cucumber_steps.rb +153 -7
- data/features/step_definitions/extra_steps.rb +2 -0
- data/features/step_definitions/simplest_steps.rb +3 -0
- data/features/step_definitions/wire_steps.rb +32 -0
- data/features/support/env.rb +140 -18
- data/features/support/env.rb.simplest +7 -0
- data/features/support/fake_wire_server.rb +77 -0
- data/features/table_diffing.feature +45 -0
- data/features/table_mapping.feature +34 -0
- data/features/tag_logic.feature +258 -0
- data/features/transform.feature +245 -0
- data/features/unicode_table.feature +35 -0
- data/features/usage_and_stepdefs_formatter.feature +169 -0
- data/features/wire_protocol.feature +332 -0
- data/features/wire_protocol_table_diffing.feature +119 -0
- data/features/wire_protocol_tags.feature +87 -0
- data/features/wire_protocol_timeouts.feature +63 -0
- data/features/work_in_progress.feature +156 -0
- data/fixtures/json/features/pystring.feature +8 -0
- data/fixtures/junit/features/pending.feature +1 -3
- data/fixtures/self_test/features/background/background_tagged_before_on_outline.feature +12 -0
- data/fixtures/self_test/features/background/background_with_name.feature +7 -0
- data/fixtures/self_test/features/background/failing_background.feature +12 -0
- data/fixtures/self_test/features/background/failing_background_after_success.feature +11 -0
- data/fixtures/self_test/features/background/multiline_args_background.feature +32 -0
- data/fixtures/self_test/features/background/passing_background.feature +10 -0
- data/fixtures/self_test/features/background/pending_background.feature +10 -0
- data/fixtures/self_test/features/background/scenario_outline_failing_background.feature +16 -0
- data/fixtures/self_test/features/background/scenario_outline_passing_background.feature +16 -0
- data/fixtures/self_test/features/support/env.rb +0 -8
- data/fixtures/tickets/features.html +1 -1
- data/gem_tasks/examples.rake +1 -1
- data/gem_tasks/features.rake +14 -0
- data/gem_tasks/sdoc.rake +12 -0
- data/lib/cucumber.rb +0 -12
- data/lib/cucumber/ast.rb +1 -1
- data/lib/cucumber/ast/background.rb +5 -21
- data/lib/cucumber/ast/examples.rb +4 -12
- data/lib/cucumber/ast/feature.rb +5 -13
- data/lib/cucumber/ast/feature_element.rb +4 -9
- data/lib/cucumber/ast/outline_table.rb +4 -4
- data/lib/cucumber/ast/py_string.rb +80 -0
- data/lib/cucumber/ast/scenario.rb +5 -7
- data/lib/cucumber/ast/scenario_outline.rb +15 -23
- data/lib/cucumber/ast/step.rb +0 -5
- data/lib/cucumber/ast/step_invocation.rb +15 -21
- data/lib/cucumber/ast/table.rb +8 -14
- data/lib/cucumber/ast/tree_walker.rb +48 -10
- data/lib/cucumber/cli/configuration.rb +8 -33
- data/lib/cucumber/cli/main.rb +35 -20
- data/lib/cucumber/cli/options.rb +7 -8
- data/lib/cucumber/cli/profile_loader.rb +0 -2
- data/lib/cucumber/core_ext/proc.rb +1 -2
- data/lib/cucumber/feature_file.rb +15 -47
- data/lib/cucumber/formatter/ansicolor.rb +5 -3
- data/lib/cucumber/formatter/color_io.rb +23 -0
- data/lib/cucumber/formatter/console.rb +23 -27
- data/lib/cucumber/formatter/cucumber.css +17 -34
- data/lib/cucumber/formatter/cucumber.sass +182 -173
- data/lib/cucumber/formatter/html.rb +11 -46
- data/lib/cucumber/formatter/io.rb +4 -2
- data/lib/cucumber/formatter/json.rb +152 -15
- data/lib/cucumber/formatter/json_pretty.rb +6 -5
- data/lib/cucumber/formatter/junit.rb +22 -28
- data/lib/cucumber/formatter/pdf.rb +6 -6
- data/lib/cucumber/formatter/pretty.rb +5 -5
- data/lib/cucumber/formatter/rerun.rb +11 -22
- data/lib/cucumber/formatter/tag_cloud.rb +35 -0
- data/lib/cucumber/formatter/unicode.rb +20 -41
- data/lib/cucumber/js_support/js_dsl.js +4 -4
- data/lib/cucumber/js_support/js_language.rb +5 -9
- data/lib/cucumber/js_support/js_snippets.rb +2 -2
- data/lib/cucumber/language_support.rb +2 -2
- data/lib/cucumber/parser/gherkin_builder.rb +30 -35
- data/lib/cucumber/platform.rb +8 -8
- data/lib/cucumber/py_support/py_language.rb +2 -2
- data/lib/cucumber/rake/task.rb +31 -74
- data/lib/cucumber/rb_support/rb_dsl.rb +0 -1
- data/lib/cucumber/rb_support/rb_language.rb +8 -10
- data/lib/cucumber/rb_support/rb_step_definition.rb +0 -8
- data/lib/cucumber/rb_support/rb_transform.rb +0 -17
- data/lib/cucumber/rb_support/rb_world.rb +18 -26
- data/lib/cucumber/rspec/doubles.rb +3 -3
- data/lib/cucumber/step_match.rb +2 -6
- data/lib/cucumber/step_mother.rb +427 -6
- data/lib/cucumber/wire_support/configuration.rb +1 -4
- data/lib/cucumber/wire_support/wire_language.rb +10 -3
- data/spec/cucumber/ast/background_spec.rb +6 -68
- data/spec/cucumber/ast/feature_factory.rb +4 -5
- data/spec/cucumber/ast/feature_spec.rb +4 -4
- data/spec/cucumber/ast/outline_table_spec.rb +1 -1
- data/spec/cucumber/ast/py_string_spec.rb +40 -0
- data/spec/cucumber/ast/scenario_outline_spec.rb +11 -15
- data/spec/cucumber/ast/scenario_spec.rb +4 -4
- data/spec/cucumber/ast/step_spec.rb +3 -3
- data/spec/cucumber/ast/table_spec.rb +2 -38
- data/spec/cucumber/ast/tree_walker_spec.rb +2 -2
- data/spec/cucumber/broadcaster_spec.rb +1 -1
- data/spec/cucumber/cli/configuration_spec.rb +6 -32
- data/spec/cucumber/cli/drb_client_spec.rb +3 -2
- data/spec/cucumber/cli/main_spec.rb +43 -43
- data/spec/cucumber/cli/options_spec.rb +1 -28
- data/spec/cucumber/cli/profile_loader_spec.rb +1 -1
- data/spec/cucumber/core_ext/proc_spec.rb +1 -1
- data/spec/cucumber/formatter/ansicolor_spec.rb +1 -1
- data/spec/cucumber/formatter/color_io_spec.rb +29 -0
- data/spec/cucumber/formatter/duration_spec.rb +1 -1
- data/spec/cucumber/formatter/html_spec.rb +5 -3
- data/spec/cucumber/formatter/junit_spec.rb +2 -16
- data/spec/cucumber/formatter/progress_spec.rb +1 -1
- data/spec/cucumber/formatter/spec_helper.rb +12 -11
- data/spec/cucumber/rb_support/rb_language_spec.rb +28 -241
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +28 -33
- data/spec/cucumber/rb_support/regexp_argument_matcher_spec.rb +1 -1
- data/spec/cucumber/step_match_spec.rb +9 -11
- data/spec/cucumber/step_mother_spec.rb +302 -0
- data/spec/cucumber/wire_support/configuration_spec.rb +1 -1
- data/spec/cucumber/wire_support/connection_spec.rb +1 -1
- data/spec/cucumber/wire_support/wire_exception_spec.rb +1 -1
- data/spec/cucumber/wire_support/wire_language_spec.rb +1 -1
- data/spec/cucumber/wire_support/wire_packet_spec.rb +1 -1
- data/spec/cucumber/wire_support/wire_step_definition_spec.rb +1 -1
- data/spec/cucumber/world/pending_spec.rb +2 -2
- data/spec/spec_helper.rb +20 -13
- metadata +78 -4
data/LICENSE
CHANGED
data/README.rdoc
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
= Cucumber
|
|
2
|
+
|
|
3
|
+
The main website is at http://cukes.info/
|
|
4
|
+
The documentation is at http://wiki.github.com/aslakhellesoy/cucumber/
|
|
5
|
+
|
|
6
|
+
== Note on Patches/Pull Requests
|
|
7
|
+
|
|
8
|
+
* Fork the project.
|
|
9
|
+
* Make your feature addition or bug fix.
|
|
10
|
+
* Add tests for it. This is important so I don't break it in a
|
|
11
|
+
future version unintentionally.
|
|
12
|
+
* Commit, do not mess with Rakefile, version, or history.
|
|
13
|
+
(if you want to have your own version, that is fine but
|
|
14
|
+
bump version in a commit by itself I can ignore when I pull)
|
|
15
|
+
* Send me a pull request. Bonus points for topic branches.
|
|
16
|
+
|
|
17
|
+
== Running tests
|
|
18
|
+
|
|
19
|
+
rake
|
|
20
|
+
|
|
21
|
+
If you get errors about missing gems - just install them.
|
|
22
|
+
|
|
23
|
+
== Copyright
|
|
24
|
+
|
|
25
|
+
Copyright (c) 2008,2009 Aslak Hellesøy. See LICENSE for details.
|
|
26
|
+
|
data/Rakefile
CHANGED
|
@@ -1,12 +1,58 @@
|
|
|
1
1
|
# encoding: utf-8
|
|
2
2
|
require 'rubygems'
|
|
3
|
-
require '
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
require 'term/ansicolor'
|
|
4
|
+
require 'rake'
|
|
6
5
|
$:.unshift(File.dirname(__FILE__) + '/lib')
|
|
6
|
+
require 'cucumber/formatter/ansicolor'
|
|
7
|
+
require 'cucumber/platform'
|
|
8
|
+
|
|
9
|
+
begin
|
|
10
|
+
require 'jeweler'
|
|
11
|
+
Jeweler::Tasks.new do |gem|
|
|
12
|
+
gem.name = "cucumber"
|
|
13
|
+
gem.summary = %Q{Behaviour Driven Development with elegance and joy}
|
|
14
|
+
gem.description = %Q{Behaviour Driven Development with elegance and joy}
|
|
15
|
+
gem.email = "cukes@googlegroups.com"
|
|
16
|
+
gem.homepage = "http://cukes.info"
|
|
17
|
+
gem.authors = ["Aslak Hellesøy"]
|
|
18
|
+
|
|
19
|
+
gem.add_dependency 'gherkin', '~> 2.1.4'
|
|
20
|
+
gem.add_dependency 'term-ansicolor', '~> 1.0.4'
|
|
21
|
+
gem.add_dependency 'builder', '~> 2.1.2'
|
|
22
|
+
gem.add_dependency 'diff-lcs', '~> 1.1.2'
|
|
23
|
+
gem.add_dependency 'json_pure', '~> 1.4.3'
|
|
24
|
+
|
|
25
|
+
gem.add_development_dependency 'nokogiri', '~> 1.4.2'
|
|
26
|
+
gem.add_development_dependency 'prawn', '= 0.8.4'
|
|
27
|
+
gem.add_development_dependency 'prawn-layout', '= 0.8.4'
|
|
28
|
+
gem.add_development_dependency 'rspec', '~> 2.0.0.beta.15'
|
|
29
|
+
gem.add_development_dependency 'syntax', '~> 1.0.0'
|
|
30
|
+
gem.add_development_dependency 'spork', '~> 0.8.4' unless Cucumber::JRUBY || Cucumber::WINDOWS
|
|
31
|
+
|
|
32
|
+
extend Cucumber::Formatter::ANSIColor
|
|
33
|
+
gem.post_install_message = <<-POST_INSTALL_MESSAGE
|
|
34
|
+
|
|
35
|
+
#{cukes(15)}
|
|
36
|
+
|
|
37
|
+
#{cukes(1)} U P G R A D I N G #{cukes(1)}
|
|
38
|
+
|
|
39
|
+
Thank you for installing cucumber-#{Cucumber::VERSION}.
|
|
40
|
+
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
|
41
|
+
for important information about this release. Happy cuking!
|
|
42
|
+
|
|
43
|
+
#{cukes(15)}
|
|
44
|
+
|
|
45
|
+
POST_INSTALL_MESSAGE
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
Jeweler::GemcutterTasks.new
|
|
49
|
+
rescue LoadError
|
|
50
|
+
puts "Jeweler (or a dependency) not available. Install it with: sudo gem install jeweler"
|
|
51
|
+
end
|
|
52
|
+
|
|
7
53
|
Dir['gem_tasks/**/*.rake'].each { |rake| load rake }
|
|
8
54
|
|
|
9
|
-
task :default => [:spec, :cucumber]
|
|
55
|
+
task :default => [:check_dependencies, :spec, :cucumber]
|
|
10
56
|
|
|
11
57
|
require 'rake/clean'
|
|
12
|
-
CLEAN.include %w(**/*.{log,pyc
|
|
58
|
+
CLEAN.include %w(**/*.{log,pyc})
|
data/VERSION.yml
ADDED
data/bin/cucumber
CHANGED
|
@@ -1,18 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
2
|
$:.unshift(File.dirname(__FILE__) + '/../lib') unless $:.include?(File.dirname(__FILE__) + '/../lib')
|
|
3
3
|
|
|
4
|
-
if(ENV['SIMPLECOV'] && RUBY_VERSION =~ /1\.9/)
|
|
5
|
-
require 'simplecov'
|
|
6
|
-
SimpleCov.root(File.expand_path(File.dirname(__FILE__) + '/..'))
|
|
7
|
-
SimpleCov.start
|
|
8
|
-
end
|
|
9
|
-
|
|
10
4
|
require 'cucumber/rspec/disable_option_parser'
|
|
11
5
|
require 'cucumber/cli/main'
|
|
12
6
|
begin
|
|
13
7
|
# The dup is to keep ARGV intact, so that tools like ruby-debug can respawn.
|
|
14
8
|
failure = Cucumber::Cli::Main.execute(ARGV.dup)
|
|
15
|
-
Kernel.exit(1
|
|
9
|
+
Kernel.exit(failure ? 1 : 0)
|
|
16
10
|
rescue SystemExit => e
|
|
17
11
|
Kernel.exit(e.status)
|
|
18
12
|
rescue Exception => e
|
data/cucumber.gemspec
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = %q{cucumber}
|
|
8
|
-
s.version = "0.8.
|
|
8
|
+
s.version = "0.8.7"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Aslak Helles\303\270y"]
|
|
@@ -15,13 +15,18 @@ Gem::Specification.new do |s|
|
|
|
15
15
|
s.email = %q{cukes@googlegroups.com}
|
|
16
16
|
s.executables = ["cucumber"]
|
|
17
17
|
s.extra_rdoc_files = [
|
|
18
|
-
"LICENSE"
|
|
18
|
+
"LICENSE",
|
|
19
|
+
"README.rdoc"
|
|
19
20
|
]
|
|
20
21
|
s.files = [
|
|
21
22
|
".gitattributes",
|
|
22
23
|
".rspec",
|
|
24
|
+
"Caliper.yml",
|
|
25
|
+
"History.txt",
|
|
23
26
|
"LICENSE",
|
|
27
|
+
"README.rdoc",
|
|
24
28
|
"Rakefile",
|
|
29
|
+
"VERSION.yml",
|
|
25
30
|
"bin/cucumber",
|
|
26
31
|
"cucumber.gemspec",
|
|
27
32
|
"cucumber.yml",
|
|
@@ -156,6 +161,7 @@ Gem::Specification.new do |s|
|
|
|
156
161
|
"examples/i18n/pt/lib/calculadora.rb",
|
|
157
162
|
"examples/i18n/ro/Rakefile",
|
|
158
163
|
"examples/i18n/ro/features/step_definitons/calculator_steps.rb",
|
|
164
|
+
"examples/i18n/ro/features/suma.feature",
|
|
159
165
|
"examples/i18n/ro/lib/calculator.rb",
|
|
160
166
|
"examples/i18n/ru/Rakefile",
|
|
161
167
|
"examples/i18n/ru/features/addition.feature",
|
|
@@ -271,14 +277,65 @@ Gem::Specification.new do |s|
|
|
|
271
277
|
"examples/watir/features/step_definitions/search_steps.rb",
|
|
272
278
|
"examples/watir/features/support/env.rb",
|
|
273
279
|
"examples/watir/features/support/screenshots.rb",
|
|
280
|
+
"features/announce.feature",
|
|
281
|
+
"features/around_hooks.feature",
|
|
274
282
|
"features/background.feature",
|
|
283
|
+
"features/bug_371.feature",
|
|
284
|
+
"features/bug_464.feature",
|
|
285
|
+
"features/bug_475.feature",
|
|
286
|
+
"features/bug_585_tab_indentation.feature",
|
|
287
|
+
"features/bug_600.feature",
|
|
288
|
+
"features/call_steps_from_stepdefs.feature",
|
|
289
|
+
"features/cucumber_cli.feature",
|
|
290
|
+
"features/cucumber_cli_outlines.feature",
|
|
275
291
|
"features/custom_formatter.feature",
|
|
292
|
+
"features/default_snippets.feature",
|
|
293
|
+
"features/diffing.feature",
|
|
294
|
+
"features/drb_server_integration.feature",
|
|
295
|
+
"features/exception_in_after_block.feature",
|
|
296
|
+
"features/exception_in_after_step_block.feature",
|
|
297
|
+
"features/exception_in_before_block.feature",
|
|
298
|
+
"features/exclude_files.feature",
|
|
299
|
+
"features/expand.feature",
|
|
300
|
+
"features/html_formatter.feature",
|
|
301
|
+
"features/html_formatter/a.html",
|
|
276
302
|
"features/json_formatter.feature",
|
|
303
|
+
"features/junit_formatter.feature",
|
|
304
|
+
"features/language_from_header.feature",
|
|
305
|
+
"features/language_help.feature",
|
|
306
|
+
"features/listener_debugger_formatter.feature",
|
|
307
|
+
"features/multiline_names.feature",
|
|
308
|
+
"features/negative_tagged_hooks.feature",
|
|
309
|
+
"features/post_configuration_hook.feature",
|
|
310
|
+
"features/profiles.feature",
|
|
311
|
+
"features/rake_task.feature",
|
|
312
|
+
"features/report_called_undefined_steps.feature",
|
|
313
|
+
"features/rerun_formatter.feature",
|
|
314
|
+
"features/simplest.feature",
|
|
315
|
+
"features/snippet.feature",
|
|
316
|
+
"features/snippets_when_using_star_keyword.feature",
|
|
277
317
|
"features/step_definitions/cucumber_steps.rb",
|
|
318
|
+
"features/step_definitions/extra_steps.rb",
|
|
319
|
+
"features/step_definitions/simplest_steps.rb",
|
|
320
|
+
"features/step_definitions/wire_steps.rb",
|
|
278
321
|
"features/support/env.rb",
|
|
322
|
+
"features/support/env.rb.simplest",
|
|
323
|
+
"features/support/fake_wire_server.rb",
|
|
324
|
+
"features/table_diffing.feature",
|
|
325
|
+
"features/table_mapping.feature",
|
|
326
|
+
"features/tag_logic.feature",
|
|
327
|
+
"features/transform.feature",
|
|
328
|
+
"features/unicode_table.feature",
|
|
329
|
+
"features/usage_and_stepdefs_formatter.feature",
|
|
330
|
+
"features/wire_protocol.feature",
|
|
331
|
+
"features/wire_protocol_table_diffing.feature",
|
|
332
|
+
"features/wire_protocol_tags.feature",
|
|
333
|
+
"features/wire_protocol_timeouts.feature",
|
|
334
|
+
"features/work_in_progress.feature",
|
|
279
335
|
"fixtures/json/features/background.feature",
|
|
280
336
|
"fixtures/json/features/embed.feature",
|
|
281
337
|
"fixtures/json/features/one_passing_one_failing.feature",
|
|
338
|
+
"fixtures/json/features/pystring.feature",
|
|
282
339
|
"fixtures/json/features/step_definitions/steps.rb",
|
|
283
340
|
"fixtures/json/features/tables.feature",
|
|
284
341
|
"fixtures/junit/features/one_passing_one_failing.feature",
|
|
@@ -287,6 +344,15 @@ Gem::Specification.new do |s|
|
|
|
287
344
|
"fixtures/self_test/.gitignore",
|
|
288
345
|
"fixtures/self_test/README.textile",
|
|
289
346
|
"fixtures/self_test/Rakefile",
|
|
347
|
+
"fixtures/self_test/features/background/background_tagged_before_on_outline.feature",
|
|
348
|
+
"fixtures/self_test/features/background/background_with_name.feature",
|
|
349
|
+
"fixtures/self_test/features/background/failing_background.feature",
|
|
350
|
+
"fixtures/self_test/features/background/failing_background_after_success.feature",
|
|
351
|
+
"fixtures/self_test/features/background/multiline_args_background.feature",
|
|
352
|
+
"fixtures/self_test/features/background/passing_background.feature",
|
|
353
|
+
"fixtures/self_test/features/background/pending_background.feature",
|
|
354
|
+
"fixtures/self_test/features/background/scenario_outline_failing_background.feature",
|
|
355
|
+
"fixtures/self_test/features/background/scenario_outline_passing_background.feature",
|
|
290
356
|
"fixtures/self_test/features/call_undefined_step_from_step_def.feature",
|
|
291
357
|
"fixtures/self_test/features/failing_expectation.feature",
|
|
292
358
|
"fixtures/self_test/features/lots_of_undefined.feature",
|
|
@@ -343,10 +409,12 @@ Gem::Specification.new do |s|
|
|
|
343
409
|
"gem_tasks/contributors.rake",
|
|
344
410
|
"gem_tasks/environment.rake",
|
|
345
411
|
"gem_tasks/examples.rake",
|
|
412
|
+
"gem_tasks/features.rake",
|
|
346
413
|
"gem_tasks/fix_cr_lf.rake",
|
|
347
414
|
"gem_tasks/flog.rake",
|
|
348
415
|
"gem_tasks/rspec.rake",
|
|
349
416
|
"gem_tasks/sass.rake",
|
|
417
|
+
"gem_tasks/sdoc.rake",
|
|
350
418
|
"lib/README.rdoc",
|
|
351
419
|
"lib/autotest/cucumber.rb",
|
|
352
420
|
"lib/autotest/cucumber_mixin.rb",
|
|
@@ -365,6 +433,7 @@ Gem::Specification.new do |s|
|
|
|
365
433
|
"lib/cucumber/ast/feature_element.rb",
|
|
366
434
|
"lib/cucumber/ast/features.rb",
|
|
367
435
|
"lib/cucumber/ast/outline_table.rb",
|
|
436
|
+
"lib/cucumber/ast/py_string.rb",
|
|
368
437
|
"lib/cucumber/ast/scenario.rb",
|
|
369
438
|
"lib/cucumber/ast/scenario_outline.rb",
|
|
370
439
|
"lib/cucumber/ast/step.rb",
|
|
@@ -386,6 +455,7 @@ Gem::Specification.new do |s|
|
|
|
386
455
|
"lib/cucumber/core_ext/string.rb",
|
|
387
456
|
"lib/cucumber/feature_file.rb",
|
|
388
457
|
"lib/cucumber/formatter/ansicolor.rb",
|
|
458
|
+
"lib/cucumber/formatter/color_io.rb",
|
|
389
459
|
"lib/cucumber/formatter/console.rb",
|
|
390
460
|
"lib/cucumber/formatter/cucumber.css",
|
|
391
461
|
"lib/cucumber/formatter/cucumber.sass",
|
|
@@ -405,6 +475,7 @@ Gem::Specification.new do |s|
|
|
|
405
475
|
"lib/cucumber/formatter/stepdefs.rb",
|
|
406
476
|
"lib/cucumber/formatter/steps.rb",
|
|
407
477
|
"lib/cucumber/formatter/summary.rb",
|
|
478
|
+
"lib/cucumber/formatter/tag_cloud.rb",
|
|
408
479
|
"lib/cucumber/formatter/unicode.rb",
|
|
409
480
|
"lib/cucumber/formatter/usage.rb",
|
|
410
481
|
"lib/cucumber/js_support/js_dsl.js",
|
|
@@ -445,6 +516,7 @@ Gem::Specification.new do |s|
|
|
|
445
516
|
"spec/cucumber/ast/feature_factory.rb",
|
|
446
517
|
"spec/cucumber/ast/feature_spec.rb",
|
|
447
518
|
"spec/cucumber/ast/outline_table_spec.rb",
|
|
519
|
+
"spec/cucumber/ast/py_string_spec.rb",
|
|
448
520
|
"spec/cucumber/ast/scenario_outline_spec.rb",
|
|
449
521
|
"spec/cucumber/ast/scenario_spec.rb",
|
|
450
522
|
"spec/cucumber/ast/step_spec.rb",
|
|
@@ -458,6 +530,7 @@ Gem::Specification.new do |s|
|
|
|
458
530
|
"spec/cucumber/cli/profile_loader_spec.rb",
|
|
459
531
|
"spec/cucumber/core_ext/proc_spec.rb",
|
|
460
532
|
"spec/cucumber/formatter/ansicolor_spec.rb",
|
|
533
|
+
"spec/cucumber/formatter/color_io_spec.rb",
|
|
461
534
|
"spec/cucumber/formatter/duration_spec.rb",
|
|
462
535
|
"spec/cucumber/formatter/html_spec.rb",
|
|
463
536
|
"spec/cucumber/formatter/junit_spec.rb",
|
|
@@ -468,6 +541,7 @@ Gem::Specification.new do |s|
|
|
|
468
541
|
"spec/cucumber/rb_support/regexp_argument_matcher_spec.rb",
|
|
469
542
|
"spec/cucumber/sell_cucumbers.feature",
|
|
470
543
|
"spec/cucumber/step_match_spec.rb",
|
|
544
|
+
"spec/cucumber/step_mother_spec.rb",
|
|
471
545
|
"spec/cucumber/wire_support/configuration_spec.rb",
|
|
472
546
|
"spec/cucumber/wire_support/connection_spec.rb",
|
|
473
547
|
"spec/cucumber/wire_support/wire_exception_spec.rb",
|
|
@@ -483,7 +557,7 @@ Gem::Specification.new do |s|
|
|
|
483
557
|
|
|
484
558
|
(::) U P G R A D I N G (::)
|
|
485
559
|
|
|
486
|
-
Thank you for installing cucumber-0.8.
|
|
560
|
+
Thank you for installing cucumber-0.8.7.
|
|
487
561
|
Please be sure to read http://wiki.github.com/aslakhellesoy/cucumber/upgrading
|
|
488
562
|
for important information about this release. Happy cuking!
|
|
489
563
|
|
|
@@ -4,18 +4,21 @@ require 'cucumber/formatter/unicode'
|
|
|
4
4
|
$:.unshift(File.dirname(__FILE__) + '/../../lib')
|
|
5
5
|
require 'calculator'
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
Before do
|
|
8
8
|
@calc = Calculator.new
|
|
9
9
|
end
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
After do
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
Given /introduc (\d+)/ do |n|
|
|
12
15
|
@calc.push n.to_i
|
|
13
16
|
end
|
|
14
17
|
|
|
15
|
-
|
|
18
|
+
When 'apas suma' do
|
|
16
19
|
@result = @calc.add
|
|
17
20
|
end
|
|
18
21
|
|
|
19
|
-
|
|
22
|
+
Then /rezultatul trebuie sa fie (\d*)/ do |result|
|
|
20
23
|
@result.should == result.to_i
|
|
21
24
|
end
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
# language: ru
|
|
2
|
-
|
|
2
|
+
Фича: Деление чисел
|
|
3
3
|
Поскольку деление сложный процесс и люди часто допускают ошибки
|
|
4
4
|
Нужно дать им возможность делить на калькуляторе
|
|
5
5
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
Если я нажимаю "/"
|
|
10
10
|
То результатом должно быть число <частное>
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
Значения:
|
|
13
13
|
| делимое | делитель | частное |
|
|
14
14
|
| 100 | 2 | 50 |
|
|
15
15
|
| 28 | 7 | 4 |
|
|
@@ -11,14 +11,14 @@ end
|
|
|
11
11
|
After do
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Given /hesap makinesine (\d+) girdim/ do |n|
|
|
15
15
|
@calc.push n.to_i
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
When /(\w+) tuşuna basarsam/ do |op|
|
|
19
19
|
@result = @calc.send op
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
Then /ekrandaki sonuç (.*) olmalı/ do |result|
|
|
23
23
|
@result.should == result.to_f
|
|
24
24
|
end
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
# See http://wiki.github.com/
|
|
1
|
+
# See http://wiki.github.com/aslakhellesoy/cucumber/sinatra
|
|
2
2
|
# for more details about Sinatra with Cucumber
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
app_file = File.join(File.dirname(__FILE__), *%w[.. .. app.rb])
|
|
5
|
+
require app_file
|
|
6
|
+
# Force the application name because polyglot breaks the auto-detection logic.
|
|
7
|
+
Sinatra::Application.app_file = app_file
|
|
5
8
|
|
|
6
9
|
begin require 'rspec/expectations'; rescue LoadError; require 'spec/expectations'; end
|
|
7
10
|
require 'rack/test'
|
|
@@ -17,7 +17,7 @@ Feature: Fibonacci
|
|
|
17
17
|
| 9 | [1, 1, 2, 3, 5, 8] |
|
|
18
18
|
| 100 | [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89] |
|
|
19
19
|
|
|
20
|
-
Scenario: Single series tested via a
|
|
20
|
+
Scenario: Single series tested via a PyString
|
|
21
21
|
When I ask Javascript to calculate fibonacci up to 2 with formatting
|
|
22
22
|
Then it should give me:
|
|
23
23
|
"""
|
|
@@ -16,7 +16,7 @@ end
|
|
|
16
16
|
|
|
17
17
|
# To avoid step definitions that are tightly coupled to your user interface,
|
|
18
18
|
# consider creating classes for your pages - such as this:
|
|
19
|
-
# http://github.com/
|
|
19
|
+
# http://github.com/aslakhellesoy/cucumber/tree/v0.1.15/examples/watir/features/step_definitons/search_steps.rb
|
|
20
20
|
#
|
|
21
21
|
# You may keep the page classes along your steps, or even better, put them in separate files, e.g.
|
|
22
22
|
# support/pages/google_search.rb
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
Feature: Delayed announcement
|
|
2
|
+
|
|
3
|
+
Background:
|
|
4
|
+
Given a standard Cucumber project directory structure
|
|
5
|
+
And a file named "features/step_definitions/steps.rb" with:
|
|
6
|
+
"""
|
|
7
|
+
Given /^I use announce with text "(.*)"$/ do |ann| x=1
|
|
8
|
+
announce(ann)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
Given /^I use multiple announces$/ do x=1
|
|
12
|
+
announce("Multiple")
|
|
13
|
+
announce(["Announce","Me"])
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
Given /^I use announcement (.+) in line (.+) (?:with result (.+))$/ do |ann, line, result| x=1
|
|
17
|
+
announce("Last announcement") if line == "3"
|
|
18
|
+
announce("Line: #{line}: #{ann}")
|
|
19
|
+
fail if result =~ /fail/i
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
Given /^I use announce and step fails$/ do x=1
|
|
23
|
+
announce("Announce with fail")
|
|
24
|
+
fail
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
Given /^this step works$/ do x=1
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
Given /^I announce the world$/ do x=1
|
|
31
|
+
announce_world
|
|
32
|
+
end
|
|
33
|
+
"""
|
|
34
|
+
And a file named "features/f.feature" with:
|
|
35
|
+
"""
|
|
36
|
+
Feature: F
|
|
37
|
+
|
|
38
|
+
Scenario: S
|
|
39
|
+
Given I use announce with text "Ann"
|
|
40
|
+
And this step works
|
|
41
|
+
|
|
42
|
+
Scenario: S2
|
|
43
|
+
Given I use multiple announces
|
|
44
|
+
And this step works
|
|
45
|
+
|
|
46
|
+
Scenario Outline: S3
|
|
47
|
+
Given I use announcement <ann> in line <line>
|
|
48
|
+
|
|
49
|
+
Examples:
|
|
50
|
+
| line | ann |
|
|
51
|
+
| 1 | anno1 |
|
|
52
|
+
| 2 | anno2 |
|
|
53
|
+
| 3 | anno3 |
|
|
54
|
+
|
|
55
|
+
Scenario: S4
|
|
56
|
+
Given I use announce and step fails
|
|
57
|
+
And this step works
|
|
58
|
+
|
|
59
|
+
Scenario Outline: s5
|
|
60
|
+
Given I use announcement <ann> in line <line> with result <result>
|
|
61
|
+
|
|
62
|
+
Examples:
|
|
63
|
+
| line | ann | result |
|
|
64
|
+
| 1 | anno1 | fail |
|
|
65
|
+
| 2 | anno2 | pass |
|
|
66
|
+
"""
|
|
67
|
+
|
|
68
|
+
And a file named "features/announce_world.feature" with:
|
|
69
|
+
"""
|
|
70
|
+
Feature: announce_world
|
|
71
|
+
Scenario: announce_world
|
|
72
|
+
Given I announce the world
|
|
73
|
+
"""
|
|
74
|
+
|
|
75
|
+
Scenario: Delayed announcements feature
|
|
76
|
+
When I run cucumber --format pretty features/f.feature
|
|
77
|
+
Then STDERR should be empty
|
|
78
|
+
And the output should contain
|
|
79
|
+
"""
|
|
80
|
+
Feature: F
|
|
81
|
+
|
|
82
|
+
Scenario: S # features/f.feature:3
|
|
83
|
+
Given I use announce with text "Ann" # features/step_definitions/steps.rb:1
|
|
84
|
+
Ann
|
|
85
|
+
And this step works # features/step_definitions/steps.rb:21
|
|
86
|
+
|
|
87
|
+
Scenario: S2 # features/f.feature:7
|
|
88
|
+
Given I use multiple announces # features/step_definitions/steps.rb:5
|
|
89
|
+
Multiple
|
|
90
|
+
Announce
|
|
91
|
+
Me
|
|
92
|
+
And this step works # features/step_definitions/steps.rb:21
|
|
93
|
+
|
|
94
|
+
Scenario Outline: S3 # features/f.feature:11
|
|
95
|
+
Given I use announcement <ann> in line <line> # features/f.feature:12
|
|
96
|
+
|
|
97
|
+
Examples:
|
|
98
|
+
| line | ann |
|
|
99
|
+
| 1 | anno1 |
|
|
100
|
+
| 2 | anno2 |
|
|
101
|
+
| 3 | anno3 |
|
|
102
|
+
|
|
103
|
+
Scenario: S4 # features/f.feature:20
|
|
104
|
+
Given I use announce and step fails # features/step_definitions/steps.rb:16
|
|
105
|
+
Announce with fail
|
|
106
|
+
(RuntimeError)
|
|
107
|
+
./features/step_definitions/steps.rb:18:in `/^I use announce and step fails$/'
|
|
108
|
+
features/f.feature:21:in `Given I use announce and step fails'
|
|
109
|
+
And this step works # features/step_definitions/steps.rb:21
|
|
110
|
+
|
|
111
|
+
Scenario Outline: s5 # features/f.feature:24
|
|
112
|
+
Given I use announcement <ann> in line <line> with result <result> # features/step_definitions/steps.rb:10
|
|
113
|
+
|
|
114
|
+
Examples:
|
|
115
|
+
| line | ann | result |
|
|
116
|
+
| 1 | anno1 | fail | Line: 1: anno1
|
|
117
|
+
(RuntimeError)
|
|
118
|
+
./features/step_definitions/steps.rb:13:in `/^I use announcement (.+) in line (.+) (?:with result (.+))$/'
|
|
119
|
+
features/f.feature:25:in `Given I use announcement <ann> in line <line> with result <result>'
|
|
120
|
+
| 2 | anno2 | pass | Line: 2: anno2
|
|
121
|
+
"""
|
|
122
|
+
|
|
123
|
+
Scenario: Non-delayed announcements feature (progress formatter)
|
|
124
|
+
When I run cucumber --format progress features/f.feature
|
|
125
|
+
Then the output should contain
|
|
126
|
+
"""
|
|
127
|
+
Ann
|
|
128
|
+
..
|
|
129
|
+
Multiple
|
|
130
|
+
|
|
131
|
+
Announce
|
|
132
|
+
Me
|
|
133
|
+
..-UUUUUU
|
|
134
|
+
Announce with fail
|
|
135
|
+
F--
|
|
136
|
+
Line: 1: anno1
|
|
137
|
+
FFF
|
|
138
|
+
Line: 2: anno2
|
|
139
|
+
...
|
|
140
|
+
"""
|
|
141
|
+
|
|
142
|
+
@rspec2
|
|
143
|
+
Scenario: announce world
|
|
144
|
+
When I run cucumber --format progress features/announce_world.feature
|
|
145
|
+
Then the output should contain
|
|
146
|
+
"""
|
|
147
|
+
WORLD:
|
|
148
|
+
Object
|
|
149
|
+
|
|
150
|
+
RSpec::Matchers
|
|
151
|
+
Cucumber::RbSupport::RbWorld
|
|
152
|
+
"""
|
|
153
|
+
|
|
154
|
+
@rspec1
|
|
155
|
+
Scenario: announce world
|
|
156
|
+
When I run cucumber --format progress features/announce_world.feature
|
|
157
|
+
Then the output should contain
|
|
158
|
+
"""
|
|
159
|
+
WORLD:
|
|
160
|
+
Object
|
|
161
|
+
|
|
162
|
+
Spec::Matchers
|
|
163
|
+
Cucumber::RbSupport::RbWorld
|
|
164
|
+
"""
|