Fixed bug #4690, patch by eb1 sil.org.
public override void MoveToRoot ()
{
- node = node.Document ?? node;
attr = null;
+ if (node.Document != null)
+ node = node.Document;
+ else
+ while (node.Owner != null)
+ node = node.Owner;
}
}
}
var element = iterator.Current;
Assert.AreEqual ("B", element.InnerXml);
}
+
+ [Test]
+ public void MoveToRoot_Bug4690 ()
+ {
+ string data = "<root><parent><child/></parent></root>";
+ XElement doc = XElement.Parse (data);
+ var iterator = doc.CreateNavigator ().Select ("//child");
+ iterator.MoveNext ();
+ var element = iterator.Current;
+ element.MoveToRoot ();
+ Assert.AreEqual ("root", element.Name);
+ }
}
}