cucumber 0.3.7 → 0.3.8

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.
@@ -1,2 +1,7 @@
1
+ STDERR.puts <<-EOF
2
+ WARNING: The cucumber/formatters/unicode file is deprecated.
3
+ It will be removed in version 0.4.0
4
+ Please use cucumber/formatter/unicode instead
5
+ EOF
1
6
  # This is for backwards compatibility
2
7
  require 'cucumber/formatter/unicode'
@@ -29,7 +29,8 @@ module Cucumber
29
29
  attr_reader :args
30
30
 
31
31
  def initialize(libs, cucumber_opts, feature_files)
32
- libs.reverse.each{|lib| $:.unshift(lib)}
32
+ raise "libs must be an Array when running in-process" unless Array === libs
33
+ libs.reverse.each{|lib| $LOAD_PATH.unshift(lib)}
33
34
  @args = (
34
35
  cucumber_opts +
35
36
  feature_files
@@ -131,7 +132,7 @@ module Cucumber
131
132
  @rcov_opts = String === opts ? opts.split(' ') : opts
132
133
  end
133
134
 
134
- # Whether or not to fork a new ruby interpreter. Defaults to false.
135
+ # Whether or not to fork a new ruby interpreter. Defaults to true.
135
136
  attr_accessor :fork
136
137
 
137
138
  # Define what profile to be used. When used with cucumber_opts it is simply appended to it. Will be ignored when CUCUMBER_OPTS is used.
@@ -148,11 +149,11 @@ module Cucumber
148
149
  # Define Cucumber Rake task
149
150
  def initialize(task_name = "features", desc = "Run Features with Cucumber")
150
151
  @task_name, @desc = task_name, desc
152
+ @fork = true
151
153
  @libs = ['lib']
152
154
  @rcov_opts = %w{--rails --exclude osx\/objc,gems\/}
153
155
 
154
156
  yield self if block_given?
155
- @fork = true if @rcov
156
157
 
157
158
  @feature_pattern = "features/**/*.feature" if feature_pattern.nil? && feature_list.nil?
158
159
  @step_pattern = "features/**/*.rb" if step_pattern.nil? && step_list.nil?
@@ -0,0 +1,23 @@
1
+ require 'optparse'
2
+
3
+ module Spec
4
+ module Runner
5
+ # Neuters RSpec's option parser.
6
+ # (RSpec's option parser tries to parse ARGV, which
7
+ # will fail when running cucumber)
8
+ class OptionParser < ::OptionParser
9
+ NEUTERED_RSPEC = Object.new
10
+ def NEUTERED_RSPEC.method_missing(m, *args); self; end
11
+
12
+ def self.method_added(m)
13
+ unless @__neutering_rspec
14
+ @__neutering_rspec = true
15
+ define_method(m) do |*a|
16
+ NEUTERED_RSPEC
17
+ end
18
+ @__neutering_rspec = false
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,8 +1,7 @@
1
1
  module Cucumber
2
2
  class StepMatch
3
- attr_reader :step_definition
4
- attr_reader :args
5
-
3
+ attr_reader :step_definition, :args, :step_name
4
+
6
5
  def initialize(step_definition, step_name, formatted_step_name, args)
7
6
  @step_definition, @step_name, @formatted_step_name, @args = step_definition, step_name, formatted_step_name, args
8
7
  end
@@ -2,9 +2,10 @@ module Cucumber #:nodoc:
2
2
  class VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 3
5
- TINY = 7
5
+ TINY = 8
6
6
  PATCH = nil # Set to nil for official release
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, PATCH].compact.join('.')
9
+ STABLE_STRING = [MAJOR, MINOR, TINY].join('.')
9
10
  end
10
11
  end
@@ -11,6 +11,9 @@ class CucumberGenerator < Rails::Generator::Base
11
11
  record do |m|
12
12
  m.directory 'features/step_definitions'
13
13
  m.template 'webrat_steps.rb', 'features/step_definitions/webrat_steps.rb'
14
+ m.template 'cucumber_environment.rb', 'config/environments/cucumber.rb'
15
+ m.gsub_file 'config/database.yml', /test:.*\n/, "test: &TEST\n"
16
+ m.gsub_file 'config/database.yml', /\z/, "\ncucumber:\n <<: *TEST"
14
17
 
15
18
  m.directory 'features/support'
16
19
  m.template 'env.rb', 'features/support/env.rb'
