public void NoEscapesReturnsNull() { String input = "\"some string\""; var parser = new CStringScanner(input); Assert.Equal(null, parser.Next()); }
public void PercentAtEndOfStringDoesntReturnAnything() { String input = "\"" + @"some %" + "\""; var parser = new CStringScanner(input); Assert.Equal(null, parser.Next()); }
public void NoSequencesInIncludeStringAreExtracted() { String input = "<\"" + @"some\rother\nstring" + "\">"; var parser = new CStringScanner(input); Assert.Equal(null, parser.Next()); }
public void DoesNotExtractPercentPercent() { String input = "\"" + @"some %% value" + "\""; var parser = new CStringScanner(input); Assert.Equal(null, parser.Next()); }
public void Cpp11RawStringYieldsNoSequences() { String input = "R\"" + @"some\rstring" + "\""; var parser = new CStringScanner(input); Assert.Equal(null, parser.Next()); }
public void U4EscapeSequenceIsExtracted() { String input = "\"" + @"some\uABCDstring" + "\""; var parser = new CStringScanner(input); Assert.Equal(new StringPart(5, 6), parser.Next()); Assert.Equal(null, parser.Next()); }
public void EscapeInSingleQuotesIsExtracted() { String input = @"'some\rstring'"; var parser = new CStringScanner(input); Assert.Equal(new StringPart(5, 2), parser.Next()); Assert.Equal(null, parser.Next()); }
public void EscapedBackslashIsExtractedCorrectly() { String input = "\"" + @"some\\string" + "\""; var parser = new CStringScanner(input); Assert.Equal(new StringPart(5, 2), parser.Next()); Assert.Equal(null, parser.Next()); }
public void PartialFormatSpecReturnsSomething() { String input = "\"" + @"some %02" + "\""; var parser = new CStringScanner(input); Assert.Equal(new StringPart(6, 3, StringPartType.FormatSpecifier), parser.Next()); Assert.Equal(null, parser.Next()); }
public void ComplexFormatSpecifierIsExtracted() { String input = "\"" + @"some %08x value" + "\""; var parser = new CStringScanner(input); Assert.Equal(new StringPart(6, 4, StringPartType.FormatSpecifier), parser.Next()); Assert.Equal(null, parser.Next()); }
public void TwoSeparateEscapeSequencesAreExtracted() { String input = "\"" + @"some\rother\nstring" + "\""; var parser = new CStringScanner(input); Assert.Equal(new StringPart(5, 2), parser.Next()); Assert.Equal(new StringPart(12, 2), parser.Next()); Assert.Equal(null, parser.Next()); }