public void NoEscapesReturnsNull() { String input = "\"some string\""; var parser = new RStringScanner(input); Assert.Equal(null, parser.Next()); }
public void U1EscapeSequenceIsExtracted() { String input = "\"" + @"some\uAstring" + "\""; var parser = new RStringScanner(input); Assert.Equal(new StringPart(5, 3), parser.Next()); Assert.Equal(null, parser.Next()); }
public void EscapeInSingleQuotesIsExtracted() { String input = @"'some\rstring'"; var parser = new RStringScanner(input); Assert.Equal(new StringPart(5, 2), parser.Next()); Assert.Equal(null, parser.Next()); }
public void EscapedBackslashIsExtractedCorrectly() { String input = "\"" + @"some\\string" + "\""; var parser = new RStringScanner(input); Assert.Equal(new StringPart(5, 2), parser.Next()); Assert.Equal(null, parser.Next()); }
public void TwoSeparateEscapeSequencesAreExtracted() { String input = "\"" + @"some\rother\nstring" + "\""; var parser = new RStringScanner(input); Assert.Equal(new StringPart(5, 2), parser.Next()); Assert.Equal(new StringPart(12, 2), parser.Next()); Assert.Equal(null, parser.Next()); }