コード例 #1
0
ファイル: TocRestructureTest.cs プロジェクト: z784916/docfx-1
        public void TestTocRestructureWithRestructureConflicts()
        {
            var toc          = GetTocItem(@"
root
    node1
        leaf1
        leaf2
    leaf3
    node2
        node1
");
            var restructures = new List <TreeItemRestructure>
            {
                GetRestructure(TreeItemActionType.InsertAfter, "node2", new string[] { "leaf4", "leaf5" }),
                GetRestructure(TreeItemActionType.DeleteSelf, "node2", new string[] { "leaf6", "leaf7" }),
                GetRestructure(TreeItemActionType.ReplaceSelf, "node2", new string[] { "leaf8", "leaf9" }),
                GetRestructure(TreeItemActionType.InsertBefore, "node2", new string[] { "leaf10", "leaf11" }),
            };

            TocRestructureUtility.Restructure(toc, restructures);
            var expected = GetTocItem(@"
root
    node1
        leaf1
        leaf2
    leaf3
    leaf4
    leaf5
");

            AssertTocEqual(expected, toc);
        }
コード例 #2
0
ファイル: TocRestructureTest.cs プロジェクト: z784916/docfx-1
        public void TestTocRestructureWithNoMatchNode()
        {
            var layout       = @"
root
    node1
        leaf1
        node2
            leaf2
            leaf3
    leaf3
";
            var toc          = GetTocItem(layout);
            var restructures = new List <TreeItemRestructure>
            {
                GetRestructure(TreeItemActionType.AppendChild, "leaf100", new string[] { "leaf2.1", "leaf2.2" }),
                GetRestructure(TreeItemActionType.PrependChild, "leaf100", new string[] { "leaf2.1", "leaf2.2" }),
                GetRestructure(TreeItemActionType.InsertAfter, "leaf100", new string[] { "leaf4", "leaf5" }),
                GetRestructure(TreeItemActionType.InsertBefore, "leaf100", new string[] { "node2", "node3" }),
                GetRestructure(TreeItemActionType.DeleteSelf, "leaf100", new string[] { "leaf6", "leaf7" }),
                GetRestructure(TreeItemActionType.ReplaceSelf, "leaf100", new string[] { "leaf6", "leaf7" }),
            };

            TocRestructureUtility.Restructure(toc, restructures);
            var expected = GetTocItem(layout);

            AssertTocEqual(expected, toc);
        }
コード例 #3
0
ファイル: TocRestructureTest.cs プロジェクト: z784916/docfx-1
        public void TestTocRestructureWithContainerNode()
        {
            var toc          = GetTocItem(@"
root
    node1
        leaf1
        node2
            leaf2
            leaf3
    node3
        leaf3.1
        leaf3.2
    node4
        node5
        leaf4.1
        leaf4.2
");
            var restructures = new List <TreeItemRestructure>
            {
                GetRestructure(TreeItemActionType.AppendChild, "node2", new string[] { "leaf2.1" }),
                GetRestructure(TreeItemActionType.AppendChild, "node2", new string[] { "leaf2.2" }),
                GetRestructure(TreeItemActionType.PrependChild, "node2", new string[] { "leaf2.3", "leaf2.4" }),
                GetRestructure(TreeItemActionType.InsertAfter, "node2", new string[] { "leaf4", "leaf5" }),
                GetRestructure(TreeItemActionType.InsertBefore, "node2", new string[] { "node2", "node3" }),
                GetRestructure(TreeItemActionType.DeleteSelf, "node3", null),
                GetRestructure(TreeItemActionType.ReplaceSelf, "node4", new string[] { "leaf6" }),
            };

            TocRestructureUtility.Restructure(toc, restructures);
            var expected = GetTocItem(@"
root
    node1
        leaf1
        node2
        node3
        node2
            leaf2.3
            leaf2.4
            leaf2
            leaf3
            leaf2.1
            leaf2.2
        leaf4
        leaf5
    leaf6
");

            AssertTocEqual(expected, toc);
        }
コード例 #4
0
ファイル: TocRestructureTest.cs プロジェクト: z784916/docfx-1
        public void TestReplaceNodeWithMultipleNodesThrows()
        {
            var toc          = GetTocItem(@"
root
    node1
        leaf1
        leaf2
    leaf3
    node2
        node1
");
            var restructures = new List <TreeItemRestructure>
            {
                GetRestructure(TreeItemActionType.ReplaceSelf, "node2", new string[] { "leaf4", "leaf5" }),
            };

            Assert.Throws <InvalidOperationException>(() => TocRestructureUtility.Restructure(toc, restructures));
        }
コード例 #5
0
ファイル: TocRestructureTest.cs プロジェクト: z784916/docfx-1
        public void TestTocRestructureAppliesToAllMatchedNodes()
        {
            var toc          = GetTocItem(@"
root
    node1
        leaf1
        leaf3
    leaf3
    node2
        node1
");
            var restructures = new List <TreeItemRestructure>
            {
                GetRestructure(TreeItemActionType.AppendChild, "node1", new string[] { "leaf3", "leaf4" }),
                GetRestructure(TreeItemActionType.InsertBefore, "leaf3", new string[] { "leaf3.1", "leaf3.2" }),
            };

            // After leaf3 is appended as child, leaf3.1 and leaf3.2 should insert before leaf3.
            TocRestructureUtility.Restructure(toc, restructures);
            var expected = GetTocItem(@"
root
    node1
        leaf1
        leaf3.1
        leaf3.2
        leaf3
        leaf3.1
        leaf3.2
        leaf3
        leaf4
    leaf3.1
    leaf3.2
    leaf3
    node2
        node1
            leaf3.1
            leaf3.2
            leaf3
            leaf4
");

            AssertTocEqual(expected, toc);
        }