cucumber 1.3.2 → 1.3.3

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 (34) hide show
  1. checksums.yaml +7 -0
  2. data/History.md +10 -3
  3. data/cucumber.gemspec +3 -2
  4. data/cucumber.yml +5 -0
  5. data/features/bootstrap.feature +2 -0
  6. data/gem_tasks/cucumber.rake +3 -5
  7. data/legacy_features/step_definitions/cucumber_steps.rb +3 -1
  8. data/lib/cucumber/cli/main.rb +1 -0
  9. data/lib/cucumber/constantize.rb +1 -0
  10. data/lib/cucumber/core_ext/disable_mini_and_test_unit_autorun.rb +2 -15
  11. data/lib/cucumber/platform.rb +1 -1
  12. data/lib/cucumber/rake/task.rb +5 -11
  13. data/spec/cucumber/ast/background_spec.rb +2 -2
  14. data/spec/cucumber/ast/feature_factory.rb +1 -1
  15. data/spec/cucumber/ast/outline_table_spec.rb +3 -3
  16. data/spec/cucumber/ast/scenario_outline_spec.rb +2 -2
  17. data/spec/cucumber/ast/step_spec.rb +1 -1
  18. data/spec/cucumber/ast/tree_walker_spec.rb +2 -2
  19. data/spec/cucumber/broadcaster_spec.rb +1 -1
  20. data/spec/cucumber/cli/configuration_spec.rb +13 -13
  21. data/spec/cucumber/cli/drb_client_spec.rb +3 -3
  22. data/spec/cucumber/cli/main_spec.rb +25 -25
  23. data/spec/cucumber/cli/options_spec.rb +4 -4
  24. data/spec/cucumber/cli/profile_loader_spec.rb +3 -3
  25. data/spec/cucumber/core_ext/proc_spec.rb +2 -2
  26. data/spec/cucumber/formatter/junit_spec.rb +1 -1
  27. data/spec/cucumber/formatter/progress_spec.rb +2 -2
  28. data/spec/cucumber/rb_support/rb_language_spec.rb +5 -5
  29. data/spec/cucumber/rb_support/rb_step_definition_spec.rb +1 -1
  30. data/spec/cucumber/wire_support/connection_spec.rb +3 -3
  31. data/spec/cucumber/wire_support/wire_language_spec.rb +2 -2
  32. data/spec/cucumber/wire_support/wire_step_definition_spec.rb +1 -1
  33. data/spec/cucumber/world/pending_spec.rb +4 -4
  34. metadata +50 -84
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d7e54c4793cfc940226a5267fefc1d97a1aa96bc
4
+ data.tar.gz: ca619e89d28abf2905cb8734762a47b9ef5d12c4
5
+ SHA512:
6
+ metadata.gz: d3b1bc0739c3605a10c634adffd1fdeb1bd7dc69e20a913bcd3e14f2ceffb82d2346c338a9f94163a912cddccac120c84cf28d0fdf4f4a68afa4ccb16221c7ea
7
+ data.tar.gz: a68103d62fa10eeb6e2352f756b27aa7470b9d46b1f5a18b30a52e5d455fb9bb4b360a7300caefd7930f9b4c3622fc0e79a934d1e973233befa73432f54dc0f1
data/History.md CHANGED
@@ -1,7 +1,14 @@
1
- ## [1.3.x
2
- latest](https://github.com/cucumber/cucumber/compare/v1.3.2...v1.3.x-bugfix)
1
+ ## [1.3.x latest](https://github.com/cucumber/cucumber/compare/v1.3.3...v1.3.x-bugfix)
3
2
 
4
- ## [1.3.1](https://github.com/cucumber/cucumber/compare/v1.3.1...v1.3.2)
3
+ ## [1.3.3](https://github.com/cucumber/cucumber/compare/v1.3.2...v1.3.3)
4
+
5
+ * Fix compatability with MiniTest 5.0 ([#456](https://github.com/.cucumber/cucumber/issues/456) Matt Wynne)
6
+ * Warn that Spork support is broken (Steve Tooke)
7
+ * Fix error with Ruby 2.0.0 and `Cucumber::RUBY_1_8_7`
8
+ ([#492](https://github.com/cucumber/cucumber/issues/492) Matt Wynne)
9
+ * Use new Rubygems API to look for bundler ([#448](https://github.com/cucumber/cucumber/issues/448) Matt Wynne)
10
+
11
+ ## [1.3.2](https://github.com/cucumber/cucumber/compare/v1.3.1...v1.3.2)
5
12
 
6
13
  ### Bugfixes
7
14
  * Fixed ugly NoMethodError when a Scenario Outline has no Examples
@@ -16,11 +16,12 @@ Gem::Specification.new do |s|
16
16
  s.add_dependency 'builder', '>= 2.1.2'
17
17
  s.add_dependency 'diff-lcs', '>= 1.1.3'
18
18
  s.add_dependency 'gherkin', '~> 2.12.0'
19
- s.add_dependency 'multi_json', '~> 1.3'
19
+ s.add_dependency 'multi_json', '~> 1.7.5'
20
+ s.add_dependency 'multi_test', '~> 0.0.1'
20
21
 
21
22
  s.add_development_dependency 'aruba', '~> 0.5.2'
22
23
  s.add_development_dependency 'json', '~> 1.7'
23
- s.add_development_dependency 'nokogiri', '>= 1.5.2'
24
+ s.add_development_dependency 'nokogiri', '~> 1.5.2'
24
25
  s.add_development_dependency 'rake', '>= 0.9.2'
25
26
  s.add_development_dependency 'rspec', '>= 2.13'
26
27
  s.add_development_dependency 'simplecov', '>= 0.6.2'
@@ -12,6 +12,10 @@ rescue LoadError
12
12
  end
13
13
  wip_opts = "--color --tags @wip:3"
14
14
  wip_opts << ",@wip-jruby:3" if defined?(JRUBY_VERSION)
15
+
16
+ legacy_opts = ''
17
+ legacy_opts << " --tags ~@wire" if defined?(JRUBY_VERSION)
18
+ legacy_opts << " --tags ~@wip-jruby" if defined?(JRUBY_VERSION)
15
19
  %>
16
20
  default: <%= std_opts %> --tags ~@jruby --dotcucumber features/.cucumber
17
21
  jruby: <%= std_opts %> --tags ~@spork --tags ~@wire
@@ -23,3 +27,4 @@ ruby_2_0: <%= std_opts %> --tags ~@jruby --tags ~@fails_on_1_9
23
27
  wip: --wip <%= wip_opts %> features
24
28
  none: --format pretty
25
29
  rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip
30
+ legacy: legacy_features -r legacy_features -f progress --tags ~@spork <%= legacy_opts %>
@@ -3,6 +3,7 @@ Feature: Bootstrapping a new project
3
3
  As a new cucumber user
4
4
  I want cucumber to give helpful error messages in basic situations
5
5
 
6
+ @spawn
6
7
  Scenario: running cucumber against a non-existing feature file
7
8
  Given a directory without standard Cucumber project directory structure
8
9
  When I run `cucumber`
@@ -11,6 +12,7 @@ Feature: Bootstrapping a new project
11
12
  No such file or directory - features. Please create a features directory to get started. (Errno::ENOENT)
12
13
  """
13
14
 
15
+ @spawn
14
16
  Scenario: does not load ruby files in root if features directory is missing
15
17
  Given a directory without standard Cucumber project directory structure
16
18
  And a file named "should_not_load.rb" with:
@@ -18,15 +18,13 @@ class Cucumber::Rake::Task
18
18
  end
19
19
 
20
20
  Cucumber::Rake::Task.new(:features) do |t|
21
- t.fork = false
21
+ t.fork = true
22
22
  t.set_profile_for_current_ruby
23
23
  end
24
24
 
25
25
  Cucumber::Rake::Task.new(:legacy_features) do |t|
26
- t.fork = false
27
- t.cucumber_opts = %w{legacy_features}
28
- t.set_profile_for_current_ruby
29
- t.rcov = ENV['RCOV']
26
+ t.fork = true
27
+ t.profile = :legacy
30
28
  end
31
29
 
32
30
  task :cucumber => [:features, :legacy_features]
@@ -64,7 +64,9 @@ end
64
64
 
65
65
  Then /^it should (fail|pass)$/ do |success|
66
66
  if success == 'fail'
67
- last_exit_status.should_not == 0
67
+ if last_exit_status == 0
68
+ raise "Passed when expected to fail\nSTDOUT:\n#{last_stdout}\nSTDERR:\n#{last_stderr}"
69
+ end
68
70
  else
69
71
  if last_exit_status != 0
70
72
  raise "Failed with exit status #{last_exit_status}\nSTDOUT:\n#{last_stdout}\nSTDERR:\n#{last_stderr}"
@@ -74,6 +74,7 @@ module Cucumber
74
74
 
75
75
  def run_drb_client
76
76
  return false unless configuration.drb?
77
+ warn("Spork is no longer supported as of Cucumber 1.3.0. Please downgrade to version 1.2.5")
77
78
  @drb_output = DRbClient.run(@args, @err, @out, configuration.drb_port)
78
79
  true
79
80
  rescue DRbClientError => e
@@ -1,3 +1,4 @@
1
+ require 'cucumber/platform'
1
2
  module Cucumber
2
3
  module Constantize #:nodoc:
3
4
  def constantize(camel_cased_word)
@@ -1,15 +1,2 @@
1
- begin
2
- require 'test/unit'
3
-
4
- if defined?(Test::Unit::AutoRunner.need_auto_run?)
5
- # For test-unit gem >= 2.4.9
6
- Test::Unit::AutoRunner.need_auto_run = false
7
- elsif defined?(Test::Unit.run?)
8
- # For test-unit gem < 2.4.9
9
- Test::Unit.run = true
10
- elsif defined?(Test::Unit::Runner)
11
- # For test/unit bundled in Ruby >= 1.9.3
12
- Test::Unit::Runner.module_eval("@@stop_auto_run = true")
13
- end
14
- rescue LoadError => ignore
15
- end
1
+ require 'multi_test'
2
+ MultiTest.disable_autorun
@@ -4,7 +4,7 @@ require 'rbconfig'
4
4
 
5
5
  module Cucumber
6
6
  unless defined?(Cucumber::VERSION)
7
- VERSION = '1.3.2'
7
+ VERSION = '1.3.3'
8
8
  BINARY = File.expand_path(File.dirname(__FILE__) + '/../../bin/cucumber')
9
9
  LIBDIR = File.expand_path(File.dirname(__FILE__) + '/../../lib')
10
10
  JRUBY = defined?(JRUBY_VERSION)
@@ -75,19 +75,13 @@ module Cucumber
75
75
  end
76
76
 
77
77
  def use_bundler
78
- @bundler.nil? ? File.exist?("./Gemfile") && gem_available?("bundler") : @bundler
78
+ @bundler.nil? ? File.exist?("./Gemfile") && bundler_gem_available? : @bundler
79
79
  end
80
80
 
81
- def gem_available?(gemname)
82
- gem_available_new_rubygems?(gemname) || gem_available_old_rubygems?(gemname)
83
- end
84
-
85
- def gem_available_old_rubygems?(gemname)
86
- Gem.available?(gemname)
87
- end
88
-
89
- def gem_available_new_rubygems?(gemname)
90
- Gem::Specification.respond_to?(:find_all_by_name) && Gem::Specification.find_all_by_name(gemname).any?
81
+ def bundler_gem_available?
82
+ Gem::Specification.find_by_name('bundler')
83
+ rescue Gem::LoadError
84
+ false
91
85
  end
92
86
 
93
87
  def cmd
@@ -5,7 +5,7 @@ require 'cucumber/rb_support/rb_language'
5
5
  module Cucumber
6
6
  module Ast
7
7
  describe Background do
8
- let(:language) { stub.as_null_object }
8
+ let(:language) { double.as_null_object }
9
9
 
10
10
  before do
11
11
  extend(Cucumber::RbSupport::RbDsl)
@@ -22,7 +22,7 @@ module Cucumber
22
22
 
23
23
  @visitor = TreeWalker.new(@runtime)
24
24
 
25
- @feature = mock('feature', :visit? => true, :feature_elements => []).as_null_object
25
+ @feature = double('feature', :visit? => true, :feature_elements => []).as_null_object
26
26
  end
27
27
 
28
28
  it "should execute Before blocks before background steps" do
@@ -27,7 +27,7 @@ module Cucumber
27
27
  ])
28
28
  doc_string = Ast::DocString.new(%{\n I like\nCucumber sandwich\n}, '')
29
29
  location = Ast::Location.new('foo.feature', 2)
30
- language = stub.as_null_object
30
+ language = double.as_null_object
31
31
 
32
32
  background = Ast::Background.new(
33
33
  language,
@@ -6,13 +6,13 @@ module Cucumber::Ast
6
6
  describe "a header row" do
7
7
  before(:each) do
8
8
  @row = OutlineTable::ExampleRow.new(
9
- mock('table', :index => 0),
10
- [mock('cell', :status= => nil)]
9
+ double('table', :index => 0),
10
+ [double('cell', :status= => nil)]
11
11
  )
12
12
  end
13
13
 
14
14
  it "should raise an error if you try to call #failed?" do
15
- @row.accept_plain mock('visitor', :visit_table_cell => nil)
15
+ @row.accept_plain double('visitor', :visit_table_cell => nil)
16
16
  lambda{ @row.failed? }.should raise_error(NoMethodError, /cannot pass or fail/)
17
17
  end
18
18
  end
@@ -27,7 +27,7 @@ module Cucumber
27
27
  end
28
28
 
29
29
  location = Ast::Location.new('foo.feature', 19)
30
- language = stub
30
+ language = double
31
31
 
32
32
  @scenario_outline = ScenarioOutline.new(
33
33
  language,
@@ -66,7 +66,7 @@ module Cucumber
66
66
  it "should replace all variables and call outline once for each table row" do
67
67
  visitor = TreeWalker.new(@step_mother)
68
68
  visitor.should_receive(:visit_table_row).exactly(3).times
69
- @scenario_outline.feature = stub.as_null_object
69
+ @scenario_outline.feature = double.as_null_object
70
70
  visitor.visit_feature_element(@scenario_outline)
71
71
  end
72
72
  end
@@ -6,7 +6,7 @@ require 'cucumber/core_ext/string'
6
6
  module Cucumber
7
7
  module Ast
8
8
  describe Step do
9
- let(:language) { stub }
9
+ let(:language) { double }
10
10
 
11
11
  it "should replace arguments in name" do
12
12
  step = Step.new(language, 1, 'Given', 'a <color> cucumber')
@@ -3,9 +3,9 @@ require 'spec_helper'
3
3
  module Cucumber::Ast
4
4
  describe TreeWalker do
5
5
  let(:tree_walker) do
6
- TreeWalker.new(nil, [mock('listener', :before_visit_features => nil)])
6
+ TreeWalker.new(nil, [double('listener', :before_visit_features => nil)])
7
7
  end
8
- let(:features) { mock('features', :accept => nil) }
8
+ let(:features) { double('features', :accept => nil) }
9
9
 
10
10
  it "should visit features" do
11
11
  tree_walker.should_not_receive(:warn)
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  module Cucumber
4
4
  describe Broadcaster do
5
5
  before do
6
- @receiver = mock('receiver')
6
+ @receiver = double('receiver')
7
7
  @broadcaster = Broadcaster.new([@receiver])
8
8
  end
9
9
 
@@ -9,20 +9,20 @@ module Cli
9
9
  end
10
10
 
11
11
  def given_cucumber_yml_defined_as(hash_or_string)
12
- File.stub!(:exist?).and_return(true)
12
+ File.stub(:exist?).and_return(true)
13
13
  cucumber_yml = hash_or_string.is_a?(Hash) ? hash_or_string.to_yaml : hash_or_string
14
- IO.stub!(:read).with('cucumber.yml').and_return(cucumber_yml)
14
+ IO.stub(:read).with('cucumber.yml').and_return(cucumber_yml)
15
15
  end
16
16
 
17
17
  def given_the_following_files(*files)
18
- File.stub!(:directory?).and_return(true)
19
- File.stub!(:file?).and_return(true)
20
- Dir.stub!(:[]).and_return(files)
18
+ File.stub(:directory?).and_return(true)
19
+ File.stub(:file?).and_return(true)
20
+ Dir.stub(:[]).and_return(files)
21
21
  end
22
22
 
23
23
  before(:each) do
24
- File.stub!(:exist?).and_return(false) # Meaning, no cucumber.yml exists
25
- Kernel.stub!(:exit).and_return(nil)
24
+ File.stub(:exist?).and_return(false) # Meaning, no cucumber.yml exists
25
+ Kernel.stub(:exit).and_return(nil)
26
26
  end
27
27
 
28
28
  def config
@@ -387,9 +387,9 @@ END_OF_MESSAGE
387
387
  end
388
388
 
389
389
  it "should search for all features in the specified directory" do
390
- File.stub!(:directory?).and_return(true)
391
- Dir.should_receive(:[]).with("feature_directory/**/*.feature").
392
- any_number_of_times.and_return(["cucumber.feature"])
390
+ File.stub(:directory?).and_return(true)
391
+ Dir.stub(:[]).with("feature_directory/**/*.feature").
392
+ and_return(["cucumber.feature"])
393
393
 
394
394
  config.parse!(%w{feature_directory/})
395
395
 
@@ -397,9 +397,9 @@ END_OF_MESSAGE
397
397
  end
398
398
 
399
399
  it "defaults to the features directory when no feature file are provided" do
400
- File.stub!(:directory?).and_return(true)
401
- Dir.should_receive(:[]).with("features/**/*.feature").
402
- any_number_of_times.and_return(["cucumber.feature"])
400
+ File.stub(:directory?).and_return(true)
401
+ Dir.stub(:[]).with("features/**/*.feature").
402
+ and_return(["cucumber.feature"])
403
403
 
404
404
  config.parse!(%w{})
405
405
 
@@ -8,8 +8,8 @@ module Cucumber
8
8
  @error_stream = StringIO.new
9
9
  @out_stream = StringIO.new
10
10
 
11
- @drb_object = mock('DRbObject', :run => true)
12
- DRbObject.stub!(:new_with_uri).and_return(@drb_object)
11
+ @drb_object = double('DRbObject', :run => true)
12
+ DRbObject.stub(:new_with_uri).and_return(@drb_object)
13
13
  end
14
14
 
15
15
  it "starts up a druby service" do
@@ -28,7 +28,7 @@ module Cucumber
28
28
  end
29
29
 
30
30
  it "returns raises an error when it can't connect to the server" do
31
- DRbObject.stub!(:new_with_uri).and_raise(DRb::DRbConnError)
31
+ DRbObject.stub(:new_with_uri).and_raise(DRb::DRbConnError)
32
32
  lambda { DRbClient.run(@args, @error_stream, @out_stream) }.should raise_error(DRbClientError, "No DRb server is running.")
33
33
  end
34
34
 
@@ -7,15 +7,15 @@ module Cucumber
7
7
  module Cli
8
8
  describe Main do
9
9
  before(:each) do
10
- File.stub!(:exist?).and_return(false) # When Configuration checks for cucumber.yml
11
- Dir.stub!(:[]).and_return([]) # to prevent cucumber's features dir to being laoded
10
+ File.stub(:exist?).and_return(false) # When Configuration checks for cucumber.yml
11
+ Dir.stub(:[]).and_return([]) # to prevent cucumber's features dir to being laoded
12
12
  end
13
13
 
14
14
  let(:args) { [] }
15
15
  let(:stdin) { StringIO.new }
16
16
  let(:stdout) { StringIO.new }
17
17
  let(:stderr) { StringIO.new }
18
- let(:kernel) { mock(:kernel) }
18
+ let(:kernel) { double(:kernel) }
19
19
  subject { Main.new(args, stdin, stdout, stderr, kernel)}
20
20
 
21
21
  describe "#execute!" do
@@ -28,7 +28,7 @@ module Cucumber
28
28
 
29
29
  it "configures that runtime" do
30
30
  expected_configuration = double('Configuration', :drb? => false).as_null_object
31
- Configuration.stub!(:new => expected_configuration)
31
+ Configuration.stub(:new => expected_configuration)
32
32
  existing_runtime.should_receive(:configure).with(expected_configuration)
33
33
  kernel.should_receive(:exit).with(1)
34
34
  do_execute
@@ -37,7 +37,7 @@ module Cucumber
37
37
  it "uses that runtime for running and reporting results" do
38
38
  expected_results = double('results', :failure? => true)
39
39
  existing_runtime.should_receive(:run!)
40
- existing_runtime.stub!(:results).and_return(expected_results)
40
+ existing_runtime.stub(:results).and_return(expected_results)
41
41
  kernel.should_receive(:exit).with(1)
42
42
  do_execute
43
43
  end
@@ -66,15 +66,15 @@ module Cucumber
66
66
  before(:each) do
67
67
  b = Cucumber::Parser::GherkinBuilder.new('features/foo.feature')
68
68
  b.feature(Gherkin::Formatter::Model::Feature.new([], [], "Feature", "Foo", "", 99, ""))
69
- b.language = stub
69
+ b.language = double
70
70
  @empty_feature = b.result
71
71
  end
72
72
 
73
73
  it "should show feature files parsed" do
74
74
  cli = Main.new(%w{--verbose example.feature}, stdin, stdout, stderr, kernel)
75
- cli.stub!(:require)
75
+ cli.stub(:require)
76
76
 
77
- Cucumber::FeatureFile.stub!(:new).and_return(mock("feature file", :parse => @empty_feature))
77
+ Cucumber::FeatureFile.stub(:new).and_return(double("feature file", :parse => @empty_feature))
78
78
 
79
79
  kernel.should_receive(:exit).with(0)
80
80
  cli.execute!
@@ -88,18 +88,18 @@ module Cucumber
88
88
  describe "in module" do
89
89
  it "should resolve each module until it gets Formatter class" do
90
90
  cli = Main.new(%w{--format ZooModule::MonkeyFormatterClass}, stdin, stdout, stderr, kernel)
91
- mock_module = mock('module')
92
- Object.stub!(:const_defined?).and_return(true)
93
- mock_module.stub!(:const_defined?).and_return(true)
91
+ double = double('module')
92
+ Object.stub(:const_defined?).and_return(true)
93
+ double.stub(:const_defined?).and_return(true)
94
94
 
95
- f = stub('formatter').as_null_object
95
+ f = double('formatter').as_null_object
96
96
 
97
97
  if Cucumber::RUBY_1_8_7
98
- Object.should_receive(:const_get).with('ZooModule').and_return(mock_module)
99
- mock_module.should_receive(:const_get).with('MonkeyFormatterClass').and_return(mock('formatter class', :new => f))
98
+ Object.should_receive(:const_get).with('ZooModule').and_return(double)
99
+ double.should_receive(:const_get).with('MonkeyFormatterClass').and_return(double('formatter class', :new => f))
100
100
  else
101
- Object.should_receive(:const_get).with('ZooModule', false).and_return(mock_module)
102
- mock_module.should_receive(:const_get).with('MonkeyFormatterClass', false).and_return(mock('formatter class', :new => f))
101
+ Object.should_receive(:const_get).with('ZooModule', false).and_return(double)
102
+ double.should_receive(:const_get).with('MonkeyFormatterClass', false).and_return(double('formatter class', :new => f))
103
103
  end
104
104
 
105
105
  kernel.should_receive(:exit).with(0)
@@ -111,8 +111,8 @@ module Cucumber
111
111
  [ProfilesNotDefinedError, YmlLoadError, ProfileNotFound].each do |exception_klass|
112
112
 
113
113
  it "rescues #{exception_klass}, prints the message to the error stream" do
114
- Configuration.stub!(:new).and_return(configuration = mock('configuration'))
115
- configuration.stub!(:parse!).and_raise(exception_klass.new("error message"))
114
+ Configuration.stub(:new).and_return(configuration = double('configuration'))
115
+ configuration.stub(:parse!).and_raise(exception_klass.new("error message"))
116
116
 
117
117
  subject.execute!
118
118
  stderr.string.should == "error message\n"
@@ -121,13 +121,13 @@ module Cucumber
121
121
 
122
122
  context "--drb" do
123
123
  before(:each) do
124
- @configuration = mock('Configuration', :drb? => true, :dotcucumber => false).as_null_object
125
- Configuration.stub!(:new).and_return(@configuration)
124
+ @configuration = double('Configuration', :drb? => true, :dotcucumber => false).as_null_object
125
+ Configuration.stub(:new).and_return(@configuration)
126
126
 
127
127
  args = ['features']
128
128
 
129
- step_mother = mock('StepMother').as_null_object
130
- StepMother.stub!(:new).and_return(step_mother)
129
+ step_mother = double('StepMother').as_null_object
130
+ StepMother.stub(:new).and_return(step_mother)
131
131
 
132
132
  @cli = Main.new(args, stdin, stdout, stderr, kernel)
133
133
  end
@@ -142,18 +142,18 @@ module Cucumber
142
142
  end
143
143
 
144
144
  it "returns the result from the DRbClient" do
145
- DRbClient.stub!(:run).and_return('foo')
145
+ DRbClient.stub(:run).and_return('foo')
146
146
  @cli.execute!.should == 'foo'
147
147
  end
148
148
 
149
149
  it "ceases execution if the DrbClient is able to perform the execution" do
150
- DRbClient.stub!(:run).and_return(true)
150
+ DRbClient.stub(:run).and_return(true)
151
151
  @configuration.should_not_receive(:build_formatter_broadcaster)
152
152
  @cli.execute!
153
153
  end
154
154
 
155
155
  context "when the DrbClient is unable to perfrom the execution" do
156
- before { DRbClient.stub!(:run).and_raise(DRbClientError.new('error message.')) }
156
+ before { DRbClient.stub(:run).and_raise(DRbClientError.new('error message.')) }
157
157
 
158
158
  it "alerts the user that execution will be performed locally" do
159
159
  kernel.should_receive(:exit).with(1)
@@ -7,14 +7,14 @@ module Cli
7
7
  describe Options do
8
8
 
9
9
  def given_cucumber_yml_defined_as(hash_or_string)
10
- File.stub!(:exist?).and_return(true)
10
+ File.stub(:exist?).and_return(true)
11
11
  cucumber_yml = hash_or_string.is_a?(Hash) ? hash_or_string.to_yaml : hash_or_string
12
- IO.stub!(:read).with('cucumber.yml').and_return(cucumber_yml)
12
+ IO.stub(:read).with('cucumber.yml').and_return(cucumber_yml)
13
13
  end
14
14
 
15
15
  before(:each) do
16
- File.stub!(:exist?).and_return(false) # Meaning, no cucumber.yml exists
17
- Kernel.stub!(:exit).and_return(nil)
16
+ File.stub(:exist?).and_return(false) # Meaning, no cucumber.yml exists
17
+ Kernel.stub(:exit).and_return(nil)
18
18
  end
19
19
 
20
20
  def output_stream
@@ -5,10 +5,10 @@ module Cucumber
5
5
  module Cli
6
6
  describe ProfileLoader do
7
7
  def given_cucumber_yml_defined_as(hash_or_string)
8
- Dir.stub!(:glob).with('{,.config/,config/}cucumber{.yml,.yaml}').and_return(['cucumber.yml'])
9
- File.stub!(:exist?).and_return(true)
8
+ Dir.stub(:glob).with('{,.config/,config/}cucumber{.yml,.yaml}').and_return(['cucumber.yml'])
9
+ File.stub(:exist?).and_return(true)
10
10
  cucumber_yml = hash_or_string.is_a?(Hash) ? hash_or_string.to_yaml : hash_or_string
11
- IO.stub!(:read).with('cucumber.yml').and_return(cucumber_yml)
11
+ IO.stub(:read).with('cucumber.yml').and_return(cucumber_yml)
12
12
  end
13
13
 
14
14
  def loader
@@ -60,7 +60,7 @@ describe Proc do
60
60
  lambda {
61
61
  Object.new.cucumber_instance_exec(true, 'foo', 1) do |*args|
62
62
  end
63
- }.should_not raise_error(Cucumber::ArityMismatchError)
63
+ }.should_not raise_error
64
64
  end
65
65
  end
66
66
 
@@ -68,7 +68,7 @@ describe Proc do
68
68
  lambda {
69
69
  Object.new.cucumber_instance_exec(true, 'foo', 1) do |arg,*args|
70
70
  end
71
- }.should_not raise_error(Cucumber::ArityMismatchError)
71
+ }.should_not raise_error
72
72
  end
73
73
 
74
74
  it "should raise ArityMismatchError for too few required args when using varargs (expecting 1+)" do
@@ -19,7 +19,7 @@ module Cucumber::Formatter
19
19
  end
20
20
 
21
21
  before(:each) do
22
- File.stub!(:directory?).and_return(true)
22
+ File.stub(:directory?).and_return(true)
23
23
  @formatter = TestDoubleJunitFormatter.new(step_mother, '', {})
24
24
  end
25
25
 
@@ -8,14 +8,14 @@ module Cucumber
8
8
  before(:each) do
9
9
  Cucumber::Term::ANSIColor.coloring = false
10
10
  @out = StringIO.new
11
- progress = Cucumber::Formatter::Progress.new(mock("step mother"), @out, {})
11
+ progress = Cucumber::Formatter::Progress.new(double("step mother"), @out, {})
12
12
  @visitor = Cucumber::Ast::TreeWalker.new(nil, [progress])
13
13
  end
14
14
 
15
15
  describe "visiting a table cell value without a status" do
16
16
  it "should take the status from the last run step" do
17
17
  @visitor.visit_step_result('', '', nil, :failed, nil, 10, nil, nil)
18
- outline_table = mock()
18
+ outline_table = double()
19
19
  outline_table.should_receive(:accept) do |visitor|
20
20
  visitor.visit_table_cell_value('value', nil)
21
21
  end
@@ -16,7 +16,7 @@ module Cucumber
16
16
  end
17
17
 
18
18
  describe "snippets" do
19
- let(:snippet) { stub.as_null_object }
19
+ let(:snippet) { double.as_null_object }
20
20
 
21
21
  it "creates a regexp Snippet class by default" do
22
22
  Snippet::Regexp.should_receive(:new).and_return(snippet)
@@ -39,7 +39,7 @@ module Cucumber
39
39
  end
40
40
 
41
41
  it "passes all parameters to Snippet contructor" do
42
- code_keyword, pattern, multiline_argument_class = stub, stub, stub
42
+ code_keyword, pattern, multiline_argument_class = double, double, double
43
43
  Snippet::Regexp.should_receive(:new).with(code_keyword, pattern, multiline_argument_class)
44
44
  rb.snippet_text(code_keyword, pattern, multiline_argument_class)
45
45
  end
@@ -106,7 +106,7 @@ module Cucumber
106
106
 
107
107
  it "should implicitly extend world with modules" do
108
108
  dsl.World(ModuleOne, ModuleTwo)
109
- rb.before(mock('scenario').as_null_object)
109
+ rb.before(double('scenario').as_null_object)
110
110
  class << rb.current_world
111
111
  included_modules.inspect.should =~ /ModuleOne/ # Workaround for RSpec/Ruby 1.9 issue with namespaces
112
112
  included_modules.inspect.should =~ /ModuleTwo/
@@ -243,7 +243,7 @@ or http://wiki.github.com/cucumber/cucumber/a-whole-new-world.
243
243
  fish = dsl.Before('@fish'){}
244
244
  meat = dsl.Before('@meat'){}
245
245
 
246
- scenario = mock('Scenario')
246
+ scenario = double('Scenario')
247
247
  scenario.should_receive(:accept_hook?).with(fish).and_return(true)
248
248
  scenario.should_receive(:accept_hook?).with(meat).and_return(false)
249
249
 
@@ -257,7 +257,7 @@ or http://wiki.github.com/cucumber/cucumber/a-whole-new-world.
257
257
  b = dsl.Around('@tag') do |scenario, block|
258
258
  end
259
259
 
260
- scenario = mock('Scenario')
260
+ scenario = double('Scenario')
261
261
  scenario.should_receive(:accept_hook?).with(a).and_return(true)
262
262
  scenario.should_receive(:accept_hook?).with(b).and_return(false)
263
263
 
@@ -15,7 +15,7 @@ module Cucumber
15
15
  end
16
16
 
17
17
  before do
18
- rb.before(mock('scenario').as_null_object)
18
+ rb.before(double('scenario').as_null_object)
19
19
  $inside = nil
20
20
  end
21
21
 
@@ -32,19 +32,19 @@ module Cucumber
32
32
  before(:each) do
33
33
  @config = TestConfiguration.new
34
34
  @connection = TestConnection.new(@config)
35
- @connection.socket = @socket = mock('socket').as_null_object
35
+ @connection.socket = @socket = double('socket').as_null_object
36
36
  @response = %q{["response"]}
37
37
  end
38
38
 
39
39
  it "re-raises a timeout error" do
40
- Timeout.stub!(:timeout).and_raise(Timeout::Error.new(''))
40
+ Timeout.stub(:timeout).and_raise(Timeout::Error.new(''))
41
41
  lambda { @connection.call_remote(nil, :foo, []) }.should raise_error(Timeout::Error)
42
42
  end
43
43
 
44
44
  it "ignores timeout errors when configured to do so" do
45
45
  @config.custom_timeout[:foo] = :never
46
46
  @socket.stub(:gets => @response)
47
- handler = mock(:handle_response => :response)
47
+ handler = double(:handle_response => :response)
48
48
  @connection.call_remote(handler, :foo, []).should == :response
49
49
  end
50
50
 
@@ -5,7 +5,7 @@ module Cucumber
5
5
  module WireSupport
6
6
  describe WireLanguage do
7
7
  def stub_wire_file!(filename, config)
8
- Configuration.stub!(:from_file).with(filename).and_return config
8
+ Configuration.stub(:from_file).with(filename).and_return config
9
9
  end
10
10
 
11
11
  describe "#load_code_file" do
@@ -23,7 +23,7 @@ module Cucumber
23
23
  def stub_remote_steps!(config, attributes)
24
24
  Connection.should_receive(:new).
25
25
  with(config).
26
- and_return( mock('remote_steps', attributes) )
26
+ and_return( double('remote_steps', attributes) )
27
27
  end
28
28
 
29
29
  before(:each) do
@@ -6,7 +6,7 @@ module Cucumber
6
6
  describe WireStepDefinition, "#invoke" do
7
7
  describe "if one of the arguments is a table" do
8
8
  it "should pass the raw table to the connection" do
9
- connection = mock('connection')
9
+ connection = double('connection')
10
10
  step_definition = WireStepDefinition.new(connection, 'id' => 'the-id')
11
11
  expected_args = ["a","b", [["1","2"],["3","4"]]]
12
12
  connection.should_receive(:invoke).with('the-id', expected_args)
@@ -6,7 +6,7 @@ module Cucumber
6
6
 
7
7
  before(:each) do
8
8
  l = RbSupport::RbLanguage.new(Runtime.new)
9
- l.begin_rb_scenario(mock('scenario').as_null_object)
9
+ l.begin_rb_scenario(double('scenario').as_null_object)
10
10
  @world = l.current_world
11
11
  end
12
12
 
@@ -24,12 +24,12 @@ module Cucumber
24
24
  }.should raise_error(Cucumber::Pending, /TODO/)
25
25
  end
26
26
 
27
- it 'should raise a Pending if a supplied block fails as expected with a mock' do
27
+ it 'should raise a Pending if a supplied block fails as expected with a double' do
28
28
  lambda {
29
29
  @world.pending "TODO" do
30
- m = mock('thing')
30
+ m = double('thing')
31
31
  m.should_receive(:foo)
32
- m.rspec_verify
32
+ RSpec::Mocks.verify
33
33
  end
34
34
  }.should raise_error(Cucumber::Pending, /TODO/)
35
35
  end
metadata CHANGED
@@ -1,52 +1,46 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
5
- prerelease:
4
+ version: 1.3.3
6
5
  platform: ruby
7
6
  authors:
8
7
  - Aslak Hellesøy
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-05-22 00:00:00.000000000 Z
11
+ date: 2013-07-07 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: builder
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>='
17
+ - - '>='
20
18
  - !ruby/object:Gem::Version
21
19
  version: 2.1.2
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - ! '>='
24
+ - - '>='
28
25
  - !ruby/object:Gem::Version
29
26
  version: 2.1.2
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: diff-lcs
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
- - - ! '>='
31
+ - - '>='
36
32
  - !ruby/object:Gem::Version
37
33
  version: 1.1.3
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
- - - ! '>='
38
+ - - '>='
44
39
  - !ruby/object:Gem::Version
45
40
  version: 1.1.3
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: gherkin
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ~>
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :runtime
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ~>
60
53
  - !ruby/object:Gem::Version
@@ -62,23 +55,34 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: multi_json
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ~>
68
60
  - !ruby/object:Gem::Version
69
- version: '1.3'
61
+ version: 1.7.5
70
62
  type: :runtime
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
65
  requirements:
75
66
  - - ~>
76
67
  - !ruby/object:Gem::Version
77
- version: '1.3'
68
+ version: 1.7.5
69
+ - !ruby/object:Gem::Dependency
70
+ name: multi_test
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ~>
74
+ - !ruby/object:Gem::Version
75
+ version: 0.0.1
76
+ type: :runtime
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ~>
81
+ - !ruby/object:Gem::Version
82
+ version: 0.0.1
78
83
  - !ruby/object:Gem::Dependency
79
84
  name: aruba
80
85
  requirement: !ruby/object:Gem::Requirement
81
- none: false
82
86
  requirements:
83
87
  - - ~>
84
88
  - !ruby/object:Gem::Version
@@ -86,7 +90,6 @@ dependencies:
86
90
  type: :development
87
91
  prerelease: false
88
92
  version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
93
  requirements:
91
94
  - - ~>
92
95
  - !ruby/object:Gem::Version
@@ -94,7 +97,6 @@ dependencies:
94
97
  - !ruby/object:Gem::Dependency
95
98
  name: json
96
99
  requirement: !ruby/object:Gem::Requirement
97
- none: false
98
100
  requirements:
99
101
  - - ~>
100
102
  - !ruby/object:Gem::Version
@@ -102,7 +104,6 @@ dependencies:
102
104
  type: :development
103
105
  prerelease: false
104
106
  version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
107
  requirements:
107
108
  - - ~>
108
109
  - !ruby/object:Gem::Version
@@ -110,103 +111,90 @@ dependencies:
110
111
  - !ruby/object:Gem::Dependency
111
112
  name: nokogiri
112
113
  requirement: !ruby/object:Gem::Requirement
113
- none: false
114
114
  requirements:
115
- - - ! '>='
115
+ - - ~>
116
116
  - !ruby/object:Gem::Version
117
117
  version: 1.5.2
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
121
  requirements:
123
- - - ! '>='
122
+ - - ~>
124
123
  - !ruby/object:Gem::Version
125
124
  version: 1.5.2
126
125
  - !ruby/object:Gem::Dependency
127
126
  name: rake
128
127
  requirement: !ruby/object:Gem::Requirement
129
- none: false
130
128
  requirements:
131
- - - ! '>='
129
+ - - '>='
132
130
  - !ruby/object:Gem::Version
133
131
  version: 0.9.2
134
132
  type: :development
135
133
  prerelease: false
136
134
  version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
135
  requirements:
139
- - - ! '>='
136
+ - - '>='
140
137
  - !ruby/object:Gem::Version
141
138
  version: 0.9.2
142
139
  - !ruby/object:Gem::Dependency
143
140
  name: rspec
144
141
  requirement: !ruby/object:Gem::Requirement
145
- none: false
146
142
  requirements:
147
- - - ! '>='
143
+ - - '>='
148
144
  - !ruby/object:Gem::Version
149
145
  version: '2.13'
150
146
  type: :development
151
147
  prerelease: false
152
148
  version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
149
  requirements:
155
- - - ! '>='
150
+ - - '>='
156
151
  - !ruby/object:Gem::Version
157
152
  version: '2.13'
158
153
  - !ruby/object:Gem::Dependency
159
154
  name: simplecov
160
155
  requirement: !ruby/object:Gem::Requirement
161
- none: false
162
156
  requirements:
163
- - - ! '>='
157
+ - - '>='
164
158
  - !ruby/object:Gem::Version
165
159
  version: 0.6.2
166
160
  type: :development
167
161
  prerelease: false
168
162
  version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
163
  requirements:
171
- - - ! '>='
164
+ - - '>='
172
165
  - !ruby/object:Gem::Version
173
166
  version: 0.6.2
174
167
  - !ruby/object:Gem::Dependency
175
168
  name: spork
176
169
  requirement: !ruby/object:Gem::Requirement
177
- none: false
178
170
  requirements:
179
- - - ! '>='
171
+ - - '>='
180
172
  - !ruby/object:Gem::Version
181
173
  version: 1.0.0.rc2
182
174
  type: :development
183
175
  prerelease: false
184
176
  version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
177
  requirements:
187
- - - ! '>='
178
+ - - '>='
188
179
  - !ruby/object:Gem::Version
189
180
  version: 1.0.0.rc2
190
181
  - !ruby/object:Gem::Dependency
191
182
  name: syntax
192
183
  requirement: !ruby/object:Gem::Requirement
193
- none: false
194
184
  requirements:
195
- - - ! '>='
185
+ - - '>='
196
186
  - !ruby/object:Gem::Version
197
187
  version: 1.0.0
198
188
  type: :development
199
189
  prerelease: false
200
190
  version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
191
  requirements:
203
- - - ! '>='
192
+ - - '>='
204
193
  - !ruby/object:Gem::Version
205
194
  version: 1.0.0
206
195
  - !ruby/object:Gem::Dependency
207
196
  name: bcat
208
197
  requirement: !ruby/object:Gem::Requirement
209
- none: false
210
198
  requirements:
211
199
  - - ~>
212
200
  - !ruby/object:Gem::Version
@@ -214,7 +202,6 @@ dependencies:
214
202
  type: :development
215
203
  prerelease: false
216
204
  version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
205
  requirements:
219
206
  - - ~>
220
207
  - !ruby/object:Gem::Version
@@ -222,7 +209,6 @@ dependencies:
222
209
  - !ruby/object:Gem::Dependency
223
210
  name: kramdown
224
211
  requirement: !ruby/object:Gem::Requirement
225
- none: false
226
212
  requirements:
227
213
  - - ~>
228
214
  - !ruby/object:Gem::Version
@@ -230,7 +216,6 @@ dependencies:
230
216
  type: :development
231
217
  prerelease: false
232
218
  version_requirements: !ruby/object:Gem::Requirement
233
- none: false
234
219
  requirements:
235
220
  - - ~>
236
221
  - !ruby/object:Gem::Version
@@ -238,7 +223,6 @@ dependencies:
238
223
  - !ruby/object:Gem::Dependency
239
224
  name: yard
240
225
  requirement: !ruby/object:Gem::Requirement
241
- none: false
242
226
  requirements:
243
227
  - - ~>
244
228
  - !ruby/object:Gem::Version
@@ -246,7 +230,6 @@ dependencies:
246
230
  type: :development
247
231
  prerelease: false
248
232
  version_requirements: !ruby/object:Gem::Requirement
249
- none: false
250
233
  requirements:
251
234
  - - ~>
252
235
  - !ruby/object:Gem::Version
@@ -254,9 +237,8 @@ dependencies:
254
237
  - !ruby/object:Gem::Dependency
255
238
  name: capybara
256
239
  requirement: !ruby/object:Gem::Requirement
257
- none: false
258
240
  requirements:
259
- - - ! '>='
241
+ - - '>='
260
242
  - !ruby/object:Gem::Version
261
243
  version: 1.1.2
262
244
  - - <
@@ -265,9 +247,8 @@ dependencies:
265
247
  type: :development
266
248
  prerelease: false
267
249
  version_requirements: !ruby/object:Gem::Requirement
268
- none: false
269
250
  requirements:
270
- - - ! '>='
251
+ - - '>='
271
252
  - !ruby/object:Gem::Version
272
253
  version: 1.1.2
273
254
  - - <
@@ -276,65 +257,57 @@ dependencies:
276
257
  - !ruby/object:Gem::Dependency
277
258
  name: rack-test
278
259
  requirement: !ruby/object:Gem::Requirement
279
- none: false
280
260
  requirements:
281
- - - ! '>='
261
+ - - '>='
282
262
  - !ruby/object:Gem::Version
283
263
  version: 0.6.1
284
264
  type: :development
285
265
  prerelease: false
286
266
  version_requirements: !ruby/object:Gem::Requirement
287
- none: false
288
267
  requirements:
289
- - - ! '>='
268
+ - - '>='
290
269
  - !ruby/object:Gem::Version
291
270
  version: 0.6.1
292
271
  - !ruby/object:Gem::Dependency
293
272
  name: ramaze
294
273
  requirement: !ruby/object:Gem::Requirement
295
- none: false
296
274
  requirements:
297
- - - ! '>='
275
+ - - '>='
298
276
  - !ruby/object:Gem::Version
299
277
  version: '0'
300
278
  type: :development
301
279
  prerelease: false
302
280
  version_requirements: !ruby/object:Gem::Requirement
303
- none: false
304
281
  requirements:
305
- - - ! '>='
282
+ - - '>='
306
283
  - !ruby/object:Gem::Version
307
284
  version: '0'
308
285
  - !ruby/object:Gem::Dependency
309
286
  name: sinatra
310
287
  requirement: !ruby/object:Gem::Requirement
311
- none: false
312
288
  requirements:
313
- - - ! '>='
289
+ - - '>='
314
290
  - !ruby/object:Gem::Version
315
291
  version: 1.3.2
316
292
  type: :development
317
293
  prerelease: false
318
294
  version_requirements: !ruby/object:Gem::Requirement
319
- none: false
320
295
  requirements:
321
- - - ! '>='
296
+ - - '>='
322
297
  - !ruby/object:Gem::Version
323
298
  version: 1.3.2
324
299
  - !ruby/object:Gem::Dependency
325
300
  name: webrat
326
301
  requirement: !ruby/object:Gem::Requirement
327
- none: false
328
302
  requirements:
329
- - - ! '>='
303
+ - - '>='
330
304
  - !ruby/object:Gem::Version
331
305
  version: 0.7.3
332
306
  type: :development
333
307
  prerelease: false
334
308
  version_requirements: !ruby/object:Gem::Requirement
335
- none: false
336
309
  requirements:
337
- - - ! '>='
310
+ - - '>='
338
311
  - !ruby/object:Gem::Version
339
312
  version: 0.7.3
340
313
  description: Behaviour Driven Development with elegance and joy
@@ -934,35 +907,28 @@ files:
934
907
  - spec/spec_helper.rb
935
908
  homepage: http://cukes.info
936
909
  licenses: []
910
+ metadata: {}
937
911
  post_install_message:
938
912
  rdoc_options:
939
913
  - --charset=UTF-8
940
914
  require_paths:
941
915
  - lib
942
916
  required_ruby_version: !ruby/object:Gem::Requirement
943
- none: false
944
917
  requirements:
945
- - - ! '>='
918
+ - - '>='
946
919
  - !ruby/object:Gem::Version
947
920
  version: '0'
948
- segments:
949
- - 0
950
- hash: -3754938966826455462
951
921
  required_rubygems_version: !ruby/object:Gem::Requirement
952
- none: false
953
922
  requirements:
954
- - - ! '>='
923
+ - - '>='
955
924
  - !ruby/object:Gem::Version
956
925
  version: '0'
957
- segments:
958
- - 0
959
- hash: -3754938966826455462
960
926
  requirements: []
961
927
  rubyforge_project:
962
- rubygems_version: 1.8.23
928
+ rubygems_version: 2.0.3
963
929
  signing_key:
964
- specification_version: 3
965
- summary: cucumber-1.3.2
930
+ specification_version: 4
931
+ summary: cucumber-1.3.3
966
932
  test_files:
967
933
  - features/assertions.feature
968
934
  - features/background.feature