@@ -349,22 +349,38 @@ end
349
349
350
350
@testset " string escaped newline whitespace" begin
351
351
ts = collect (tokenize (" \" x\\\n \t y\" " ))
352
- @test ts[1 ] ~ (T. DQUOTE , " \" " )
352
+ @test ts[1 ] ~ (T. DQUOTE, " \" " )
353
353
@test ts[2 ] ~ (T. STRING, " x" )
354
354
@test ts[3 ] ~ (T. WHITESPACE, " \\\n \t " )
355
355
@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 , " \" " )
357
364
end
358
365
359
366
@testset " triple quoted string line splitting" begin
360
367
ts = collect (tokenize (" \"\"\"\n x\r\n y\r z\n\r\"\"\" " ))
361
368
@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 , " \"\"\" " )
368
384
end
369
385
370
386
@testset " interpolation" begin
0 commit comments