Imported Upstream version 4.2.0.179

Former-commit-id: 0a113cb3a6feb7873f632839b1307cc6033cd595
This commit is contained in:
Xamarin Public Jenkins
2015-08-26 07:17:56 -04:00
committed by Jo Shields
parent 183bba2c9a
commit 6992685b86
7507 changed files with 90259 additions and 657307 deletions

View File

@@ -591,6 +591,11 @@ namespace MonoTests.System.Xml
Assert.AreEqual ("val1", iter.Current.InnerXml, "#1");
}
string AlterNewLine (string s)
{
return s.Replace ("\r\n", Environment.NewLine);
}
[Test]
public void InnerXmlTextEscape ()
{
@@ -599,16 +604,17 @@ namespace MonoTests.System.Xml
XPathNavigator nav = doc.CreateNavigator ();
XPathNodeIterator iter = nav.Select ("/Abc/Foo");
iter.MoveNext ();
Assert.AreEqual ("Hello<\r\nInnerXml", iter.Current.InnerXml, "#1");
Assert.AreEqual ("<Foo>Hello&lt;\r\nInnerXml</Foo>", iter.Current.OuterXml, "#2");
Assert.AreEqual (AlterNewLine ("Hello&lt;\r\nInnerXml"), iter.Current.InnerXml, "#1");
Assert.AreEqual (AlterNewLine ("<Foo>Hello&lt;\r\nInnerXml</Foo>"), iter.Current.OuterXml, "#2");
iter = nav.Select ("/Abc/Foo/text()");
iter.MoveNext ();
Assert.AreEqual (String.Empty, iter.Current.InnerXml, "#3");
Assert.AreEqual ("Hello&lt;\r\nInnerXml", iter.Current.OuterXml, "#4");
Assert.AreEqual (AlterNewLine ("Hello&lt;\r\nInnerXml"), iter.Current.OuterXml, "#4");
}
[Test]
[Category ("NotDotNet")] // .NET bug; it should escape value
[Ignore ("Bug in Microsoft reference source")]
public void InnerXmlAttributeEscape ()
{
StringReader sr = new StringReader ("<Abc><Foo attr='val&quot;1&#13;&#10;&gt;'/></Abc>");