What I tried to do
Using I18n.exists?(key) when the key is nil
What I expected to happen
Expect I18n.exists?(nil) to throw I18n::ArgumentError or return false
What actually happened
It returns true
Versions of i18n, rails, and anything else you think is necessary
The issue seems to come from this line.
Is there a specific reason why the line only checks if key is empty when it's string, instead of doing raise I18n::ArgumentError if !key.is_a?(String) || key.empty?
What I tried to do
Using
I18n.exists?(key)when the key is nilWhat I expected to happen
Expect
I18n.exists?(nil)to throwI18n::ArgumentErroror return falseWhat actually happened
It returns true
Versions of i18n, rails, and anything else you think is necessary
The issue seems to come from this line.
Is there a specific reason why the line only checks if key is empty when it's string, instead of doing
raise I18n::ArgumentError if !key.is_a?(String) || key.empty?