1
- import { Component , Inject , Input } from '@angular/core' ;
1
+ import { Component , Inject , input , Input } from '@angular/core' ;
2
2
import { ComponentFixture , TestBed } from '@angular/core/testing' ;
3
3
import { Ng2StateDeclaration , UIRouterModule , UIView } from '../../src' ;
4
4
import { By } from '@angular/platform-browser' ;
@@ -18,6 +18,14 @@ describe('uiView', () => {
18
18
@Input ( 'resolve3' ) _resolve3 ;
19
19
@Input ( 'resolve4' ) _resolve4 ;
20
20
@Input ( ) resolve5 ;
21
+ @Input ( { alias : 'resolve6' } ) _resolve6 ;
22
+ @Input ( { alias : 'resolve7' } ) _resolve7 ;
23
+ @Input ( { transform : ( value : string ) => `${ value } 1` } ) resolve8 ;
24
+ resolve9 = input < string > ( "" ) ;
25
+ resolve10 = input < string > ( "" ) ;
26
+ _resolve11 = input < string > ( "" , { alias : 'resolve11' } ) ;
27
+ _resolve12 = input < string > ( "" , { alias : 'resolve12' } ) ;
28
+ resolve13 = input < string , string > ( "" , { transform : value => `${ value } 1` } ) ;
21
29
}
22
30
23
31
let comp : ManyResolvesComponent ;
@@ -32,13 +40,24 @@ describe('uiView', () => {
32
40
// component_input: 'resolve name'
33
41
resolve2 : 'Resolve2' ,
34
42
resolve4 : 'Resolve4' ,
43
+ resolve7 : 'Resolve7' ,
44
+ resolve10 : 'Resolve10' ,
45
+ resolve12 : 'Resolve12'
35
46
} ,
36
47
resolve : [
37
48
{ token : 'resolve1' , resolveFn : ( ) => 'resolve1' } ,
38
49
{ token : 'Resolve2' , resolveFn : ( ) => 'resolve2' } ,
39
50
{ token : 'resolve3' , resolveFn : ( ) => 'resolve3' } ,
40
51
{ token : 'Resolve4' , resolveFn : ( ) => 'resolve4' } ,
41
52
new Resolvable ( 'resolve5' , ( ) => 'resolve5' , [ ] , { async : 'NOWAIT' } ) ,
53
+ { token : 'resolve6' , resolveFn : ( ) => 'resolve6' } ,
54
+ { token : 'Resolve7' , resolveFn : ( ) => 'resolve7' } ,
55
+ { token : 'resolve8' , resolveFn : ( ) => 'resolve8' } ,
56
+ { token : 'resolve9' , resolveFn : ( ) => 'resolve9' } ,
57
+ { token : 'Resolve10' , resolveFn : ( ) => 'resolve10' } ,
58
+ { token : 'resolve11' , resolveFn : ( ) => 'resolve11' } ,
59
+ { token : 'Resolve12' , resolveFn : ( ) => 'resolve12' } ,
60
+ { token : 'resolve13' , resolveFn : ( ) => 'resolve13' }
42
61
] ,
43
62
} ;
44
63
@@ -80,6 +99,38 @@ describe('uiView', () => {
80
99
expect ( typeof comp . resolve5 . then ) . toBe ( 'function' ) ;
81
100
} ) ;
82
101
102
+ it ( 'should bind resolve by alias to component input templateName' , ( ) => {
103
+ expect ( comp . _resolve6 ) . toBe ( 'resolve6' ) ;
104
+ } ) ;
105
+
106
+ it ( 'should bind resolve by alias to the component input templateName specified in state `bindings`' , ( ) => {
107
+ expect ( comp . _resolve7 ) . toBe ( 'resolve7' ) ;
108
+ } ) ;
109
+
110
+ it ( 'should bind resolve to the component input name and transform its value' , ( ) => {
111
+ expect ( comp . resolve8 ) . toBe ( 'resolve81' ) ;
112
+ } ) ;
113
+
114
+ it ( 'should bind resolve by name to component input signal name' , ( ) => {
115
+ expect ( comp . resolve9 ( ) ) . toBe ( 'resolve9' ) ;
116
+ } ) ;
117
+
118
+ it ( 'should bind resolve by name to the component input signal specified by `bindings`' , ( ) => {
119
+ expect ( comp . resolve10 ( ) ) . toBe ( 'resolve10' ) ;
120
+ } ) ;
121
+
122
+ it ( 'should bind resolve by name to component input signal templateName' , ( ) => {
123
+ expect ( comp . _resolve11 ( ) ) . toBe ( 'resolve11' ) ;
124
+ } ) ;
125
+
126
+ it ( 'should bind resolve by name to the component input signal templateName specified in state `bindings`' , ( ) => {
127
+ expect ( comp . _resolve12 ( ) ) . toBe ( 'resolve12' ) ;
128
+ } ) ;
129
+
130
+ it ( 'should bind resolve to the component input signal name and transform its value' , ( ) => {
131
+ expect ( comp . resolve13 ( ) ) . toBe ( 'resolve131' ) ;
132
+ } ) ;
133
+
83
134
/////////////////////////////////////////
84
135
85
136
it ( 'should inject resolve by name to constructor' , ( ) => {
0 commit comments