示例#1
0
        public void NodeEvent_LongCreationModification()
        {
            string log;

            var content = Content.CreateNew("Car", _testRoot, Guid.NewGuid().ToString());
            var node    = content.ContentHandler;

            LoggedTestObserver.ResetLog();

            content.Save(SavingMode.KeepVersionAndLock);
            log = LoggedTestObserver.GetLog(); LoggedTestObserver.ResetLog(); Assert.IsTrue(log == "TestObserver.OnNodeCreating\r\n", "#1");

            content = Content.Load(content.Id);
            content.Index++;
            content.Save();
            log = LoggedTestObserver.GetLog(); LoggedTestObserver.ResetLog(); Assert.IsTrue(log == "", "#2");

            content = Content.Load(content.Id);
            content.Index++;
            content.Save();
            log = LoggedTestObserver.GetLog(); LoggedTestObserver.ResetLog(); Assert.IsTrue(log == "", "#3");

            content = Content.Load(content.Id);
            content.CheckIn();
            log = LoggedTestObserver.GetLog(); LoggedTestObserver.ResetLog(); Assert.IsTrue(log == "TestObserver.OnNodeCreated\r\n", "#4");


            content = Content.Load(content.Id);
            content.Index++;
            content["Description"] = "<?xml version='1.0'?><a>b</a>";
            content.Save();
            log = LoggedTestObserver.GetLog(); LoggedTestObserver.ResetLog(); Assert.IsTrue(log == "TestObserver.OnNodeModifying\r\nTestObserver.OnNodeModified\r\n", "#5");
            Assert.AreEqual("<?xml version='1.0'?><a>b</a>", LoggedTestObserver.GetLastDescriptionChanges().Value);


            content = Content.Load(content.Id);
            content.CheckOut();
            log = LoggedTestObserver.GetLog(); LoggedTestObserver.ResetLog(); Assert.IsTrue(log == "TestObserver.OnNodeModifying\r\n", "#6");

            content = Content.Load(content.Id);
            content.Index++;
            content.Save();
            log = LoggedTestObserver.GetLog(); LoggedTestObserver.ResetLog(); Assert.IsTrue(log == "", "#7");

            content = Content.Load(content.Id);
            content.Index++;
            content.Save();
            log = LoggedTestObserver.GetLog(); LoggedTestObserver.ResetLog(); Assert.IsTrue(log == "", "#8");

            content = Content.Load(content.Id);
            content.CheckIn();
            log = LoggedTestObserver.GetLog(); LoggedTestObserver.ResetLog(); Assert.IsTrue(log == "TestObserver.OnNodeModified\r\n", "#9");
        }