next if subvalue.nil?
subvalue.scan(/%\{(\w+)\}/) do
- assert variables.include?(Regexp.last_match(1)), "#{key}.#{subkey} uses unknown interpolation variable #{Regexp.last_match(1)}"
+ assert_includes variables, Regexp.last_match(1), "#{key}.#{subkey} uses unknown interpolation variable #{Regexp.last_match(1)}"
end
end
+
+ assert_includes value, :other, "#{key}.other plural key missing"
else
assert value.is_a?(String), "#{key} is not a string"
value.scan(/%\{(\w+)\}/) do
- assert variables.include?(Regexp.last_match(1)), "#{key} uses unknown interpolation variable #{Regexp.last_match(1)}"
+ assert_includes variables, Regexp.last_match(1), "#{key} uses unknown interpolation variable #{Regexp.last_match(1)}"
end
end
end
- assert %w[ltr rtl].include?(I18n.t("html.dir", :locale => locale)), "html.dir must be ltr or rtl"
+ assert_includes %w[ltr rtl], I18n.t("html.dir", :locale => locale), "html.dir must be ltr or rtl"
end
end
end
I18n.t(scope || ".", :locale => I18n.default_locale).map do |key, value|
scoped_key = scope ? "#{scope}.#{key}" : key
- if value.is_a?(Hash)
+ case value
+ when Hash
if value.keys - plural_keys == []
scoped_key
else
translation_keys(scoped_key)
end
- elsif value.is_a?(String)
+ when String
scoped_key
end
end.flatten