public static void XmlWriterWorksWithValidLowerSurrogate_newBehavior()
{
// Turn the switch off to get the new behavior in case the platform has it on by default
AppContext.SetSwitch(@"Switch.System.Xml.DontThrowOnInvalidSurrogatePairs", false);
using (XmlWriter writer = CreateUtf8Writer())
{
writer.WriteStartDocument();
writer.WriteStartElement("test");
char[] validSurrogatePairs = new char[] {
(char)(SurHighStart + 5), (char)(SurLowEnd),
(char)(SurHighStart + 5), (char)(SurLowEnd - 1),
(char)(SurHighStart + 5), (char)(SurLowStart),
(char)(SurHighStart + 5), (char)(SurLowStart + 1),
};
// Everything should be fine, no exceptions
writer.WriteRaw(validSurrogatePairs, 0, validSurrogatePairs.Length);
}
}