Пример #1
0
        public object Parse(IXmlReader stream)
        {
            var xamlProtoNodes = protoParser.Parse(stream);
            var xamlNodes      = parser.Parse(xamlProtoNodes);

            return(Parse(xamlNodes));
        }
Пример #2
0
        public IEnumerable <XamlInstruction> Parse(IEnumerable <ProtoXamlInstruction> protoNodes)
        {
            var nodeSorter    = new MemberDependencyNodeSorter();
            var originalNodes = parser.Parse(protoNodes);
            var enumerator    = originalNodes.GetEnumerator();

            return(nodeSorter.Sort(enumerator));
        }
        public void SimpleExtension()
        {
            var input = new List <ProtoXamlInstruction>
            {
                P.NamespacePrefixDeclaration(RootNs),
                P.EmptyElement(typeof(DummyClass), RootNs),
                P.Attribute <DummyClass>(d => d.SampleProperty, "{Dummy}", RootNs.Prefix),
            };

            var expectedInstructions = new List <XamlInstruction>
            {
                X.NamespacePrefixDeclaration(RootNs),
                X.StartObject(typeof(DummyClass)),
                X.StartMember <DummyClass>(d => d.SampleProperty),
                X.StartObject(typeof(DummyExtension)),
                X.EndObject(),
                X.EndMember(),
                X.EndObject(),
            };

            var actualNodes = sut.Parse(input).ToList();

            CollectionAssert.AreEqual(expectedInstructions, actualNodes);
        }
Пример #4
0
        public void NamespaceDeclarationOnly()
        {
            var input = new List <ProtoXamlInstruction>
            {
                P.NamespacePrefixDeclaration(RootNs),
            };

            var expectedInstructions = new List <XamlInstruction>
            {
                X.NamespacePrefixDeclaration(RootNs),
            };


            var actualNodes = sut.Parse(input);

            CollectionAssert.AreEqual(expectedInstructions.ToList(), actualNodes.ToList());
        }