示例#1
0
        public void Test2()
        {
            var classBlock = new ClassBlock("TestClass");

            var method1 = new MethodBlock("LoopName");

            method1.Parameters = new FieldBlock[]
            {
                new FieldBlock("name", typeof(string).ToDynamic())
            };

            IfBlock   if1   = new IfBlock();
            ElseBlock else1 = new ElseBlock();

            if1.Condition = new OperationBlock(
                new GetterBlock(method1.Parameters[0], new PropertyBlock("Length", null)),
                OperationType.Equal,
                new ValueBlock(3));

            if1.Add(new ReturnBlock(method1.Parameters[0]));

            else1.Add(new ReturnBlock(new ValueBlock("!")));

            method1.Add(if1);
            method1.Add(else1);

            classBlock.AddMethod(method1);
        }
 public void ShouldNotConvertElementBlocksInLessDomToCssDomIfInNestedFalseIfBlock()
 {
     var root = new ElementBlock("*");
     var ifBlock = new IfBlock(new BoolExpression(new List<INode> {new Bool(false)}));
     root.Add(ifBlock);
     ifBlock.Add(GetElementBlock());
     var cssDocument = converter.BuildCssDocument(root);
     Assert.That(cssDocument.Elements.Count, Is.EqualTo(0));
 }
示例#3
0
        public override CssNode CloneNode()
        {
            var block = new IfBlock(Condition);

            foreach (var child in children)
            {
                block.Add(child.CloneNode());
            }

            return(block);
        }