Fix Drop#key? so it can handle a nil argument (#6281)
Merge pull request 6281
This commit is contained in:
parent
3fab69e3c9
commit
bd31986ad6
|
@ -72,7 +72,7 @@ module Jekyll
|
|||
def []=(key, val)
|
||||
if respond_to?("#{key}=")
|
||||
public_send("#{key}=", val)
|
||||
elsif respond_to? key
|
||||
elsif respond_to?(key.to_s)
|
||||
if self.class.mutable?
|
||||
@mutations[key] = val
|
||||
else
|
||||
|
@ -106,7 +106,7 @@ module Jekyll
|
|||
if self.class.mutable
|
||||
@mutations.key?(key)
|
||||
else
|
||||
respond_to?(key) || fallback_data.key?(key)
|
||||
!key.nil? && (respond_to?(key) || fallback_data.key?(key))
|
||||
end
|
||||
end
|
||||
|
||||
|
|
|
@ -15,6 +15,10 @@ class TestDrop < JekyllUnitTest
|
|||
@drop = @document.to_liquid
|
||||
end
|
||||
|
||||
should "reject 'nil' key" do
|
||||
refute @drop.key?(nil)
|
||||
end
|
||||
|
||||
should "raise KeyError if key is not found and no default provided" do
|
||||
assert_raises KeyError do
|
||||
@drop.fetch("not_existing_key")
|
||||
|
|
Loading…
Reference in New Issue