1
- import { assert } from "./test-config" ;
2
- import { Component , Input , AfterViewInit } from "@angular/core" ;
3
- import { TestApp } from "./test-app" ;
4
- import { RootLocator , ComponentView , getItemViewRoot } from "nativescript-angular/directives/list-view-comp" ;
5
- import { ProxyViewContainer } from "tns-core-modules/ui/proxy-view-container" ;
1
+ import { assert } from './test-config' ;
2
+ import { Component , Input } from '@angular/core' ;
3
+ import { ComponentFixture } from '@angular/core/testing' ;
4
+ import { nTestBedAfterEach , nTestBedBeforeEach , nTestBedRender } from 'nativescript-angular/testing' ;
6
5
7
6
// import trace = require("trace");
8
7
// trace.setCategories("ns-list-view, " + trace.categories.Navigation);
9
8
// trace.enable();
10
9
11
10
class DataItem {
12
- constructor ( public id : number , public name : string ) { }
11
+ constructor ( public id : number , public name : string ) {
12
+ }
13
13
}
14
14
15
15
const ITEMS = [
@@ -24,19 +24,22 @@ let testTemplates: { first: number, second: number };
24
24
@Component ( {
25
25
selector : "list-view-setupItemView" ,
26
26
template : `
27
- <GridLayout>
28
- <ListView [items]="myItems" (setupItemView)="onSetupItemView($event)">
29
- <ng-template let-item="item">
30
- <Label [text]='"[" + item.id +"] " + item.name'></Label>
31
- </ng-template>
32
- </ListView>
33
- </GridLayout>
27
+ <GridLayout>
28
+ <ListView [items]="myItems" (setupItemView)="onSetupItemView($event)">
29
+ <ng-template let-item="item">
30
+ <Label [text]='"[" + item.id +"] " + item.name'></Label>
31
+ </ng-template>
32
+ </ListView>
33
+ </GridLayout>
34
34
`
35
35
} )
36
36
export class TestListViewComponent {
37
37
public myItems : Array < DataItem > = ITEMS ;
38
38
public counter : number = 0 ;
39
- onSetupItemView ( args ) { this . counter ++ ; }
39
+
40
+ onSetupItemView ( args ) {
41
+ this . counter ++ ;
42
+ }
40
43
}
41
44
42
45
@Component ( {
@@ -58,66 +61,51 @@ export class ItemTemplateComponent {
58
61
@Component ( {
59
62
selector : "list-with-template-selector" ,
60
63
template : `
61
- <GridLayout>
62
- <ListView [items]="myItems" [itemTemplateSelector]="templateSelector">
63
- <ng-template nsTemplateKey="first">
64
- <item-component templateName="first"></item-component>
65
- </ng-template>
66
- <ng-template nsTemplateKey="second" let-item="item">
67
- <item-component templateName="second"></item-component>
68
- </ng-template>
69
- </ListView>
70
- </GridLayout>
71
- `
64
+ <GridLayout>
65
+ <ListView [items]="myItems" [itemTemplateSelector]="templateSelector">
66
+ <ng-template nsTemplateKey="first">
67
+ <item-component templateName="first"></item-component>
68
+ </ng-template>
69
+ <ng-template nsTemplateKey="second" let-item="item">
70
+ <item-component templateName="second"></item-component>
71
+ </ng-template>
72
+ </ListView>
73
+ </GridLayout>
74
+ `
72
75
} )
73
76
export class TestListViewSelectorComponent {
74
77
public myItems : Array < DataItem > = ITEMS ;
75
78
public templateSelector = ( item : DataItem , index : number , items : any ) => {
76
79
return ( item . id % 2 === 0 ) ? "first" : "second" ;
80
+ } ;
81
+
82
+ constructor ( ) {
83
+ testTemplates = { first : 0 , second : 0 } ;
77
84
}
78
- constructor ( ) { testTemplates = { first : 0 , second : 0 } ; }
79
85
}
80
86
81
87
describe ( "ListView-tests" , ( ) => {
82
- let testApp : TestApp = null ;
83
-
84
- before ( ( ) => {
85
- return TestApp . create ( [ ] , [
86
- TestListViewComponent ,
87
- TestListViewSelectorComponent ,
88
- ItemTemplateComponent
89
- ] ) . then ( ( app ) => {
90
- testApp = app ;
91
- } ) ;
92
- } ) ;
93
-
94
- after ( ( ) => {
95
- testApp . dispose ( ) ;
96
- } ) ;
97
-
98
- afterEach ( ( ) => {
99
- testApp . disposeComponents ( ) ;
100
- } ) ;
88
+ beforeEach ( nTestBedBeforeEach ( [
89
+ TestListViewComponent ,
90
+ TestListViewSelectorComponent ,
91
+ ItemTemplateComponent
92
+ ] ) ) ;
93
+ afterEach ( nTestBedAfterEach ( false ) ) ;
101
94
102
95
it ( "setupItemView is called for every item" , ( done ) => {
103
- testApp . loadComponent ( TestListViewComponent ) . then ( ( componentRef ) => {
104
- const component = componentRef . instance ;
105
- setTimeout ( ( ) => {
96
+ nTestBedRender ( TestListViewComponent )
97
+ . then ( ( fixture : ComponentFixture < TestListViewComponent > ) => {
98
+ const component = fixture . componentRef . instance ;
106
99
assert . equal ( component . counter , 3 ) ;
107
100
done ( ) ;
108
- } , 1000 ) ;
109
- } )
110
- . catch ( done ) ;
101
+ } ) ;
111
102
} ) ;
112
103
113
104
114
105
it ( "itemTemplateSelector selects templates" , ( done ) => {
115
- testApp . loadComponent ( TestListViewSelectorComponent ) . then ( ( componentRef ) => {
116
- setTimeout ( ( ) => {
117
- assert . deepEqual ( testTemplates , { first : 2 , second : 1 } ) ;
118
- done ( ) ;
119
- } , 1000 ) ;
120
- } )
121
- . catch ( done ) ;
106
+ nTestBedRender ( TestListViewSelectorComponent ) . then ( ( ) => {
107
+ assert . deepEqual ( testTemplates , { first : 2 , second : 1 } ) ;
108
+ done ( ) ;
109
+ } ) ;
122
110
} ) ;
123
111
} ) ;
0 commit comments