cucumber 1.3.2 → 1.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/History.md +10 -3
- data/cucumber.gemspec +3 -2
- data/cucumber.yml +5 -0
- data/features/bootstrap.feature +2 -0
- data/gem_tasks/cucumber.rake +3 -5
- data/legacy_features/step_definitions/cucumber_steps.rb +3 -1
- data/lib/cucumber/cli/main.rb +1 -0
- data/lib/cucumber/constantize.rb +1 -0
- data/lib/cucumber/core_ext/disable_mini_and_test_unit_autorun.rb +2 -15
- data/lib/cucumber/platform.rb +1 -1
- data/lib/cucumber/rake/task.rb +5 -11
- data/spec/cucumber/ast/background_spec.rb +2 -2
- data/spec/cucumber/ast/feature_factory.rb +1 -1
- data/spec/cucumber/ast/outline_table_spec.rb +3 -3
- data/spec/cucumber/ast/scenario_outline_spec.rb +2 -2
- data/spec/cucumber/ast/step_spec.rb +1 -1
- 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 +13 -13
- data/spec/cucumber/cli/drb_client_spec.rb +3 -3
- data/spec/cucumber/cli/main_spec.rb +25 -25
- data/spec/cucumber/cli/options_spec.rb +4 -4
- data/spec/cucumber/cli/profile_loader_spec.rb +3 -3
- data/spec/cucumber/core_ext/proc_spec.rb +2 -2
- data/spec/cucumber/formatter/junit_spec.rb +1 -1
- data/spec/cucumber/formatter/progress_spec.rb +2 -2
- data/spec/cucumber/rb_support/rb_language_spec.rb +5 -5
- data/spec/cucumber/rb_support/rb_step_definition_spec.rb +1 -1
- data/spec/cucumber/wire_support/connection_spec.rb +3 -3
- data/spec/cucumber/wire_support/wire_language_spec.rb +2 -2
- data/spec/cucumber/wire_support/wire_step_definition_spec.rb +1 -1
- data/spec/cucumber/world/pending_spec.rb +4 -4
- metadata +50 -84
checksums.yaml
ADDED
@@ -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.
|
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
|
data/cucumber.gemspec
CHANGED
@@ -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.
|
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', '
|
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'
|
data/cucumber.yml
CHANGED
@@ -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 %>
|
data/features/bootstrap.feature
CHANGED
@@ -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:
|
data/gem_tasks/cucumber.rake
CHANGED
@@ -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 =
|
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 =
|
27
|
-
t.
|
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
|
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}"
|
data/lib/cucumber/cli/main.rb
CHANGED
@@ -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
|
data/lib/cucumber/constantize.rb
CHANGED
@@ -1,15 +1,2 @@
|
|
1
|
-
|
2
|
-
|
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
|
data/lib/cucumber/platform.rb
CHANGED
@@ -4,7 +4,7 @@ require 'rbconfig'
|
|
4
4
|
|
5
5
|
module Cucumber
|
6
6
|
unless defined?(Cucumber::VERSION)
|
7
|
-
VERSION = '1.3.
|
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)
|
data/lib/cucumber/rake/task.rb
CHANGED
@@ -75,19 +75,13 @@ module Cucumber
|
|
75
75
|
end
|
76
76
|
|
77
77
|
def use_bundler
|
78
|
-
@bundler.nil? ? File.exist?("./Gemfile") &&
|
78
|
+
@bundler.nil? ? File.exist?("./Gemfile") && bundler_gem_available? : @bundler
|
79
79
|
end
|
80
80
|
|
81
|
-
def
|
82
|
-
|
83
|
-
|
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) {
|
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 =
|
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 =
|
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
|
-
|
10
|
-
[
|
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
|
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 =
|
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 =
|
69
|
+
@scenario_outline.feature = double.as_null_object
|
70
70
|
visitor.visit_feature_element(@scenario_outline)
|
71
71
|
end
|
72
72
|
end
|
@@ -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, [
|
6
|
+
TreeWalker.new(nil, [double('listener', :before_visit_features => nil)])
|
7
7
|
end
|
8
|
-
let(:features) {
|
8
|
+
let(:features) { double('features', :accept => nil) }
|
9
9
|
|
10
10
|
it "should visit features" do
|
11
11
|
tree_walker.should_not_receive(:warn)
|
@@ -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
|
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
|
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
|
19
|
-
File.stub
|
20
|
-
Dir.stub
|
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
|
25
|
-
Kernel.stub
|
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
|
391
|
-
Dir.
|
392
|
-
|
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
|
401
|
-
Dir.
|
402
|
-
|
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 =
|
12
|
-
DRbObject.stub
|
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
|
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
|
11
|
-
Dir.stub
|
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) {
|
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
|
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
|
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 =
|
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
|
75
|
+
cli.stub(:require)
|
76
76
|
|
77
|
-
Cucumber::FeatureFile.stub
|
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
|
-
|
92
|
-
Object.stub
|
93
|
-
|
91
|
+
double = double('module')
|
92
|
+
Object.stub(:const_defined?).and_return(true)
|
93
|
+
double.stub(:const_defined?).and_return(true)
|
94
94
|
|
95
|
-
f =
|
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(
|
99
|
-
|
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(
|
102
|
-
|
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
|
115
|
-
configuration.stub
|
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 =
|
125
|
-
Configuration.stub
|
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 =
|
130
|
-
StepMother.stub
|
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
|
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
|
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
|
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
|
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
|
12
|
+
IO.stub(:read).with('cucumber.yml').and_return(cucumber_yml)
|
13
13
|
end
|
14
14
|
|
15
15
|
before(:each) do
|
16
|
-
File.stub
|
17
|
-
Kernel.stub
|
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
|
9
|
-
File.stub
|
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
|
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
|
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
|
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
|
@@ -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(
|
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 =
|
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) {
|
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 =
|
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(
|
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 =
|
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 =
|
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
|
|
@@ -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 =
|
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
|
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 =
|
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
|
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(
|
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 =
|
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(
|
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
|
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 =
|
30
|
+
m = double('thing')
|
31
31
|
m.should_receive(:foo)
|
32
|
-
|
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.
|
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-
|
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:
|
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:
|
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:
|
928
|
+
rubygems_version: 2.0.3
|
963
929
|
signing_key:
|
964
|
-
specification_version:
|
965
|
-
summary: cucumber-1.3.
|
930
|
+
specification_version: 4
|
931
|
+
summary: cucumber-1.3.3
|
966
932
|
test_files:
|
967
933
|
- features/assertions.feature
|
968
934
|
- features/background.feature
|