@@ -974,6 +974,47 @@ public void Lex_WhiteSpaceStringToken_HasStringKind()
974
974
token . Kind . ShouldBe ( TokenKind . STRING ) ;
975
975
}
976
976
977
+ [ Theory ]
978
+ [ InlineData ( "test" , "test" ) ]
979
+ [ InlineData ( "te\\ \" \" \" st" , "te\" \" \" st" ) ]
980
+ [ InlineData ( "\n test" , "test" ) ]
981
+ [ InlineData ( "\r \n test" , "test" ) ]
982
+ [ InlineData ( " \n test" , "test" ) ]
983
+ [ InlineData ( "\t \n test" , "test" ) ]
984
+ [ InlineData ( "\n \n test" , "test" ) ]
985
+ [ InlineData ( "test\n line2" , "test\n line2" ) ]
986
+ [ InlineData ( "test\r line2" , "test\n line2" ) ]
987
+ [ InlineData ( "test\r \n line2" , "test\n line2" ) ]
988
+ [ InlineData ( "test\r \r \n line2" , "test\n \n line2" ) ]
989
+ [ InlineData ( "test\r \n \n line2" , "test\n \n line2" ) ]
990
+ [ InlineData ( "test\n " , "test" ) ]
991
+ [ InlineData ( "test\n " , "test" ) ]
992
+ [ InlineData ( "test\n \t " , "test" ) ]
993
+ [ InlineData ( "test\n \n " , "test" ) ]
994
+ [ InlineData ( "test\n line2" , "test\n line2" ) ]
995
+ [ InlineData ( "test\n \t \t line2" , "test\n line2" ) ]
996
+ [ InlineData ( "test\n \t line2" , "test\n line2" ) ]
997
+ [ InlineData ( " test\n line2" , " test\n line2" ) ]
998
+ [ InlineData ( " test\n line2" , " test\n line2" ) ]
999
+ [ InlineData ( "\n test\n line2" , "test\n line2" ) ]
1000
+ [ InlineData ( " test\n line2\n \t \t line3\n line4" , " test\n line2\n \t line3\n line4" ) ]
1001
+ [ InlineData ( " test\n Hello,\n \n world!\n " , " test\n Hello,\n \n world!" ) ]
1002
+ [ InlineData ( " \n Hello,\r \n \n world!\n " , "Hello,\n \n world!" ) ]
1003
+ [ InlineData ( " \n Hello,\r \n \n wor___ld!\n " , "Hello,\n \n wor___ld!" ) ]
1004
+ [ InlineData ( "\r \n Hello,\r \n World!\r \n \r \n Yours,\r \n GraphQL.\r \n " , "Hello,\n World!\n \n Yours,\n GraphQL." ) ]
1005
+ [ InlineData ( "Test \\ n escaping" , "Test \\ n escaping" ) ]
1006
+ [ InlineData ( "Test \\ u1234 escaping" , "Test \\ u1234 escaping" ) ]
1007
+ [ InlineData ( "Test \\ escaping" , "Test \\ escaping" ) ]
1008
+ public void Lex_BlockString_Tests ( string input , string expected )
1009
+ {
1010
+ input = input . Replace ( "___" , new string ( '_' , 9000 ) ) ;
1011
+ expected = expected . Replace ( "___" , new string ( '_' , 9000 ) ) ;
1012
+ input = "\" \" \" " + input + "\" \" \" " ;
1013
+ var actual = input . Lex ( ) ;
1014
+ actual . Kind . ShouldBe ( TokenKind . STRING ) ;
1015
+ actual . Value . ToString ( ) . ShouldBe ( expected ) ;
1016
+ }
1017
+
977
1018
private static Token GetATPunctuationTokenLexer ( )
978
1019
{
979
1020
return "@" . Lex ( ) ;
0 commit comments