@@ -4,8 +4,8 @@ import { propMemoizationFeature } from "../prop-memoization/feature";
44
55const factory = TestTree . default ( { } ) . withFeatures ( propMemoizationFeature ) ;
66
7- describe ( "core-feature/selections " , ( ) => {
8- factory . forSuits ( ( tree ) => {
7+ describe ( "core-feature/tree " , ( ) => {
8+ factory . forSuits ( ( tree , title ) => {
99 describe ( "expanded items" , ( ) => {
1010 it ( "can expand via tree instance" , ( ) => {
1111 const setExpandedItems = tree . mockedHandler ( "setExpandedItems" ) ;
@@ -156,6 +156,17 @@ describe("core-feature/selections", () => {
156156 } ) ;
157157 } ) ;
158158
159+ it ( "unloaded item" , ( ) => {
160+ expect ( tree . instance . getItemInstance ( "x444" ) . getItemMeta ( ) ) . toEqual ( {
161+ index : - 1 ,
162+ itemId : "x444" ,
163+ level : - 1 ,
164+ parentId : null ,
165+ posInSet : 0 ,
166+ setSize : 1 ,
167+ } ) ;
168+ } ) ;
169+
159170 it ( "expanded container" , ( ) => {
160171 expect ( tree . instance . getItemInstance ( "x11" ) . getItemMeta ( ) ) . toEqual ( {
161172 index : 1 ,
@@ -312,8 +323,23 @@ describe("core-feature/selections", () => {
312323 expect ( tree . instance . getItemInstance ( "x1" ) . isFolder ( ) ) . toBe ( true ) ;
313324 } ) ;
314325
315- it ( "returns correctly for false cases of isFolder()" , ( ) => {
316- expect ( tree . instance . getItemInstance ( "x111" ) . isFolder ( ) ) . toBe ( false ) ;
326+ it ( "returns correctly for true cases of isFolder() " , ( ) => {
327+ expect ( tree . instance . getItemInstance ( "x1" ) . isFolder ( ) ) . toBe ( true ) ;
328+ } ) ;
329+
330+ it ( "returns correct isFolder for hidden items" , ( ) => {
331+ if ( title . toLocaleLowerCase ( ) . includes ( "async" ) ) {
332+ // async test tree defaults to "loading" item names
333+ return ;
334+ }
335+
336+ // Reference: https://github.com/lukasbach/headless-tree/issues/166
337+ expect ( tree . instance . getItemInstance ( "x44" ) . isFolder ( ) ) . toBe ( true ) ;
338+ expect ( tree . instance . getItemInstance ( "x444" ) . isFolder ( ) ) . toBe ( false ) ;
339+ } ) ;
340+
341+ it ( "returns isFolder=true for root item" , ( ) => {
342+ expect ( tree . instance . getItemInstance ( "x" ) . isFolder ( ) ) . toBe ( true ) ;
317343 } ) ;
318344
319345 it ( "returns correctly for getParent()" , ( ) => {
0 commit comments