1- import { Component , Inject , Input } from '@angular/core' ;
1+ import { Component , Inject , input , Input } from '@angular/core' ;
22import { ComponentFixture , TestBed } from '@angular/core/testing' ;
33import { Ng2StateDeclaration , UIRouterModule , UIView } from '../../src' ;
44import { By } from '@angular/platform-browser' ;
@@ -18,6 +18,14 @@ describe('uiView', () => {
1818 @Input ( 'resolve3' ) _resolve3 ;
1919 @Input ( 'resolve4' ) _resolve4 ;
2020 @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` } ) ;
2129 }
2230
2331 let comp : ManyResolvesComponent ;
@@ -32,13 +40,24 @@ describe('uiView', () => {
3240 // component_input: 'resolve name'
3341 resolve2 : 'Resolve2' ,
3442 resolve4 : 'Resolve4' ,
43+ resolve7 : 'Resolve7' ,
44+ resolve10 : 'Resolve10' ,
45+ resolve12 : 'Resolve12'
3546 } ,
3647 resolve : [
3748 { token : 'resolve1' , resolveFn : ( ) => 'resolve1' } ,
3849 { token : 'Resolve2' , resolveFn : ( ) => 'resolve2' } ,
3950 { token : 'resolve3' , resolveFn : ( ) => 'resolve3' } ,
4051 { token : 'Resolve4' , resolveFn : ( ) => 'resolve4' } ,
4152 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' }
4261 ] ,
4362 } ;
4463
@@ -80,6 +99,38 @@ describe('uiView', () => {
8099 expect ( typeof comp . resolve5 . then ) . toBe ( 'function' ) ;
81100 } ) ;
82101
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+
83134 /////////////////////////////////////////
84135
85136 it ( 'should inject resolve by name to constructor' , ( ) => {
0 commit comments