@@ -349,22 +349,38 @@ end
349349
350350@testset " string escaped newline whitespace" begin
351351 ts = collect (tokenize (" \" x\\\n \t y\" " ))
352- @test ts[1 ] ~ (T. DQUOTE , " \" " )
352+ @test ts[1 ] ~ (T. DQUOTE, " \" " )
353353 @test ts[2 ] ~ (T. STRING, " x" )
354354 @test ts[3 ] ~ (T. WHITESPACE, " \\\n \t " )
355355 @test ts[4 ] ~ (T. STRING, " y" )
356- @test ts[5 ] ~ (T. DQUOTE , " \" " )
356+ @test ts[5 ] ~ (T. DQUOTE, " \" " )
357+
358+ # No newline escape for raw strings
359+ ts = collect (tokenize (" r\" x\\\n y\" " ))
360+ @test ts[1 ] ~ (T. IDENTIFIER , " r" )
361+ @test ts[2 ] ~ (T. DQUOTE, " \" " )
362+ @test ts[3 ] ~ (T. STRING, " x\\\n y" )
363+ @test ts[4 ] ~ (T. DQUOTE , " \" " )
357364end
358365
359366@testset " triple quoted string line splitting" begin
360367 ts = collect (tokenize (" \"\"\"\n x\r\n y\r z\n\r\"\"\" " ))
361368 @test ts[1 ] ~ (T. TRIPLE_DQUOTE , " \"\"\" " )
362- @test ts[2 ] ~ (T. STRING, " \n " )
363- @test ts[3 ] ~ (T. STRING, " x\r\n " )
364- @test ts[4 ] ~ (T. STRING, " y\r " )
365- @test ts[5 ] ~ (T. STRING, " z\n " )
366- @test ts[6 ] ~ (T. STRING, " \r " )
367- @test ts[7 ] ~ (T. TRIPLE_DQUOTE, " \"\"\" " )
369+ @test ts[2 ] ~ (T. STRING , " \n " )
370+ @test ts[3 ] ~ (T. STRING , " x\r\n " )
371+ @test ts[4 ] ~ (T. STRING , " y\r " )
372+ @test ts[5 ] ~ (T. STRING , " z\n " )
373+ @test ts[6 ] ~ (T. STRING , " \r " )
374+ @test ts[7 ] ~ (T. TRIPLE_DQUOTE , " \"\"\" " )
375+
376+ # Also for raw strings
377+ ts = collect (tokenize (" r\"\"\"\n x\n y\"\"\" " ))
378+ @test ts[1 ] ~ (T. IDENTIFIER , " r" )
379+ @test ts[2 ] ~ (T. TRIPLE_DQUOTE , " \"\"\" " )
380+ @test ts[3 ] ~ (T. STRING , " \n " )
381+ @test ts[4 ] ~ (T. STRING , " x\n " )
382+ @test ts[5 ] ~ (T. STRING , " y" )
383+ @test ts[6 ] ~ (T. TRIPLE_DQUOTE , " \"\"\" " )
368384end
369385
370386@testset " interpolation" begin
0 commit comments