コード例 #1
0
        private IEnumerable <Instruction> ParseMarkupExtension(string valueOfMember)
        {
            var tree = MarkupExtensionParser.MarkupExtension.Parse(valueOfMember);
            var markupExtensionConverter = new MarkupExtensionNodeToXamlNodesConverter(typeSource);

            return(markupExtensionConverter.ParseMarkupExtensionNode(tree));
        }
コード例 #2
0
        public void NameOnly()
        {
            var tree                 = new MarkupExtensionNode(new IdentifierNode("DummyExtension"));
            var sut                  = new MarkupExtensionNodeToXamlNodesConverter(RuntimeTypeSource);
            var actualNodes          = sut.ParseMarkupExtensionNode(tree).ToList();
            var expectedInstructions = new List <Instruction>
            {
                X.StartObject <DummyExtension>(),
                X.EndObject(),
            };

            Assert.Equal(expectedInstructions, actualNodes);
        }
        public void NameOnly()
        {
            var tree                 = new MarkupExtensionNode(new IdentifierNode("DummyExtension"));
            var sut                  = new MarkupExtensionNodeToXamlNodesConverter(WiringContext);
            var actualNodes          = sut.ParseMarkupExtensionNode(tree).ToList();
            var expectedInstructions = new List <XamlInstruction>
            {
                X.StartObject <DummyExtension>(),
                X.EndObject(),
            };

            CollectionAssert.AreEqual(expectedInstructions, actualNodes);
        }
コード例 #4
0
        public void NameAndAttribute()
        {
            var tree = new MarkupExtensionNode(new IdentifierNode("DummyExtension"), new OptionsCollection {
                new PropertyOption("Property", new StringNode("Value"))
            });
            var sut         = new MarkupExtensionNodeToXamlNodesConverter(RuntimeTypeSource);
            var actualNodes = sut.ParseMarkupExtensionNode(tree).ToList();

            var expectedInstructions = new List <Instruction>
            {
                X.StartObject <DummyExtension>(),
                X.StartMember <DummyExtension>(d => d.Property),
                X.Value("Value"),
                X.EndMember(),
                X.EndObject(),
            };

            Assert.Equal(expectedInstructions, actualNodes);
        }
コード例 #5
0
        public void PositionalOption()
        {
            var tree = new MarkupExtensionNode(new IdentifierNode("DummyExtension"), new OptionsCollection
            {
                new PositionalOption("Option")
            });
            var sut         = new MarkupExtensionNodeToXamlNodesConverter(RuntimeTypeSource);
            var actualNodes = sut.ParseMarkupExtensionNode(tree).ToList();

            var expectedInstructions = new Collection <Instruction>
            {
                X.StartObject <DummyExtension>(),
                X.MarkupExtensionArguments(),
                X.Value("Option"),
                X.EndMember(),
                X.EndObject(),
            };

            Assert.Equal(expectedInstructions, actualNodes);
        }
コード例 #6
0
        public void ComposedExtensionTemplateBindingWithConverter()
        {
            var tree        = MarkupExtensionNodeResources.ComposedExtensionTemplateBindingWithConverter();
            var sut         = new MarkupExtensionNodeToXamlNodesConverter(RuntimeTypeSource);
            var actualNodes = sut.ParseMarkupExtensionNode(tree).ToList();

            var expectedInstructions = new Collection <Instruction>
            {
                X.StartObject <TemplateBindingExtension>(),
                X.StartMember <TemplateBindingExtension>(d => d.Path),
                X.Value("IsFloatingWatermarkVisible"),
                X.EndMember(),
                X.StartMember <TemplateBindingExtension>(d => d.Converter),
                X.StartObject <TypeExtension>(),
                X.MarkupExtensionArguments(),
                X.Value("FooBar"),
                X.EndMember(),
                X.EndObject(),
                X.EndMember(),
                X.EndObject(),
            };

            Assert.Equal(expectedInstructions, actualNodes);
        }
        public void NameAndTwoAttributes()
        {
            var tree = new MarkupExtensionNode(new IdentifierNode("DummyExtension"), new OptionsCollection
            {
                new PropertyOption("Property", new StringNode("Value")),
                new PropertyOption("AnotherProperty", new StringNode("AnotherValue")),
            });
            var sut         = new MarkupExtensionNodeToXamlNodesConverter(WiringContext);
            var actualNodes = sut.ParseMarkupExtensionNode(tree).ToList();

            var expectedInstructions = new List <XamlInstruction>
            {
                X.StartObject <DummyExtension>(),
                X.StartMember <DummyExtension>(d => d.Property),
                X.Value("Value"),
                X.EndMember(),
                X.StartMember <DummyExtension>(d => d.AnotherProperty),
                X.Value("AnotherValue"),
                X.EndMember(),
                X.EndObject(),
            };

            CollectionAssert.AreEqual(expectedInstructions, actualNodes);
        }
コード例 #8
0
 private IEnumerable<XamlNode> ParseMarkupExtension(string valueOfMember)
 {
     var tree = MarkupExtensionParser.MarkupExtension.Parse(valueOfMember);
     var markupExtensionConverter = new MarkupExtensionNodeToXamlNodesConverter(wiringContext);
     return markupExtensionConverter.Convert(tree);
 }
コード例 #9
0
 private IEnumerable<Instruction> ParseMarkupExtension(string valueOfMember)
 {
     var tree = MarkupExtensionParser.MarkupExtension.Parse(valueOfMember);
     var markupExtensionConverter = new MarkupExtensionNodeToXamlNodesConverter(typeSource);
     return markupExtensionConverter.ParseMarkupExtensionNode(tree);
 }