public void AppendOrModifyChildShouldNotModifyIfParentNodeDoesNotExist()
        {
            var settingsXml = @"<RunSettings></RunSettings>";
            var xmlDocument = this.GetXmlDocument(settingsXml);

            XmlUtilities.AppendOrModifyChild(xmlDocument, @"/RunSettings/RC/RD", "RD", null);

            Assert.AreEqual(settingsXml, xmlDocument.OuterXml);
        }
        public void AppendOrModifyChildShouldCreateAnEmptyNewNodeIfInnerXmlPassedInIsNull()
        {
            var settingsXml = @"<RunSettings></RunSettings>";
            var xmlDocument = this.GetXmlDocument(settingsXml);

            XmlUtilities.AppendOrModifyChild(xmlDocument, @"/RunSettings/RC", "RC", null);

            var rcxmlDocument = xmlDocument.SelectSingleNode(@"/RunSettings/RC");

            Assert.IsNotNull(rcxmlDocument);
            Assert.AreEqual(string.Empty, rcxmlDocument.InnerXml);
        }
        public void AppendOrModifyChildShouldNotModifyExistingXmlIfInnerXmlPassedInIsNull()
        {
            var settingsXml = @"<RunSettings><RC>abc</RC></RunSettings>";
            var xmlDocument = this.GetXmlDocument(settingsXml);

            XmlUtilities.AppendOrModifyChild(xmlDocument, @"/RunSettings/RC", "RC", null);

            var rcxmlDocument = xmlDocument.SelectSingleNode(@"/RunSettings/RC");

            Assert.IsNotNull(rcxmlDocument);
            Assert.AreEqual("abc", rcxmlDocument.InnerXml);
        }
        public void AppendOrModifyChildShouldAppendANewNodeWithEscapingSpecialChars()
        {
            var settingsXml = @"<RunSettings></RunSettings>";
            var xmlDocument = this.GetXmlDocument(settingsXml);

            XmlUtilities.AppendOrModifyChild(xmlDocument, @"/RunSettings/RC", "RC", "a&b<c>d\"e'f");

            var rcxmlDocument = xmlDocument.SelectSingleNode(@"/RunSettings/RC");

            Assert.IsNotNull(rcxmlDocument);
            Assert.AreEqual("a&amp;b&lt;c&gt;d\"e'f", rcxmlDocument.InnerXml);
            Assert.AreEqual("a&b<c>d\"e'f", rcxmlDocument.InnerText);
        }
예제 #5
0
        public void AppendOrModifyChildShouldCreateAnEmptyNewNodeIfInnerXmlPassedInIsNull()
        {
            var settingsXml = @"<RunSettings></RunSettings>";
            var navigator   = this.GetNavigator(settingsXml);

            navigator.MoveToChild("RunSettings", string.Empty);

            XmlUtilities.AppendOrModifyChild(navigator, @"/RunSettings/RC", "RC", null);

            var rcNavigator = navigator.SelectSingleNode(@"/RunSettings/RC");

            Assert.IsNotNull(rcNavigator);
            Assert.AreEqual(string.Empty, rcNavigator.InnerXml);
        }
예제 #6
0
        public void AppendOrModifyChildShouldModifyExistingNode()
        {
            var settingsXml = @"<RunSettings><RC>abc</RC></RunSettings>";
            var navigator   = this.GetNavigator(settingsXml);

            navigator.MoveToChild("RunSettings", string.Empty);

            XmlUtilities.AppendOrModifyChild(navigator, @"/RunSettings/RC", "RC", "ab");

            var rcNavigator = navigator.SelectSingleNode(@"/RunSettings/RC");

            Assert.IsNotNull(rcNavigator);
            Assert.AreEqual("ab", rcNavigator.InnerXml);
        }