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.
Files changed (96) hide show
  1. data/.gitattributes +1 -0
  2. data/.gitignore +17 -0
  3. data/History.txt +27 -0
  4. data/{License.txt → LICENSE} +0 -0
  5. data/Manifest.txt +0 -487
  6. data/README.rdoc +26 -0
  7. data/Rakefile +54 -7
  8. data/VERSION.yml +4 -0
  9. data/bin/cucumber +1 -1
  10. data/cucumber.gemspec +743 -0
  11. data/cucumber.yml +3 -1
  12. data/examples/cs/.gitignore +1 -0
  13. data/examples/i18n/Rakefile +1 -1
  14. data/examples/i18n/de/.gitignore +1 -0
  15. data/examples/i18n/en/.gitignore +1 -0
  16. data/examples/i18n/fi/.gitignore +1 -0
  17. data/examples/i18n/hu/.gitignore +1 -0
  18. data/examples/i18n/id/.gitignore +1 -0
  19. data/examples/i18n/ja/.gitignore +1 -0
  20. data/examples/i18n/ko/.gitignore +1 -0
  21. data/examples/i18n/lt/.gitignore +1 -0
  22. data/examples/i18n/pl/.gitignore +1 -0
  23. data/examples/i18n/sk/.gitignore +1 -0
  24. data/examples/i18n/sr-latn/Rakefile +6 -0
  25. data/examples/i18n/sr-latn/features/sabiranje.feature +18 -0
  26. data/examples/i18n/sr-latn/features/step_definitons/calculator_steps.rb +24 -0
  27. data/examples/i18n/sr-latn/lib/calculator.rb +12 -0
  28. data/examples/i18n/sr/Rakefile +6 -0
  29. data/examples/i18n/sr/features/sabiranje.feature +18 -0
  30. data/examples/i18n/sr/features/step_definitons/calculator_steps.rb +24 -0
  31. data/examples/i18n/sr/lib/calculator.rb +12 -0
  32. data/examples/i18n/tr/.gitignore +1 -0
  33. data/examples/i18n/tr/features/{bo/314/210lme.feature → bolme.feature} +0 -0
  34. data/examples/i18n/tr/features/step_definitons/{hesap_makinesi_ad/304/261mlar/304/261.rb → hesap_makinesi_adimlari.rb} +0 -0
  35. data/examples/i18n/zh-TW/.gitignore +1 -0
  36. data/examples/java/.gitignore +1 -0
  37. data/examples/java/src/.gitignore +1 -0
  38. data/examples/java/src/cucumber/demo/.gitignore +1 -0
  39. data/examples/python/lib/.gitignore +1 -0
  40. data/examples/ruby2python/lib/.gitignore +1 -0
  41. data/examples/self_test/.gitignore +1 -0
  42. data/features/background.feature +0 -3
  43. data/features/bug_464.feature +16 -0
  44. data/features/cucumber_cli.feature +4 -6
  45. data/features/cucumber_cli_diff_disabled.feature +0 -2
  46. data/features/cucumber_cli_outlines.feature +0 -4
  47. data/features/drb_server_integration.feature +1 -0
  48. data/features/exception_in_after_block.feature +0 -2
  49. data/features/exception_in_after_step_block.feature +0 -2
  50. data/features/exception_in_before_block.feature +0 -2
  51. data/features/junit_formatter.feature +0 -1
  52. data/features/language_help.feature +40 -38
  53. data/features/listener_debugger_formatter.feature +41 -0
  54. data/features/post_configuration_hook.feature +1 -1
  55. data/features/report_called_undefined_steps.feature +0 -1
  56. data/features/step_definitions/simplest_steps.rb +0 -3
  57. data/features/support/env.rb +5 -1
  58. data/features/transform.feature +1 -1
  59. data/features/usage_and_stepdefs_formatter.feature +1 -3
  60. data/features/work_in_progress.feature +0 -2
  61. data/gem_tasks/features.rake +6 -1
  62. data/gem_tasks/rspec.rake +5 -35
  63. data/gem_tasks/sdoc.rake +10 -5
  64. data/lib/autotest/cucumber_mixin.rb +6 -0
  65. data/lib/cucumber.rb +0 -1
  66. data/lib/cucumber/ast/step_invocation.rb +3 -0
  67. data/lib/cucumber/cli/configuration.rb +7 -2
  68. data/lib/cucumber/cli/options.rb +8 -7
  69. data/lib/cucumber/core_ext/proc.rb +1 -0
  70. data/lib/cucumber/formatter/ansicolor.rb +0 -9
  71. data/lib/cucumber/formatter/console.rb +14 -12
  72. data/lib/cucumber/formatter/debug.rb +33 -0
  73. data/lib/cucumber/formatter/pretty.rb +2 -2
  74. data/lib/cucumber/formatter/rerun.rb +9 -6
  75. data/lib/cucumber/language_support/language_methods.rb +2 -2
  76. data/lib/cucumber/languages.yml +37 -1
  77. data/lib/cucumber/platform.rb +3 -1
  78. data/lib/cucumber/py_support/py_language.py +1 -1
  79. data/lib/cucumber/py_support/py_language.rb +2 -2
  80. data/lib/cucumber/rb_support/rb_language.rb +6 -7
  81. data/lib/cucumber/rb_support/rb_step_definition.rb +0 -1
  82. data/lib/cucumber/rb_support/rb_world.rb +1 -2
  83. data/lib/cucumber/step_match.rb +10 -7
  84. data/lib/cucumber/step_mother.rb +6 -3
  85. data/rails_generators/cucumber/cucumber_generator.rb +49 -6
  86. data/spec/cucumber/cli/options_spec.rb +1 -1
  87. data/spec/cucumber/formatter/console_spec.rb +20 -0
  88. data/spec/cucumber/step_match_spec.rb +10 -5
  89. metadata +258 -43
  90. data/README.txt +0 -4
  91. data/config/hoe.rb +0 -84
  92. data/config/requirements.rb +0 -15
  93. data/gem_tasks/deployment.rake +0 -11
  94. data/gem_tasks/gemspec.rake +0 -10
  95. data/lib/cucumber/language_support/step_definition_methods.rb +0 -23
  96. data/lib/cucumber/version.rb +0 -10
