Example #1
0
 public void Extensions_ConsumeElementOfDepth_AtLesserDepthTakesNoAction()
 {
     using (XmlReader xml = s_consumeElementOfDepthTestDocument.CreateReader())
     {
         xml.ConsumeElementOfDepth(1); // Already at endElementDepth 0, should have no effect
         Assert.Equal(ReadState.Initial, xml.ReadState);
     }
 }
Example #2
0
 public void Extensions_ConsumeElementOfDepth_ConsumesElementWithChildren()
 {
     using (XmlReader xml = s_consumeElementOfDepthTestDocument.CreateReader())
     {
         Assert.True(xml.ReadToDescendant("nodes_child"));
         xml.ConsumeElementOfDepth(1);
         Assert.Equal(XmlNodeType.Element, xml.NodeType);
         Assert.Equal("deep_child", xml.LocalName);
     }
 }
Example #3
0
 public void Extensions_ConsumeElementOfDepth_ConsumesEmptyElement()
 {
     using (XmlReader xml = s_consumeElementOfDepthTestDocument.CreateReader())
     {
         Assert.True(xml.ReadToDescendant("empty_child"));
         Assert.True(xml.IsEmptyElement);
         xml.ConsumeElementOfDepth(1);
         Assert.Equal("content_child", xml.LocalName);
     }
 }
Example #4
0
 public void Extensions_ConsumeElementOfDepth_ConsumesWhenAlreadyInsideElement()
 {
     using (XmlReader xml = s_consumeElementOfDepthTestDocument.CreateReader())
     {
         Assert.True(xml.ReadToDescendant("nodes_child"));
         Assert.True(xml.ReadToDescendant("node"));
         xml.Read();
         Assert.Equal(XmlNodeType.Text, xml.NodeType); // node content
         xml.ConsumeElementOfDepth(1);
         Assert.Equal(XmlNodeType.Element, xml.NodeType);
         Assert.Equal("deep_child", xml.LocalName);
     }
 }
Example #5
0
 public void Extensions_ConsumeElementOfDepth_ConsumesEndElement()
 {
     using (XmlReader xml = s_consumeElementOfDepthTestDocument.CreateReader())
     {
         Assert.True(xml.ReadToDescendant("nodes_child"));
         Assert.True(xml.ReadToDescendant("node"));
         Assert.True(xml.Read()); // node content
         Assert.True(xml.Read()); // </node> -- This test is that we consume the end element when we're standing on it
         Assert.Equal(XmlNodeType.EndElement, xml.NodeType);
         xml.ConsumeElementOfDepth(2);
         Assert.Equal(XmlNodeType.Element, xml.NodeType);
         Assert.Equal("deep_child", xml.LocalName);
     }
 }