@@ -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