@@ -0,0 +1,21 @@
1
+ config.cache_classes = true # This must be true for Cucumber to operate correctly!
2
+
3
+ # Log error messages when you accidentally call methods on nil.
4
+ config.whiny_nils = true
5
+
6
+ # Show full error reports and disable caching
7
+ config.action_controller.consider_all_requests_local = true
8
+ config.action_controller.perform_caching = false
9
+
10
+ # Disable request forgery protection in test environment
11
+ config.action_controller.allow_forgery_protection = false
12
+
13
+ # Tell Action Mailer not to deliver emails to the real world.
14
+ # The :test delivery method accumulates sent emails in the
15
+ # ActionMailer::Base.deliveries array.
16
+ config.action_mailer.delivery_method = :test
17
+
18
+ config.gem "cucumber", :lib => false, :version => ">=<%= Cucumber::VERSION::STABLE_STRING %>"
19
+ config.gem "webrat", :lib => false, :version => ">=0.4.4"
20
+ config.gem "rspec", :lib => false, :version => ">=1.2.6"
21
+ config.gem "rspec-rails", :lib => 'spec/rails', :version => ">=1.2.6"
@@ -1,5 +1,5 @@
1
1
  # Sets up the Rails environment for Cucumber
2
- ENV["RAILS_ENV"] ||= "test"
2
+ ENV["RAILS_ENV"] ||= "cucumber"
3
3
  require File.expand_path(File.dirname(__FILE__) + '/../../config/environment')
4
4
  require 'cucumber/rails/world'
5
5
  require 'cucumber/formatter/unicode' # Comment out this line if you don't want Cucumber Unicode support
@@ -0,0 +1,22 @@
1
+ require File.dirname(__FILE__) + '/../../spec_helper'
2
+ require 'cucumber/formatter/duration'
3
+
4
+ module Cucumber
5
+ module Formatter
6
+ describe Duration do
7
+ include Duration
8
+
9
+ it "should format ms" do
10
+ format_duration(0.002103).should == '0m0.002s'
11
+ end
12
+
13
+ it "should format m" do
14
+ format_duration(61.002503).should == '1m1.003s'
15
+ end
16
+
17
+ it "should format h" do
18
+ format_duration(3661.002503).should == '61m1.003s'
19
+ end
20
+ end
21
+ end
22
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.7
4
+ version: 0.3.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - "Aslak Helles\xC3\xB8y"
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-22 00:00:00 +02:00
12
+ date: 2009-05-27 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -323,6 +323,8 @@ files:
323
323
  - features/custom_formatter.feature
324
324
  - features/exclude_files.feature
325
325
  - features/expand.feature
326
+ - features/html_formatter.feature
327
+ - features/html_formatter/a.html
326
328
  - features/junit_formatter.feature
327
329
  - features/multiline_names.feature
328
330
  - features/rake_task.feature
@@ -378,6 +380,7 @@ files:
378
380
  - lib/cucumber/formatter/console.rb
379
381
  - lib/cucumber/formatter/cucumber.css
380
382
  - lib/cucumber/formatter/cucumber.sass
383
+ - lib/cucumber/formatter/duration.rb
381
384
  - lib/cucumber/formatter/html.rb
382
385
  - lib/cucumber/formatter/junit.rb
383
386
  - lib/cucumber/formatter/pretty.rb
@@ -400,6 +403,7 @@ files:
400
403
  - lib/cucumber/rails/rspec.rb
401
404
  - lib/cucumber/rails/world.rb
402
405
  - lib/cucumber/rake/task.rb
406
+ - lib/cucumber/rspec_neuter.rb
403
407
  - lib/cucumber/step_definition.rb
404
408
  - lib/cucumber/step_match.rb
405
409
  - lib/cucumber/step_mother.rb
@@ -409,6 +413,7 @@ files:
409
413
  - rails_generators/cucumber/cucumber_generator.rb
410
414
  - rails_generators/cucumber/templates/cucumber
411
415
  - rails_generators/cucumber/templates/cucumber.rake
416
+ - rails_generators/cucumber/templates/cucumber_environment.rb
412
417
  - rails_generators/cucumber/templates/env.rb
413
418
  - rails_generators/cucumber/templates/paths.rb
414
419
  - rails_generators/cucumber/templates/webrat_steps.rb
@@ -434,6 +439,7 @@ files:
434
439
  - spec/cucumber/core_ext/string_spec.rb
435
440
  - spec/cucumber/formatter/ansicolor_spec.rb
436
441
  - spec/cucumber/formatter/color_io_spec.rb
442
+ - spec/cucumber/formatter/duration_spec.rb
437
443
  - spec/cucumber/formatter/html/cucumber.css
438
444
  - spec/cucumber/formatter/html/cucumber.js
439
445
  - spec/cucumber/formatter/html/index.html