|
|
@@ -260,38 +260,38 @@ namespace MonoTests.System.Xml.XPath
|
|
|
[Test]
|
|
|
public void NamespaceSelectWithNsElasure ()
|
|
|
{
|
|
|
- XmlDocument doc = new XmlDocument ();
|
|
|
-
|
|
|
- doc.LoadXml ("<root xmlns='urn:root' xmlns:hoge='urn:hoge'><foo xmlns='urn:foo'><bar xmlns=''><baz/></bar></foo></root>");
|
|
|
- XmlNode n = doc.FirstChild.FirstChild.FirstChild.FirstChild; //baz
|
|
|
- XmlNodeList nl = n.SelectNodes ("namespace::*");
|
|
|
- AssertEquals ("hoge", nl [0].LocalName);
|
|
|
- AssertEquals ("xml", nl [1].LocalName);
|
|
|
- AssertEquals (2, nl.Count);
|
|
|
-
|
|
|
- n = doc.FirstChild.FirstChild; // foo
|
|
|
- nl = n.SelectNodes ("namespace::*");
|
|
|
- Console.WriteLine ("at foo::");
|
|
|
- AssertEquals ("xmlns", nl [0].LocalName);
|
|
|
- AssertEquals ("hoge", nl [1].LocalName);
|
|
|
- AssertEquals ("xml", nl [2].LocalName);
|
|
|
- AssertEquals (3, nl.Count);
|
|
|
- }
|
|
|
-
|
|
|
- [Test]
|
|
|
- public void AncestorAxis () {
|
|
|
- XmlDocument doc = new XmlDocument ();
|
|
|
- doc.LoadXml ("<foo><bar><baz><bax /></baz></bar></foo>");
|
|
|
-
|
|
|
- XmlNode bar = doc.GetElementsByTagName ("bar") [0];
|
|
|
- XmlElement barClone = (XmlElement) bar.CloneNode (true);
|
|
|
- XmlNodeList baxs = barClone.GetElementsByTagName ("bax");
|
|
|
-
|
|
|
- XmlNode bax = baxs [0];
|
|
|
- XmlNodeList ans = bax.SelectNodes ("ancestor::*");
|
|
|
- AssertEquals (2, ans.Count);
|
|
|
- AssertEquals ("bar", ans [0].Name);
|
|
|
- AssertEquals ("baz", ans [1].Name);
|
|
|
+ XmlDocument doc = new XmlDocument ();
|
|
|
+
|
|
|
+ doc.LoadXml ("<root xmlns='urn:root' xmlns:hoge='urn:hoge'><foo xmlns='urn:foo'><bar xmlns=''><baz/></bar></foo></root>");
|
|
|
+ XmlNode n = doc.FirstChild.FirstChild.FirstChild.FirstChild; //baz
|
|
|
+ XmlNodeList nl = n.SelectNodes ("namespace::*");
|
|
|
+ AssertEquals ("hoge", nl [0].LocalName);
|
|
|
+ AssertEquals ("xml", nl [1].LocalName);
|
|
|
+ AssertEquals (2, nl.Count);
|
|
|
+
|
|
|
+ n = doc.FirstChild.FirstChild; // foo
|
|
|
+ nl = n.SelectNodes ("namespace::*");
|
|
|
+ Console.WriteLine ("at foo::");
|
|
|
+ AssertEquals ("xmlns", nl [0].LocalName);
|
|
|
+ AssertEquals ("hoge", nl [1].LocalName);
|
|
|
+ AssertEquals ("xml", nl [2].LocalName);
|
|
|
+ AssertEquals (3, nl.Count);
|
|
|
+ }
|
|
|
+
|
|
|
+ [Test]
|
|
|
+ public void AncestorAxis () {
|
|
|
+ XmlDocument doc = new XmlDocument ();
|
|
|
+ doc.LoadXml ("<foo><bar><baz><bax /></baz></bar></foo>");
|
|
|
+
|
|
|
+ XmlNode bar = doc.GetElementsByTagName ("bar") [0];
|
|
|
+ XmlElement barClone = (XmlElement) bar.CloneNode (true);
|
|
|
+ XmlNodeList baxs = barClone.GetElementsByTagName ("bax");
|
|
|
+
|
|
|
+ XmlNode bax = baxs [0];
|
|
|
+ XmlNodeList ans = bax.SelectNodes ("ancestor::*");
|
|
|
+ AssertEquals (2, ans.Count);
|
|
|
+ AssertEquals ("bar", ans [0].Name);
|
|
|
+ AssertEquals ("baz", ans [1].Name);
|
|
|
}
|
|
|
|
|
|
[Test] // bug #458245
|