Skip to content
This repository was archived by the owner on Dec 5, 2024. It is now read-only.

Commit bc914a9

Browse files
Adding test to prove the error
1 parent d6fcd33 commit bc914a9

File tree

2 files changed

+73
-1
lines changed

2 files changed

+73
-1
lines changed

src/GitHub.Api/UI/TreeBase.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -332,7 +332,6 @@ private List<TNode> GetLeafNodes(TNode node, int idx)
332332
return results;
333333
}
334334

335-
336335
private void ToggleParentFoldersChecked(int idx, TNode node, bool isChecked)
337336
{
338337
while (true)

src/tests/UnitTests/UI/TreeBaseTests.cs

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,11 @@ public override TestTreeNode SelectedNode
185185
}
186186
}
187187

188+
public new void ToggleNodeChecked(int idx, TestTreeNode node)
189+
{
190+
base.ToggleNodeChecked(idx, node);
191+
}
192+
188193
protected override List<TestTreeNode> Nodes
189194
{
190195
get
@@ -308,6 +313,8 @@ protected override bool PromoteMetaFiles
308313
return TestTreeListener.PromoteMetaFiles;
309314
}
310315
}
316+
317+
311318
}
312319

313320
[TestFixture]
@@ -606,6 +613,72 @@ public void ShouldPopulateTreeWithSingleEntryWithMetaInPath()
606613
}
607614
});
608615
}
616+
617+
618+
[Test]
619+
public void ShouldCheckParentOfMetaFile()
620+
{
621+
var testTree = new TestTree(true);
622+
var testTreeListener = testTree.TestTreeListener;
623+
624+
testTreeListener.GetCollapsedFolders().Returns(new string[0]);
625+
testTreeListener.SelectedNode.Returns((TestTreeNode)null);
626+
testTreeListener.GetCheckedFiles().Returns(new string[0]);
627+
testTreeListener.Nodes.Returns(new List<TestTreeNode>());
628+
testTreeListener.PathSeparator.Returns(@"\");
629+
testTreeListener.DisplayRootNode.Returns(true);
630+
testTreeListener.IsSelectable.Returns(false);
631+
testTreeListener.Title.Returns("Test Tree");
632+
testTreeListener.PromoteMetaFiles.Returns(true);
633+
634+
var testTreeData = new[] {
635+
new TestTreeData {
636+
Path = "Folder\\Default Scene.unity"
637+
},
638+
new TestTreeData {
639+
Path = "Folder\\Default Scene.unity.meta"
640+
}
641+
};
642+
testTree.Load(testTreeData);
643+
644+
testTree.CreatedTreeNodes.ShouldAllBeEquivalentTo(new[] {
645+
new TestTreeNode {
646+
Path = "Test Tree",
647+
Label = "Test Tree",
648+
IsFolder = true
649+
},
650+
new TestTreeNode {
651+
Path = "Folder",
652+
Label = "Folder",
653+
Level = 1,
654+
IsFolder = true
655+
},
656+
new TestTreeNode {
657+
Path = "Folder\\Default Scene.unity",
658+
Label = "Default Scene.unity",
659+
Level = 2,
660+
TreeData = testTreeData[0],
661+
IsContainer = true
662+
},
663+
new TestTreeNode {
664+
Path = "Folder\\Default Scene.unity.meta",
665+
Label = "Default Scene.unity.meta",
666+
Level = 3,
667+
TreeData = testTreeData[1]
668+
}
669+
});
670+
671+
var sceneNode = testTree.CreatedTreeNodes[2];
672+
var sceneMetaNode = testTree.CreatedTreeNodes[3];
673+
674+
testTree.ToggleNodeChecked(3, sceneMetaNode);
675+
676+
Assert.AreEqual(CheckState.Checked, sceneNode.CheckState);
677+
Assert.AreEqual(CheckState.Checked, sceneMetaNode.CheckState);
678+
679+
testTreeListener.Received(2).AddCheckedNode(Arg.Any<TestTreeNode>());
680+
}
681+
609682
[Test]
610683
public void ShouldPopulateTreeWithSingleEntryWithNonPromotedMetaInPath()
611684
{

0 commit comments

Comments
 (0)