|
@@ -2103,6 +2103,7 @@ namespace MonoTests.System.Xml
|
|
|
r.ReadSubtree ();
|
|
r.ReadSubtree ();
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ [Test]
|
|
|
public void ReadSubtreeEmptyElement ()
|
|
public void ReadSubtreeEmptyElement ()
|
|
|
{
|
|
{
|
|
|
string xml = @"<x/>";
|
|
string xml = @"<x/>";
|
|
@@ -2115,6 +2116,7 @@ namespace MonoTests.System.Xml
|
|
|
AssertEquals ("#4", XmlNodeType.None, s.NodeType);
|
|
AssertEquals ("#4", XmlNodeType.None, s.NodeType);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ [Test]
|
|
|
public void ReadSubtreeEmptyElementWithAttribute ()
|
|
public void ReadSubtreeEmptyElementWithAttribute ()
|
|
|
{
|
|
{
|
|
|
string xml = @"<root><x a='b'/></root>";
|
|
string xml = @"<root><x a='b'/></root>";
|
|
@@ -2135,6 +2137,31 @@ namespace MonoTests.System.Xml
|
|
|
Assert ("#5", r.IsEmptyElement);
|
|
Assert ("#5", r.IsEmptyElement);
|
|
|
Assert ("#6", r2.IsEmptyElement);
|
|
Assert ("#6", r2.IsEmptyElement);
|
|
|
}
|
|
}
|
|
|
|
|
+
|
|
|
|
|
+ [Test]
|
|
|
|
|
+ public void ReadContentAsBase64 ()
|
|
|
|
|
+ {
|
|
|
|
|
+ byte[] randomData = new byte[24];
|
|
|
|
|
+ for (int i = 0; i < randomData.Length; i++)
|
|
|
|
|
+ randomData [i] = (byte) i;
|
|
|
|
|
+
|
|
|
|
|
+ string xmlString = "<?xml version=\"1.0\"?><data>" +
|
|
|
|
|
+ Convert.ToBase64String (randomData) + "</data>";
|
|
|
|
|
+ TextReader textReader = new StringReader (xmlString);
|
|
|
|
|
+ XmlReader xmlReader = XmlReader.Create (textReader);
|
|
|
|
|
+ xmlReader.ReadToFollowing ("data");
|
|
|
|
|
+
|
|
|
|
|
+ int readBytes = 0;
|
|
|
|
|
+ byte[] buffer = new byte [24];
|
|
|
|
|
+
|
|
|
|
|
+ xmlReader.ReadStartElement ();
|
|
|
|
|
+ readBytes = xmlReader.ReadContentAsBase64 (buffer, 0, buffer.Length);
|
|
|
|
|
+ AssertEquals ("#1", 24, readBytes);
|
|
|
|
|
+ AssertEquals ("#2", 0, xmlReader.ReadContentAsBase64 (buffer, 0, buffer.Length));
|
|
|
|
|
+ StringWriter sw = new StringWriter ();
|
|
|
|
|
+ foreach (byte b in buffer) sw.Write ("{0:X02}", b);
|
|
|
|
|
+ AssertEquals ("#3", "000102030405060708090A0B0C0D0E0F1011121314151617", sw.ToString ());
|
|
|
|
|
+ }
|
|
|
#endif
|
|
#endif
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|