1 // Licensed to the .NET Foundation under one or more agreements. 2 // The .NET Foundation licenses this file to you under the MIT license. 3 // See the LICENSE file in the project root for more information. 4 5 using Xunit; 6 7 namespace System.Xml.Tests 8 { 9 public class AppendDataTests 10 { AppendNullToXmlCharacterData(XmlCharacterData xmlCharacterData)11 private static void AppendNullToXmlCharacterData(XmlCharacterData xmlCharacterData) 12 { 13 var dataBefore = xmlCharacterData.Data; 14 xmlCharacterData.AppendData(null); 15 Assert.Equal(dataBefore, xmlCharacterData.Data); 16 } 17 18 [Fact] AppendNullToTextNodeTest()19 public static void AppendNullToTextNodeTest() 20 { 21 var xmlDocument = new XmlDocument(); 22 AppendNullToXmlCharacterData(xmlDocument.CreateTextNode("a")); 23 } 24 25 [Fact] AppendNullToCommentNodeTest()26 public static void AppendNullToCommentNodeTest() 27 { 28 var xmlDocument = new XmlDocument(); 29 AppendNullToXmlCharacterData(xmlDocument.CreateComment("a")); 30 } 31 32 [Fact] AppendNullToCDataNodeTest()33 public static void AppendNullToCDataNodeTest() 34 { 35 var xmlDocument = new XmlDocument(); 36 AppendNullToXmlCharacterData(xmlDocument.CreateCDataSection("a")); 37 } 38 39 [Fact] AppendDataToAnEmptyCdataNode()40 public static void AppendDataToAnEmptyCdataNode() 41 { 42 var xmlDocument = new XmlDocument(); 43 xmlDocument.LoadXml("<root><![CDATA[]]></root>"); 44 45 var cdataNode = (XmlCharacterData)xmlDocument.DocumentElement.FirstChild; 46 47 cdataNode.AppendData("hello"); 48 49 Assert.Equal("hello", cdataNode.Data); 50 } 51 52 [Fact] AppendDataToACdataNodeWithSomeContent()53 public static void AppendDataToACdataNodeWithSomeContent() 54 { 55 var xmlDocument = new XmlDocument(); 56 xmlDocument.LoadXml("<root><![CDATA[already here]]></root>"); 57 58 var cdataNode = (XmlCharacterData)xmlDocument.DocumentElement.FirstChild; 59 60 cdataNode.AppendData(" hello"); 61 62 Assert.Equal("already here hello", cdataNode.Data); 63 } 64 } 65 } 66