Пример #1
0
        public void InstrumentationPass_SkipsHtml_WithoutLocation()
        {
            // Arrange
            var document = new DocumentIntermediateNode()
            {
                Options = RazorCodeGenerationOptions.CreateDefault(),
            };

            var builder = IntermediateNodeBuilder.Create(document);

            builder.Push(new HtmlContentIntermediateNode());
            builder.Add(new IntermediateToken()
            {
                Content = "Hi",
                Kind    = TokenKind.Html,
            });
            builder.Pop();

            var pass = new InstrumentationPass()
            {
                Engine = RazorProjectEngine.CreateEmpty().Engine,
            };

            // Act
            pass.Execute(TestRazorCodeDocument.CreateEmpty(), document);

            // Assert
            Children(
                document,
                n => IntermediateNodeAssert.Html("Hi", n));
        }
        public void InstrumentationPass_InstrumentsHtml()
        {
            // Arrange
            var document = new DocumentIntermediateNode();
            var builder  = IntermediateNodeBuilder.Create(document);

            builder.Push(new HtmlContentIntermediateNode()
            {
                Source = CreateSource(1),
            });
            builder.Add(new IntermediateToken()
            {
                Content = "Hi",
                Kind    = TokenKind.Html,
                Source  = CreateSource(1)
            });
            builder.Pop();

            var pass = new InstrumentationPass()
            {
                Engine = RazorEngine.CreateEmpty(b => { }),
            };

            // Act
            pass.Execute(TestRazorCodeDocument.CreateEmpty(), document);

            // Assert
            Children(
                document,
                n => BeginInstrumentation("1, 1, true", n),
                n => IntermediateNodeAssert.Html("Hi", n),
                n => EndInstrumentation(n));
        }