From 3f5bd11ed651cef4f098c1d9dba16fe099e89a42 Mon Sep 17 00:00:00 2001 From: Yumin Wong Date: Fri, 31 Aug 2018 11:46:09 -0500 Subject: SafeBuffer should maintain safety upon getting a slice via a range if original buffer was safe. Co-Authored-By: no-itsbackpack --- activesupport/test/safe_buffer_test.rb | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'activesupport/test/safe_buffer_test.rb') diff --git a/activesupport/test/safe_buffer_test.rb b/activesupport/test/safe_buffer_test.rb index 9456bb8753..bf661a5f92 100644 --- a/activesupport/test/safe_buffer_test.rb +++ b/activesupport/test/safe_buffer_test.rb @@ -150,6 +150,18 @@ class SafeBufferTest < ActiveSupport::TestCase assert_not y.html_safe?, "should not be safe" end + test "Should continue safe on slice" do + x = "
foo
".html_safe + + assert x.html_safe?, "should be safe" + + # getting a slice of it + y = x[0..-1] + + # should still be safe + assert y.html_safe?, "should be safe" + end + test "Should work with interpolation (array argument)" do x = "foo %s bar".html_safe % ["qux"] assert_equal "foo qux bar", x -- cgit v1.2.3