summaryrefslogtreecommitdiff
path: root/spec/ruby/core/kernel/shared
diff options
context:
space:
mode:
Diffstat (limited to 'spec/ruby/core/kernel/shared')
-rw-r--r--spec/ruby/core/kernel/shared/sprintf.rb18
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