public void ConstructorInitializesProperties() { // Arrange LookaheadTextReader expectedBuffer = new BufferingTextReader(TextReader.Null); CSharpCodeParser expectedCodeParser = new CSharpCodeParser(); HtmlMarkupParser expectedMarkupParser = new HtmlMarkupParser(); ParserVisitor expectedListener = new Mock<ParserVisitor>().Object; // Act ParserContext context = new ParserContext(expectedBuffer, expectedCodeParser, expectedMarkupParser, expectedCodeParser, expectedListener); // Assert Assert.IsInstanceOfType(context.Source, typeof(BufferingTextReader)); Assert.AreSame(expectedBuffer, context.Source); Assert.AreSame(expectedCodeParser, context.CodeParser); Assert.AreSame(expectedMarkupParser, context.MarkupParser); Assert.AreSame(expectedCodeParser, context.ActiveParser); Assert.AreSame(expectedListener, context.Visitor); }
private static List<Span> ParseDocument(string documentContents, List<RazorError> errors = null) { errors = errors ?? new List<RazorError>(); var reader = new BufferingTextReader(new StringReader(documentContents)); var markupParser = new HtmlMarkupParser(); var parserConsumerMock = new Mock<ParserVisitor>(); List<Span> spans = new List<Span>(); parserConsumerMock.Setup(consumer => consumer.VisitSpan(It.IsAny<Span>())).Callback<Span>(span => spans.Add(span)); parserConsumerMock.Setup(consumer => consumer.VisitError(It.IsAny<RazorError>())).Callback<RazorError>(error => errors.Add(error)); var codeParser = new TestMvcVBRazorCodeParser(); var context = new ParserContext(reader, codeParser, markupParser, markupParser, parserConsumerMock.Object); codeParser.Context = context; markupParser.Context = context; markupParser.ParseDocument(); return spans; }
private static void RunDisposeTest(Action<LookaheadTextReader> triggerAction) { // Arrange DisposeTestMockTextReader source = new DisposeTestMockTextReader(); LookaheadTextReader reader = new BufferingTextReader(source); // Act triggerAction(reader); // Assert Assert.True(source.Disposed); }
public void BacktrackBufferIsClearedWhenEndReachedAndNoCurrentLookaheads() { // Arrange StringReader source = new StringReader(TestString); BufferingTextReader reader = new BufferingTextReader(source); reader.Read(); // Reader: "bcdefg" using (reader.BeginLookahead()) { reader.Read(); // Reader: "cdefg" } // Reader: "bcdefg" reader.Read(); // Reader: "cdefg" Assert.NotNull(reader.Buffer); // Verify our assumption that the buffer still exists // Act reader.Read(); // Assert Assert.False(reader.Buffering, "The buffer was not reset when the end was reached"); Assert.Equal(0, reader.Buffer.Length); }