Skip to content

Commit 346255f

Browse files
authored
Merge pull request #15430 from IgniteUI/dpetev/control-flow-test-track-leftovers
test(*): leftover control flow for track adjustments
2 parents 15fae0f + 781d49c commit 346255f

File tree

5 files changed

+32
-36
lines changed

5 files changed

+32
-36
lines changed

projects/igniteui-angular/src/lib/carousel/carousel.component.spec.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1224,7 +1224,7 @@ class CarouselTemplateSetInTypescriptTestComponent {
12241224
@Component({
12251225
template: `
12261226
<igx-carousel #carousel [loop]="loop" [animationType]="'none'">
1227-
@for (slide of slides; track slide) {
1227+
@for (slide of slides; track slide.text) {
12281228
<igx-slide [active]="slide.active">
12291229
<igx-slide><h3>{{slide.text}}</h3></igx-slide>
12301230
</igx-slide>
@@ -1240,10 +1240,6 @@ class CarouselDynamicSlidesComponent {
12401240
public slides = [];
12411241

12421242
constructor() {
1243-
this.addNewSlide();
1244-
}
1245-
1246-
public addNewSlide() {
12471243
this.slides.push(
12481244
{ text: 'Slide 1', active: false },
12491245
{ text: 'Slide 2', active: false },

projects/igniteui-angular/src/lib/directives/drag-drop/drag-drop.spec.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2107,13 +2107,13 @@ class TestDragDropStrategiesComponent extends TestDragDropLinkedSingleComponent
21072107
<igx-icon igxDragHandle>drag_indicator</igx-icon>
21082108
<span>Movies list</span>
21092109
</div>
2110-
@for (category of categoriesNotes; track category) {
2110+
@for (category of categoriesNotes; track category.text) {
21112111
<div class="movieListItem" igxDrag [ghost]="false">
21122112
<div>
21132113
<igx-icon igxDragHandle>drag_indicator</igx-icon>
21142114
<span>{{category.text}}</span>
21152115
</div>
2116-
@for (note of getCategoryMovies(category.text); track note) {
2116+
@for (note of getCategoryMovies(category.text); track note.text) {
21172117
<div class="movieListItem" igxDrag [ghost]="false">
21182118
<div>
21192119
<igx-icon igxDragHandle>drag_indicator</igx-icon>
@@ -2128,11 +2128,11 @@ class TestDragDropStrategiesComponent extends TestDragDropLinkedSingleComponent
21282128
imports: [IgxIconComponent, IgxDragDirective, IgxDragHandleDirective]
21292129
})
21302130
class TestDragDropNestedComponent extends TestDragDropComponent {
2131-
public categoriesNotes = [
2131+
protected categoriesNotes = [
21322132
{ text: 'Action', dragged: false },
21332133
{ text: 'Fantasy', dragged: false }
21342134
];
2135-
public listNotes = [
2135+
protected listNotes = [
21362136
{ text: 'Avengers: Endgame', category: 'Action', dragged: false },
21372137
{ text: 'Avatar', category: 'Fantasy', dragged: false },
21382138
{ text: 'Titanic', category: 'Drama', dragged: false },
@@ -2142,7 +2142,7 @@ class TestDragDropNestedComponent extends TestDragDropComponent {
21422142
{ text: 'The Avengers', category: 'Action', dragged: false }
21432143
];
21442144

2145-
public getCategoryMovies(inCategory: string){
2145+
protected getCategoryMovies(inCategory: string){
21462146
return this.listNotes.filter(item => item.category === inCategory);
21472147
}
21482148
}

projects/igniteui-angular/src/lib/select/select.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3053,7 +3053,7 @@ class IgxSelectTemplateFormComponent {
30533053
<igx-icon>alarm</igx-icon>
30543054
</igx-prefix>
30553055
<igx-select-item>None</igx-select-item>
3056-
@for (item of items; track item) {
3056+
@for (item of items; track item.field) {
30573057
<igx-select-item [value]="item.field">
30583058
{{ item.field }}
30593059
</igx-select-item>

projects/igniteui-angular/src/lib/tabs/tabs/tabs.component.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -493,7 +493,7 @@ describe('IgxTabs', () => {
493493
expect(tabs.items.length).toBe(2);
494494
expect(tabs.selectedIndex).toBe(0);
495495

496-
fixture.componentInstance.addTab(3);
496+
fixture.componentInstance.addTab();
497497
fixture.detectChanges();
498498
tick(100);
499499

projects/igniteui-angular/src/lib/test-utils/tabs-components.spec.ts

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ export class TabsTestComponent {
9898
template: `
9999
<div #wrapperDiv style="display: flex;">
100100
<igx-tabs>
101-
@for (tab of collection; track tab) {
101+
@for (tab of collection; track trackByItemRef(tab)) {
102102
<igx-tab-item>
103103
<igx-tab-header><span igxTabHeaderLabel>{{ tab.name }}</span></igx-tab-header>
104104
<igx-tab-content></igx-tab-content>
@@ -112,7 +112,7 @@ export class TabsTestComponent {
112112
export class TabsTest2Component {
113113
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
114114
@ViewChild('wrapperDiv', { static: true }) public wrapperDiv: any;
115-
public collection: any[];
115+
protected collection: any[];
116116

117117
constructor() {
118118
this.resetCollectionThreeTabs();
@@ -151,6 +151,9 @@ export class TabsTest2Component {
151151
public resetToEmptyCollection() {
152152
this.collection = [];
153153
}
154+
155+
/** Explicitly track object so collection changes entirely for index logic test */
156+
protected trackByItemRef = (x: any) => x;
154157
}
155158

156159
@Component({
@@ -198,7 +201,7 @@ export class TemplatedTabsTestComponent {
198201
template: `
199202
<div>
200203
<igx-tabs [selectedIndex]="2">
201-
@for (tab of collection; track tab) {
204+
@for (tab of collection; track tab.name) {
202205
<igx-tab-item>
203206
<igx-tab-header><span igxTabHeaderLabel>{{ tab.name }}</span></igx-tab-header>
204207
</igx-tab-item>
@@ -210,7 +213,7 @@ export class TemplatedTabsTestComponent {
210213
})
211214
export class TabsTestSelectedTabComponent {
212215
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
213-
public collection: any[];
216+
protected collection: any[];
214217

215218
constructor() {
216219
this.collection =
@@ -525,7 +528,7 @@ export class TabsWithPrefixSuffixTestComponent extends TabsTestComponent {
525528
template: `
526529
<div #wrapperDiv>
527530
<igx-tabs>
528-
@for (contact of contacts; track contact) {
531+
@for (contact of contacts; track contact.Name) {
529532
<igx-tab-item>
530533
<igx-tab-header>
531534
<span igxTabHeaderLabel>{{contact.Name}}</span>
@@ -547,7 +550,7 @@ export class TabsContactsComponent extends TabsTestComponent {
547550
template: `
548551
<div #wrapperDiv style="display: flex;">
549552
<igx-tabs>
550-
@for (tab of collection; track tab) {
553+
@for (tab of collection; track tab.name) {
551554
<igx-tab-item [(selected)]="tab.selected">
552555
<igx-tab-header><span igxTabHeaderLabel>{{ tab.name }}</span></igx-tab-header>
553556
<igx-tab-content></igx-tab-content>
@@ -560,25 +563,25 @@ export class TabsContactsComponent extends TabsTestComponent {
560563
})
561564
export class AddingSelectedTabComponent {
562565
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
563-
public collection: any[];
566+
protected collection: any[];
564567
constructor() {
565568
this.collection = [
566569
{ name: 'tab1', selected: true },
567570
{ name: 'tab2', selected: false }
568571
];
569572
}
570573

571-
public addTab(num: number) {
574+
public addTab() {
572575
this.collection.forEach(t => t.selected = false);
573-
this.collection.push({ name: 'tab' + num, selected: true });
576+
this.collection.push({ name: 'tab' + (this.collection.length + 1), selected: true });
574577
}
575578
}
576579

577580
@Component({
578581
template: `
579582
<div #wrapperDiv>
580583
<igx-tabs>
581-
@for (tab of collection; track tab) {
584+
@for (tab of collection; track tab.name) {
582585
<igx-tab-item>
583586
<igx-tab-header><span igxTabHeaderLabel>{{ tab.name }}</span></igx-tab-header>
584587
<igx-tab-content></igx-tab-content>
@@ -592,18 +595,15 @@ export class AddingSelectedTabComponent {
592595
export class TabsRtlComponent {
593596
@ViewChild(IgxTabsComponent, { static: true }) public tabs: IgxTabsComponent;
594597
@ViewChild('wrapperDiv', { static: true }) public wrapperDiv: any;
595-
public collection: any[];
596-
constructor() {
597-
this.collection = [
598-
{ name: 'tab1', selected: true },
599-
{ name: 'tab2', selected: false },
600-
{ name: 'tab3', selected: false },
601-
{ name: 'tab4', selected: false },
602-
{ name: 'tab5', selected: false },
603-
{ name: 'tab6', selected: false },
604-
{ name: 'tab7', selected: false },
605-
{ name: 'tab8', selected: false },
606-
{ name: 'tab9', selected: false },
607-
];
608-
}
598+
protected collection = [
599+
{ name: 'tab1', selected: true },
600+
{ name: 'tab2', selected: false },
601+
{ name: 'tab3', selected: false },
602+
{ name: 'tab4', selected: false },
603+
{ name: 'tab5', selected: false },
604+
{ name: 'tab6', selected: false },
605+
{ name: 'tab7', selected: false },
606+
{ name: 'tab8', selected: false },
607+
{ name: 'tab9', selected: false },
608+
];
609609
}

0 commit comments

Comments
 (0)