@@ -144,6 +144,70 @@ describe('tree', () => {
144144 expect ( component . treeComponent . getMatchedNodeList ( ) . length ) . toEqual ( 1 ) ;
145145 } ) ) ;
146146
147+ [
148+ {
149+ title :
150+ "should display 7 nodes when hideUnMatched=false and virtualHeight = undefined and nzSearchValue = '0-1'" ,
151+ when : { hideUnMatched : false , searchValue : '0-1' } ,
152+ then : { matchedNodeList : 3 , nzFlattenNodes : 7 }
153+ } ,
154+ {
155+ title :
156+ "should display 7 nodes when hideUnMatched=false and virtualHeight = '300px' and nzSearchValue = '0-1'" ,
157+ when : { hideUnMatched : false , virtualHeight : '300px' , searchValue : '0-1' } ,
158+ then : { matchedNodeList : 3 , nzFlattenNodes : 7 }
159+ } ,
160+ {
161+ title :
162+ "'should display 7 nodes when hideUnMatched=true and virtualHeight = undefined and nzSearchValue = '0-1'" ,
163+ when : { hideUnMatched : true , searchValue : '0-1' } ,
164+ then : { matchedNodeList : 3 , nzFlattenNodes : 7 }
165+ } ,
166+ {
167+ title :
168+ "should display 4 matched nodes based on nzSearchValue when hideUnMatched=true and virtualHeight = '300px' and nzSearchValue = undefined" ,
169+ when : { hideUnMatched : true , virtualHeight : '300px' } ,
170+ then : { matchedNodeList : 0 , nzFlattenNodes : 3 }
171+ } ,
172+ {
173+ title :
174+ "should display 4 matched nodes based on nzSearchValue when hideUnMatched=true and virtualHeight = '300px' and nzSearchValue = ''" ,
175+ when : { hideUnMatched : true , virtualHeight : '300px' , searchValue : '' } ,
176+ then : { matchedNodeList : 0 , nzFlattenNodes : 3 }
177+ } ,
178+ {
179+ title :
180+ "should display 4 matched nodes based on nzSearchValue when hideUnMatched=true and virtualHeight = '300px' and nzSearchValue = '0-1'" ,
181+ when : { hideUnMatched : true , virtualHeight : '300px' , searchValue : '0-1' } ,
182+ then : { matchedNodeList : 3 , nzFlattenNodes : 4 }
183+ }
184+ ] . forEach ( ( { title, when, then } ) => {
185+ it (
186+ title ,
187+ fakeAsync ( ( ) => {
188+ // Given
189+ const { component, fixture, nativeElement } = testBed ;
190+ component . searchValue = when . searchValue ;
191+ component . virtualHeight = when . virtualHeight ;
192+ component . hideUnMatched = when . hideUnMatched ;
193+ // When
194+ fixture . detectChanges ( ) ;
195+ tick ( 300 ) ;
196+ fixture . detectChanges ( ) ;
197+ // Then
198+ expect ( component . treeComponent . getMatchedNodeList ( ) . length )
199+ . withContext ( 'treeComponent.getMatchedNodeList().length' )
200+ . toBe ( then . matchedNodeList ) ;
201+ expect ( component . treeComponent . nzFlattenNodes . length )
202+ . withContext ( 'treeComponent.nzFlattenNodes.length' )
203+ . toBe ( then . nzFlattenNodes ) ;
204+ expect ( nativeElement . querySelectorAll ( 'nz-tree-node' ) . length )
205+ . withContext ( 'number of displayed nz-tree-node elements' )
206+ . toBe ( then . nzFlattenNodes ) ;
207+ } )
208+ ) ;
209+ } ) ;
210+
147211 it ( 'should match nodes based on nzSearchFunc' , fakeAsync ( ( ) => {
148212 const { component, fixture, nativeElement } = testBed ;
149213 component . searchFunc = ( data : NzTreeNodeOptions ) : boolean => data . title === component . searchValue ;
@@ -588,6 +652,7 @@ describe('tree', () => {
588652 [nzMultiple]="multiple"
589653 [nzSearchValue]="searchValue"
590654 [nzSearchFunc]="searchFunc"
655+ [nzVirtualHeight]="virtualHeight"
591656 [nzHideUnMatched]="hideUnMatched"
592657 [nzExpandAll]="expandAll"
593658 [nzExpandedIcon]="expandedIcon"
@@ -619,6 +684,7 @@ export class NzTestTreeBasicControlledComponent {
619684 defaultExpandedKeys : string [ ] = [ ] ;
620685 expandedIcon ?: TemplateRef < { $implicit : NzTreeNode ; origin : NzTreeNodeOptions } > ;
621686 searchFunc ?: ( node : NzTreeNodeOptions ) => boolean ;
687+ virtualHeight ?: string | boolean = false ;
622688 hideUnMatched = false ;
623689 nodes : NzTreeNodeOptions [ ] | NzTreeNode [ ] = [
624690 {
0 commit comments