mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
Update to ruby/spec@875a09e
This commit is contained in:
parent
a06301b103
commit
5c276e1cc9
1247 changed files with 5316 additions and 5028 deletions
|
@ -4,10 +4,10 @@ require_relative '../../shared/hash/key_error'
|
|||
|
||||
describe "Hash#fetch" do
|
||||
context "when the key is not found" do
|
||||
it_behaves_like :key_error, ->(obj, key) { obj.fetch(key) }, Hash.new(a: 5)
|
||||
it_behaves_like :key_error, ->(obj, key) { obj.fetch(key) }, {}
|
||||
it_behaves_like :key_error, ->(obj, key) { obj.fetch(key) }, Hash.new { 5 }
|
||||
it_behaves_like :key_error, ->(obj, key) { obj.fetch(key) }, Hash.new(5)
|
||||
it_behaves_like :key_error, -> obj, key { obj.fetch(key) }, Hash.new(a: 5)
|
||||
it_behaves_like :key_error, -> obj, key { obj.fetch(key) }, {}
|
||||
it_behaves_like :key_error, -> obj, key { obj.fetch(key) }, Hash.new { 5 }
|
||||
it_behaves_like :key_error, -> obj, key { obj.fetch(key) }, Hash.new(5)
|
||||
|
||||
it "formats the object with #inspect in the KeyError message" do
|
||||
-> {
|
||||
|
@ -31,14 +31,14 @@ describe "Hash#fetch" do
|
|||
end
|
||||
|
||||
it "gives precedence to the default block over the default argument when passed both" do
|
||||
lambda {
|
||||
-> {
|
||||
@result = {}.fetch(9, :foo) { |i| i * i }
|
||||
}.should complain(/block supersedes default value argument/)
|
||||
@result.should == 81
|
||||
end
|
||||
|
||||
it "raises an ArgumentError when not passed one or two arguments" do
|
||||
lambda { {}.fetch() }.should raise_error(ArgumentError)
|
||||
lambda { {}.fetch(1, 2, 3) }.should raise_error(ArgumentError)
|
||||
-> { {}.fetch() }.should raise_error(ArgumentError)
|
||||
-> { {}.fetch(1, 2, 3) }.should raise_error(ArgumentError)
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue