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.
- 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
|