cucumber 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
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