Ejemplo n.º 1
0
        public void Walk_IndentedNode_WritesIndent()
        {
            const string indent = "  ";
            var          node   = new HamlNodeTextContainer(new HamlLine("Content", HamlRuleEnum.PlainText, indent, 0));

            _walker.Walk(node);

            Assert.That(_mockClassBuilder.Build(""), Is.StringStarting(indent));
        }
Ejemplo n.º 2
0
        public void WalkChildren_TextNode_WalksTextNode()
        {
            const string testText = "Hello world";
            var          document = HamlDocumentBuilder.Create("",
                                                               new HamlNodeTextContainer(new HamlLine(testText, HamlRuleEnum.PlainText, "", 0)));

            _walker.Walk(document);

            Assert.That(_classBuilderMock.Build(""), Is.StringContaining(testText));
        }
Ejemplo n.º 3
0
        public void Walk_ValidNode_AppendsCorrectOutput()
        {
            // Arrange
            string comment = "Comment";
            var    node    = new HamlNodeHtmlComment(new HamlLine(comment, HamlRuleEnum.HtmlComment, "", 0));

            // Act
            _walker.Walk(node);

            // Assert
            Assert.That(_classBuilderMock.Build(""), Is.EqualTo("<!--" + comment + " -->"));
        }
Ejemplo n.º 4
0
        public void Walk_ValidNode_DoesNotGenerateContent()
        {
            var node         = new HamlNodeCode(new HamlLine("1+1", HamlRuleEnum.Code, "", -1));
            var classBuilder = new ClassBuilderMock();
            var walker       = new HamlNodeCodeWalker(classBuilder, new HamlHtmlOptions());

            walker.Walk(node);

            Assert.That(classBuilder.Build(""), Is.EqualTo(""));
        }
Ejemplo n.º 5
0
        public void Walk_VaryingAttributeCollections_WritesCorrectAttributes(string hamlLine, string expectedTag)
        {
            var node = new HamlNodeHtmlAttributeCollection(0, hamlLine);

            var builder = new ClassBuilderMock();

            new HamlNodeHtmlAttributeCollectionWalker(builder, new HamlHtmlOptions())
            .Walk(node);

            Assert.That(builder.Build(""), Is.EqualTo(expectedTag));
        }
Ejemplo n.º 6
0
        public void Walk_ConditionalWithChildNode_RendersChildNode()
        {
            const string dummyText = "Hello";
            var          node      = new HamlNodeCode(new HamlLine("if (true)", HamlRuleEnum.Code, "", -1));

            node.AddChild(new HamlNodeTextContainer(0, dummyText));
            var classBuilder = new ClassBuilderMock();

            var walker = new HamlNodeCodeWalker(classBuilder, new HamlHtmlOptions());

            walker.Walk(node);

            Assert.That(classBuilder.Build(""), Is.EqualTo(dummyText));
        }
Ejemplo n.º 7
0
        public void Walk_TextNode_AppendsCorrectTag()
        {
            // Arrange
            var content  = new HamlLine("Simple content", HamlRuleEnum.PlainText, "", 0);
            var document = HamlDocumentBuilder.Create("",
                                                      new HamlNodeTextContainer(content));
            Type baseType = typeof(Template);

            // Act
            var builder = new ClassBuilderMock();

            new HamlDocumentWalker(builder).Walk(document, "", baseType, new List <string>());

            // Assert
            Assert.That(builder.Build(""), Is.EqualTo(content.Content));
        }
Ejemplo n.º 8
0
        public void Walk_NonSelfClosingTags_AppendsCorrectTag(string templateLine, string expectedOutput)
        {
            // Arrange
            var tagNode = new HamlNodeTag(new HamlLine(templateLine, HamlRuleEnum.Tag, "", 0));

            // Act
            _tagWalker.Walk(tagNode);

            // Assert
            Assert.That(_classBuilderMock.Build(""), Is.StringContaining(expectedOutput));
        }