예제 #1
0
        public void Clone_will_clone_annotations_copied_to_new_node()
        {
            var doc = new DomDocument();

            var node  = doc.CreateDocumentFragment().AddAnnotation(new object());
            var clone = node.Clone();

            Assert.HasCount(1, clone.AnnotationList.OfType <object>());
        }
        public void Applying_operation_should_equal_expected_output(DomElementFixture f)
        {
            var doc            = new DomDocument();
            var input          = doc.CreateDocumentFragment();
            var expectedOutput = doc.CreateDocumentFragment();

            input.LoadXml(f.Input);
            expectedOutput.LoadXml(f.Output);

            var op = FindOperation(f);

            op((DomElement)input.Select("target").First());

            // Compress whitespace to simplify comparison
            input.CollapseWS();
            expectedOutput.CollapseWS();

            Assert.Equal(expectedOutput.InnerXml.Trim(), input.InnerXml.Trim());
        }
예제 #3
0
        public void Wrap_with_fragment_should_remove_children_from_document()
        {
            var doc = new DomDocument();

            doc.LoadXml(@"<html> <a /> <b /> <c /> </html>");
            var frag = doc.CreateDocumentFragment();

            doc.QuerySelectorAll("html > *").Wrap(frag);

            Assert.Equal("<html>    </html>", doc.ToXmlString());
            Assert.Equal("<a /><b /><c />", frag.ToXmlString());
        }
예제 #4
0
        internal DomContainer LoadDocOrFragment(DomDocument doc, string xml)
        {
            if (ParseAs == ParseAsType.Document)
            {
                doc.LoadXml(xml);
                return(doc);
            }

            var frag = doc.CreateDocumentFragment();

            frag.LoadXml(xml);
            return(frag);
        }
예제 #5
0
        public void Applying_operation_should_equal_expected_output(DomObjectQueryFixture f)
        {
            var doc            = new DomDocument();
            var input          = f.LoadDocOrFragment(doc, f.Input);
            var expectedOutput = doc.CreateDocumentFragment();

            expectedOutput.LoadXml(f.Output);

            f.Action(
                input.Select(f.Selector ?? "target")
                );

            // Compress whitespace to simplify comparison
            input.CollapseWS();
            expectedOutput.CollapseWS();

            Assert.Equal(expectedOutput.InnerXml.Trim(), input.InnerXml.Trim());
        }