rubygem-actionpack/CVE-2024-26143-test.patch
2024-02-28 10:29:35 +08:00

50 lines
2.0 KiB
Diff

diff --git a/actionpack/test/abstract/translation_test.rb b/actionpack/test/abstract/translation_test.rb
index 1c0b51c4ed2fc..eca90040c8ca7 100644
--- a/actionpack/test/abstract/translation_test.rb
+++ b/actionpack/test/abstract/translation_test.rb
@@ -93,6 +93,22 @@ def test_default_translation
end
end
+ def test_default_translation_as_safe_html
+ @controller.stub :action_name, :index do
+ translation = @controller.t(".twoz", default: ["<tag>"])
+ assert_equal "&lt;tag&gt;", translation
+ assert_equal true, translation.html_safe?
+ end
+ end
+
+ def test_default_translation_with_raise_as_safe_html
+ @controller.stub :action_name, :index do
+ translation = @controller.t(".twoz", raise: true, default: ["<tag>"])
+ assert_equal "&lt;tag&gt;", translation
+ assert_equal true, translation.html_safe?
+ end
+ end
+
def test_localize
time, expected = Time.gm(2000), "Sat, 01 Jan 2000 00:00:00 +0000"
I18n.stub :localize, expected do
@@ -136,6 +152,21 @@ def test_translate_escapes_interpolations_in_translations_with_a_html_suffix
assert_equal true, translation.html_safe?
end
end
+
+ def test_translate_marks_translation_with_missing_html_key_as_safe_html
+ @controller.stub :action_name, :index do
+ translation = @controller.t("<tag>.html")
+ assert_equal "translation missing: <tag>.html", translation
+ assert_equal false, translation.html_safe?
+ end
+ end
+ def test_translate_marks_translation_with_missing_nested_html_key_as_safe_html
+ @controller.stub :action_name, :index do
+ translation = @controller.t(".<tag>.html")
+ assert_equal "translation missing: abstract_controller.testing.translation.index.<tag>.html", translation
+ assert_equal false, translation.html_safe?
+ end
+ end
end
end
end