From 84f14ff08925889964cd5e7ed0bfc9ee8fcefce2 Mon Sep 17 00:00:00 2001 From: Jemma Issroff Date: Fri, 15 Dec 2023 16:28:29 -0500 Subject: [PRISM] Pre-concatenate Strings in InterpolatedStringNode This commit concatenates String VALUEs within InterpolatedStringNodes to allow us to preserve frozenness of concatenated strings such as `"a""b"` Co-authored-by: Aaron Patterson --- test/ruby/test_compile_prism.rb | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'test/ruby') diff --git a/test/ruby/test_compile_prism.rb b/test/ruby/test_compile_prism.rb index 965f3d3c91..78800fed7c 100644 --- a/test/ruby/test_compile_prism.rb +++ b/test/ruby/test_compile_prism.rb @@ -589,6 +589,17 @@ module Prism assert_prism_eval('$pit = 1; "1 #$pit 1"') assert_prism_eval('"1 #{1 + 2} 1"') assert_prism_eval('"Prism" "::" "TestCompilePrism"') + assert_prism_eval('("a""b").frozen?') + assert_prism_eval(<<-CODE) + # frozen_string_literal: true + + ("a""b").frozen? + CODE + assert_prism_eval(<<-CODE) + # frozen_string_literal: true + + ("a""b""#{1}").frozen? + CODE end def test_InterpolatedSymbolNode -- cgit v1.2.3