@@ -23,6 +23,7 @@ import {
2323 DxComponent ,
2424 DxTemplateHost ,
2525 DxTemplateModule ,
26+ DxTemplateDirective ,
2627 WatcherHelper
2728} from '../../../dist' ;
2829
@@ -69,9 +70,33 @@ export class DxTestWidgetComponent extends DxComponent implements AfterViewInit
6970 }
7071}
7172
73+ @Component ( {
74+ selector : 'dx-test' ,
75+ template : '' ,
76+ providers : [ DxTemplateHost , WatcherHelper ]
77+ } )
78+ export class DxTestComponent extends DxComponent implements AfterViewInit {
79+ templates : DxTemplateDirective [ ] ;
80+
81+ constructor ( elementRef : ElementRef , ngZone : NgZone , templateHost : DxTemplateHost , _watcherHelper : WatcherHelper ) {
82+ super ( elementRef , ngZone , templateHost , _watcherHelper ) ;
83+ }
84+
85+ protected _createInstance ( ) { }
86+
87+ ngAfterViewInit ( ) {
88+ this . templates [ 0 ] . render ( {
89+ model : { } ,
90+ container : $ ( this . element . nativeElement ) ,
91+ index : 5
92+ } ) ;
93+ }
94+ }
95+
7296@Component ( {
7397 selector : 'test-container-component' ,
74- template : ''
98+ template : '' ,
99+ providers : [ DxTemplateHost ]
75100} )
76101export class TestContainerComponent {
77102 @ViewChildren ( DxTestWidgetComponent ) innerWidgets : QueryList < DxTestWidgetComponent > ;
@@ -83,7 +108,7 @@ describe('DevExtreme Angular widget\'s template', () => {
83108 beforeEach ( ( ) => {
84109 TestBed . configureTestingModule (
85110 {
86- declarations : [ TestContainerComponent , DxTestWidgetComponent ] ,
111+ declarations : [ TestContainerComponent , DxTestWidgetComponent , DxTestComponent ] ,
87112 imports : [ DxTemplateModule ]
88113 } ) ;
89114 } ) ;
@@ -141,5 +166,22 @@ describe('DevExtreme Angular widget\'s template', () => {
141166
142167 } ) ) ;
143168
169+
170+ it ( 'should have item index' , async ( ( ) => {
171+ TestBed . overrideComponent ( TestContainerComponent , {
172+ set : {
173+ template : `
174+ <dx-test>
175+ <div *dxTemplate="let d of 'templateName'; let i = index">index: {{i}}</div>
176+ </dx-test>
177+ ` }
178+ } ) ;
179+ let fixture = TestBed . createComponent ( TestContainerComponent ) ;
180+ fixture . detectChanges ( ) ;
181+
182+ let element = fixture . nativeElement . querySelector ( 'div' ) ;
183+ expect ( element . textContent ) . toBe ( 'index: 5' ) ;
184+ } ) ) ;
185+
144186} ) ;
145187
0 commit comments