示例#1
0
        public void WriteHtmlContent_LargeStringLiteral_UsesMultipleWrites()
        {
            // Arrange
            var codeWriter = new CodeWriter();
            var writer     = new RuntimeNodeWriter();
            var context    = TestCodeRenderingContext.CreateRuntime();

            var node = new HtmlContentIntermediateNode();

            node.Children.Add(new IntermediateToken()
            {
                Content = new string('*', 2000),
                Kind    = TokenKind.Html,
            });

            // Act
            writer.WriteHtmlContent(context, node);

            // Assert
            var csharp = context.CodeWriter.GenerateCode();

            Assert.Equal(string.Format(
                             @"WriteLiteral(@""{0}"");
WriteLiteral(@""{1}"");
", new string('*', 1024), new string('*', 976)),
                         csharp,
                         ignoreLineEndingDifferences: true);
        }
示例#2
0
        public void WriteHtmlContent_RendersContentCorrectly()
        {
            // Arrange
            var codeWriter = new CodeWriter();
            var writer     = new RuntimeNodeWriter();
            var context    = TestCodeRenderingContext.CreateRuntime();

            var node = new HtmlContentIntermediateNode();

            node.Children.Add(new IntermediateToken()
            {
                Content = "SomeContent",
                Kind    = TokenKind.Html,
            });

            // Act
            writer.WriteHtmlContent(context, node);

            // Assert
            var csharp = context.CodeWriter.GenerateCode();

            Assert.Equal(
                @"WriteLiteral(""SomeContent"");
",
                csharp,
                ignoreLineEndingDifferences: true);
        }