File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -47,13 +47,19 @@ def self.serialize(value)
4747 def self . escape_single_quoted_newlines ( query_str )
4848 scanner = StringScanner . new ( query_str )
4949 inside_single_quoted_string = false
50+ inside_triple_quoted_string = false
5051 new_query_str = nil
5152 while !scanner . eos?
52- if scanner . skip ( /(?:\\ "|[^"\n \r ]|""")+/m )
53+ if scanner . skip ( '"""' )
54+ inside_triple_quoted_string = !inside_triple_quoted_string
55+ new_query_str && ( new_query_str << scanner . matched )
56+ elsif scanner . skip ( /(?:\\ "|[^"\n \r ])+/m )
5357 new_query_str && ( new_query_str << scanner . matched )
5458 elsif scanner . skip ( '"' )
5559 new_query_str && ( new_query_str << '"' )
56- inside_single_quoted_string = !inside_single_quoted_string
60+ if !inside_triple_quoted_string
61+ inside_single_quoted_string = !inside_single_quoted_string
62+ end
5763 elsif scanner . skip ( "\n " )
5864 if inside_single_quoted_string
5965 new_query_str ||= query_str [ 0 , scanner . pos - 1 ]
Original file line number Diff line number Diff line change 7272 # No modification to block strings:
7373 "{ a(\" \" \" \n abc\n \" \" \" ) }" => "{ a(\" \" \" \n abc\n \" \" \" ) }" ,
7474 "{ a(\" \" \" \r \n abc\r \n \" \" \" ) }" => "{ a(\" \" \" \r \n abc\r \n \" \" \" ) }" ,
75+ "{ x(s: \" \" \" The user said \" Did\n \" you change my input ?\" \" \" ) }" => "{ x(s: \" \" \" The user said \" Did\n \" you change my input ?\" \" \" ) }" ,
7576 }
7677
7778 replacements . each_with_index do |( before_str , after_str ) , idx |
You can’t perform that action at this time.
0 commit comments