コード例 #1
0
        public void Remove_DeletesItem_WhenItemHasChildren()
        {
            using (var testTree = new TestSfsTree())
            {
                CreateTestTree("/sitecore/content/foo/bar/baz/boing", testTree);

                var item = testTree.GetItemsByPath("/sitecore/content").First();

                testTree.Remove(item);

                Assert.Empty(Directory.GetFileSystemEntries(Path.GetDirectoryName(item.SerializedItemId)));
                Assert.Empty(testTree.GetItemsByPath("/sitecore/content"));
            }
        }
コード例 #2
0
        public void Remove_DeletesItem_WhenItemHasChildren()
        {
            using (var testTree = new TestSfsTree())
            {
                testTree.CreateTestTree("/sitecore/content/foo/bar/baz/boing");

                var item = testTree.GetItemsByPath("/sitecore/content").First();

                testTree.Remove(item);

                Assert.Empty(Directory.GetFileSystemEntries(Path.GetDirectoryName(item.SerializedItemId)));
                Assert.Empty(testTree.GetItemsByPath("/sitecore/content"));
            }
        }
コード例 #3
0
        public void Remove_DeletesItem_WhenItemIsRoot()
        {
            using (var testTree = new TestSfsTree())
            {
                testTree.CreateTestTree("/sitecore");

                testTree.Remove(testTree.GetRootItem());

                Assert.Empty(Directory.GetFileSystemEntries(testTree.PhysicalRootPath));

                var root = testTree.GetRootItem();

                Assert.Null(root);
            }
        }
コード例 #4
0
		public void Remove_DeletesItem_WhenItemIsRoot()
		{
			using (var testTree = new TestSfsTree())
			{
				testTree.CreateTestTree("/sitecore");

				testTree.Remove(testTree.GetRootItem());

				Assert.Empty(Directory.GetFileSystemEntries(testTree.PhysicalRootPath));

				var root = testTree.GetRootItem();

				Assert.Null(root);
			}
		}
コード例 #5
0
        public void Remove_DeletesItem_WhenItemHasChildrenInLoopbackDirectory()
        {
            using (var testTree = new TestSfsTree())
            {
                // force the tree to loopback after only 50 chars after the root path
                testTree.MaxPathLengthForTests = testTree.PhysicalRootPathTest.Length + 50;

                // this tree is long enough to loopback, but the 'hello' is short enough to be a child of the first loopback at 'e'
                CreateTestTree("/sitecore/content lorem/ipsum dolor/sit amet/e/hello", testTree);

                var loopParent = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet").First();
                var helloItem = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet/e/hello").First();

                testTree.Remove(loopParent);

                Assert.False(File.Exists(loopParent.SerializedItemId));
                Assert.False(Directory.Exists(Path.Combine(testTree.PhysicalRootPathTest, loopParent.Id.ToString())));
                Assert.False(File.Exists(helloItem.SerializedItemId));
            }
        }
コード例 #6
0
        public void Remove_DeletesItem_WhenItemHasChildrenInLoopbackDirectory()
        {
            using (var testTree = new TestSfsTree())
            {
                // force the tree to loopback after only 50 chars after the root path
                testTree.MaxPathLengthForTests = testTree.PhysicalRootPath.Length + 50;

                // this tree is long enough to loopback, but the 'hello' is short enough to be a child of the first loopback at 'e'
                testTree.CreateTestTree("/sitecore/content lorem/ipsum dolor/sit amet/e/hello");

                var loopParent = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet").First();
                var helloItem  = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet/e/hello").First();

                testTree.Remove(loopParent);

                Assert.False(File.Exists(loopParent.SerializedItemId));
                Assert.False(Directory.Exists(Path.Combine(testTree.PhysicalRootPath, loopParent.Id.ToString())));
                Assert.False(File.Exists(helloItem.SerializedItemId));
            }
        }
コード例 #7
0
        public void Remove_DeletesItem_WhenItemHasChildrenInDoubleLoopbackDirectory()
        {
            using (var testTree = new TestSfsTree())
            {
                // force the tree to loopback after only 50 chars after the root path
                testTree.MaxPathLengthForTests = testTree.PhysicalRootPathTest.Length + 50;

                // this tree is long enough that it will loopback at 'elitr foo bar baz', and that '{id}+/elitr foo bar baz' will make it loopback again on 'h', leaving the final 'hello' a child of the second loopback
                CreateTestTree("/sitecore/content lorem/ipsum dolor/sit amet/elitr foo bar baz/h/hello", testTree);

                var loopParent = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet/elitr foo bar baz").First();
                var loop2Parent = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet/elitr foo bar baz/h").First();
                var helloItem = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet/elitr foo bar baz/h/hello").First();

                testTree.Remove(loopParent);

                Assert.False(File.Exists(loop2Parent.SerializedItemId));
                Assert.False(Directory.Exists(Path.Combine(testTree.PhysicalRootPathTest, loop2Parent.Id.ToString())));
                Assert.False(File.Exists(helloItem.SerializedItemId));
            }
        }
コード例 #8
0
        public void Remove_DeletesItem_WhenItemHasChildrenInDoubleLoopbackDirectory()
        {
            using (var testTree = new TestSfsTree())
            {
                // force the tree to loopback after only 50 chars after the root path
                testTree.MaxPathLengthForTests = testTree.PhysicalRootPath.Length + 50;

                // this tree is long enough that it will loopback at 'elitr foo bar baz', and that '{id}+/elitr foo bar baz' will make it loopback again on 'h', leaving the final 'hello' a child of the second loopback
                testTree.CreateTestTree("/sitecore/content lorem/ipsum dolor/sit amet/elitr foo bar baz/h/hello");

                var loopParent  = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet/elitr foo bar baz").First();
                var loop2Parent = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet/elitr foo bar baz/h").First();
                var helloItem   = testTree.GetItemsByPath("/sitecore/content lorem/ipsum dolor/sit amet/elitr foo bar baz/h/hello").First();

                testTree.Remove(loopParent);

                Assert.False(File.Exists(loop2Parent.SerializedItemId));
                Assert.False(Directory.Exists(Path.Combine(testTree.PhysicalRootPath, loop2Parent.Id.ToString())));
                Assert.False(File.Exists(helloItem.SerializedItemId));
            }
        }