@@ -8,6 +8,7 @@ import {TimePicker} from "ui/time-picker";
8
8
import { ListPicker } from "ui/list-picker" ;
9
9
import { TextField } from "ui/text-field" ;
10
10
import {
11
+ generateValueAccessorSelector ,
11
12
NumberValueAccessor ,
12
13
CheckedValueAccessor ,
13
14
DateValueAccessor ,
@@ -100,7 +101,7 @@ describe("two-way binding via ng-model", () => {
100
101
101
102
it ( "converts strings to int selection" , ( ) => {
102
103
const accessor = new TestSelectedIndexValueAccessor ( )
103
-
104
+
104
105
accessor . writeValue ( null ) ;
105
106
accessor . ngAfterViewInit ( ) ;
106
107
assert . strictEqual ( 0 , accessor . view . selectedIndex , "default to 0 on empty" )
@@ -143,6 +144,26 @@ describe("two-way binding via ng-model", () => {
143
144
} ) ;
144
145
} )
145
146
147
+ describe ( "target selector registration" , ( ) => {
148
+ it ( "supports uppercase(unchanged) camel tags" , ( ) => {
149
+ assert . include ( generateValueAccessorSelector ( "TextField" ) , "TextField[ngModel]" ) ;
150
+ } ) ;
151
+ it ( "supports lowercase camel tags" , ( ) => {
152
+ assert . include ( generateValueAccessorSelector ( "TextField" ) , "textField[ngModel]" ) ;
153
+ } ) ;
154
+ it ( "supports kebab case tags" , ( ) => {
155
+ assert . include ( generateValueAccessorSelector ( "TextField" ) , "text-field[ngModel]" ) ;
156
+ } ) ;
157
+ it ( "supports formControlName" , ( ) => {
158
+ assert . include ( generateValueAccessorSelector ( "TextField" ) , "TextField[formControlName]" ) ;
159
+ } ) ;
160
+ it ( "supports multiple tags" , ( ) => {
161
+ const selector = generateValueAccessorSelector ( "TextField" , "TextView" ) ;
162
+ assert . include ( selector , "TextField[ngModel]" ) ;
163
+ assert . include ( selector , "TextField[formControlName]" ) ;
164
+ } ) ;
165
+ } ) ;
166
+
146
167
function formatDate ( date : Date ) {
147
168
return `${ date . getFullYear ( ) } -${ date . getMonth ( ) + 1 } -${ date . getDate ( ) } ` ;
148
169
}
0 commit comments