diff options
Diffstat (limited to 'spec/ruby/core/kernel/shared')
| -rw-r--r-- | spec/ruby/core/kernel/shared/sprintf.rb | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/spec/ruby/core/kernel/shared/sprintf.rb b/spec/ruby/core/kernel/shared/sprintf.rb index e595a06640..9935d27db9 100644 --- a/spec/ruby/core/kernel/shared/sprintf.rb +++ b/spec/ruby/core/kernel/shared/sprintf.rb @@ -1,3 +1,5 @@ +require File.expand_path('../../../../shared/hash/key_error', __FILE__) + describe :kernel_sprintf, shared: true do def format(*args) @method.call(*args) @@ -823,12 +825,6 @@ describe :kernel_sprintf, shared: true do format("%d %<foo>d", 1, foo: "123") }.should raise_error(ArgumentError) end - - it "raises KeyError when there is no matching key" do - -> () { - format("%<foo>s", {}) - }.should raise_error(KeyError) - end end describe "%{name} style" do @@ -868,4 +864,14 @@ describe :kernel_sprintf, shared: true do end end end + + describe "faulty key" do + before :all do + @base_method = @method + end + + it_behaves_like :key_error, -> (obj, key) { + @base_method.call("%<#{key}>s", obj) + }, { foooo: 1 } + end end |