data/README.txt DELETED
@@ -1,4 +0,0 @@
1
- = Cucumber
2
-
3
- The main website is at http://cukes.info/
4
- The documentation is at http://github.com/aslakhellesoy/cucumber/wikis/home/
@@ -1,84 +0,0 @@
1
- # encoding: utf-8
2
- require 'cucumber/version'
3
-
4
- AUTHOR = 'Aslak Hellesøy' # can also be an array of Authors
5
- EMAIL = "aslak.hellesoy@gmail.com"
6
- DESCRIPTION = "Executable Feature scenarios"
7
- GEM_NAME = 'cucumber' # what ppl will type to install your gem
8
- HOMEPATH = "http://cukes.info"
9
- RUBYFORGE_PROJECT = 'rspec'
10
-
11
- @config_file = "~/.rubyforge/user-config.yml"
12
- @config = nil
13
- RUBYFORGE_USERNAME = "aslak_hellesoy"
14
- def rubyforge_username
15
- unless @config
16
- begin
17
- @config = YAML.load(File.read(File.expand_path(@config_file)))
18
- rescue
19
- puts <<-EOS
20
- ERROR: No rubyforge config file found: #{@config_file}
21
- Run 'rubyforge setup' to prepare your env for access to Rubyforge
22
- - See http://newgem.rubyforge.org/rubyforge.html for more details
23
- EOS
24
- exit
25
- end
26
- end
27
- RUBYFORGE_USERNAME.replace @config["username"]
28
- end
29
-
30
-
31
- REV = nil
32
- # UNCOMMENT IF REQUIRED:
33
- # REV = YAML.load(`svn info`)['Revision']
34
- VERS = Cucumber::VERSION::STRING + (REV ? ".#{REV}" : "")
35
- RDOC_OPTS = ['--quiet', '--title', 'Cucumber documentation',
36
- "--opname", "index.html",
37
- "--line-numbers",
38
- "--main", "README.textile",
39
- "--inline-source"]
40
-
41
- # Remove Hoe dependency
42
- class Hoe
43
- def extra_dev_deps
44
- @extra_dev_deps.reject! { |dep| dep[0] == "hoe" }
45
- @extra_dev_deps
46
- end
47
- end
48
-
49
- # Generate all the Rake tasks
50
- # Run 'rake -T' to see list of generated tasks (from gem root directory)
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
-
60
- # == Optional
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
- ['term-ansicolor', '>= 1.0.3'],
65
- ['treetop', '>= 1.4.2'],
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
67
- ['diff-lcs', '>= 1.1.2'],
68
- ['builder', '>= 2.1.2']
69
- ]
70
-
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
79
- end
80
-
81
- CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
82
- PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
83
- $hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
84
- $hoe.rsync_args = '-av --delete --ignore-errors'
@@ -1,15 +0,0 @@
1
- require 'fileutils'
2
- include FileUtils
3
-
4
- require 'rubygems'
5
- %w[rake hoe].each do |req_gem|
6
- begin
7
- require req_gem
8
- rescue LoadError
9
- puts "This Rakefile requires the '#{req_gem}' RubyGem."
10
- puts "Installation: gem install #{req_gem} -y"
11
- exit
12
- end
13
- end
14
-
15
- $:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
@@ -1,11 +0,0 @@
1
- desc 'Install the package as a gem, without generating documentation(ri/rdoc)'
2
- task :install_gem_no_doc => [:clean, :package] do
3
- sh "#{'sudo ' unless Hoe::WINDOZE }gem install pkg/*.gem --no-rdoc --no-ri"
4
- end
5
-
6
- namespace :manifest do
7
- desc 'Recreate Manifest.txt to include ALL files'
8
- task :refresh => :clobber do
9
- `rake check_manifest | patch -p0 > Manifest.txt`
10
- end
11
- end
@@ -1,10 +0,0 @@
1
- namespace :gemspec do
2
- desc 'Refresh cucumber.gemspec to include ALL files'
3
- task :refresh => 'manifest:refresh' do
4
- File.open('cucumber.gemspec', 'w') {|io| io.write($hoe.spec.to_ruby)}
5
- puts "1) git commit -a -m \"Release #{Cucumber::VERSION::STRING}\""
6
- puts "2) git tag -a \"v#{Cucumber::VERSION::STRING}\" -m \"Release #{Cucumber::VERSION::STRING}\""
7
- puts "3) git push"
8
- puts "4) git push --tags"
9
- end
10
- end
@@ -1,23 +0,0 @@
1
- require 'cucumber/core_ext/string'
2
-
3
- module Cucumber
4
- module LanguageSupport
5
- module StepDefinitionMethods
6
- def step_match(name_to_match, name_to_report)
7
- if(arguments = arguments_from(name_to_match))
8
- StepMatch.new(self, name_to_match, name_to_report, arguments)
9
- else
10
- nil
11
- end
12
- end
13
-
14
- def backtrace_line
15
- "#{file_colon_line}:in `#{regexp_source}'"
16
- end
17
-
18
- def text_length
19
- regexp_source.jlength
20
- end
21
- end
22
- end
23
- end
@@ -1,10 +0,0 @@
1
- module Cucumber #:nodoc:
2
- class VERSION #:nodoc:
3
- MAJOR = 0
4
- MINOR = 4
5
- TINY = 0
6
- PATCH = nil # Set to nil for official release
7
-
8
- STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
9
- end
10
- end