@@ -56,6 +56,17 @@ export function main() {
5656 loginControlDir . valueAccessor = new DummyControlValueAccessor ( ) ;
5757 } ) ;
5858
59+ it ( "should reexport control properties" , ( ) => {
60+ expect ( form . control ) . toBe ( formModel ) ;
61+ expect ( form . value ) . toBe ( formModel . value ) ;
62+ expect ( form . valid ) . toBe ( formModel . valid ) ;
63+ expect ( form . errors ) . toBe ( formModel . errors ) ;
64+ expect ( form . pristine ) . toBe ( formModel . pristine ) ;
65+ expect ( form . dirty ) . toBe ( formModel . dirty ) ;
66+ expect ( form . touched ) . toBe ( formModel . touched ) ;
67+ expect ( form . untouched ) . toBe ( formModel . untouched ) ;
68+ } ) ;
69+
5970 describe ( "addControl" , ( ) => {
6071 it ( "should throw when no control found" , ( ) => {
6172 var dir = new NgControlName ( form , null ) ;
@@ -137,6 +148,17 @@ export function main() {
137148 loginControlDir . valueAccessor = new DummyControlValueAccessor ( ) ;
138149 } ) ;
139150
151+ it ( "should reexport control properties" , ( ) => {
152+ expect ( form . control ) . toBe ( formModel ) ;
153+ expect ( form . value ) . toBe ( formModel . value ) ;
154+ expect ( form . valid ) . toBe ( formModel . valid ) ;
155+ expect ( form . errors ) . toBe ( formModel . errors ) ;
156+ expect ( form . pristine ) . toBe ( formModel . pristine ) ;
157+ expect ( form . dirty ) . toBe ( formModel . dirty ) ;
158+ expect ( form . touched ) . toBe ( formModel . touched ) ;
159+ expect ( form . untouched ) . toBe ( formModel . untouched ) ;
160+ } ) ;
161+
140162 describe ( "addControl & addControlGroup" , ( ) => {
141163 it ( "should create a control with the given name" , fakeAsync ( ( ) => {
142164 form . addControlGroup ( personControlGroupDir ) ;
@@ -168,6 +190,31 @@ export function main() {
168190 } ) ;
169191 } ) ;
170192
193+ describe ( "NgControlGroup" , ( ) => {
194+ var formModel ;
195+ var controlGroupDir ;
196+
197+ beforeEach ( ( ) => {
198+ formModel = new ControlGroup ( { "login" : new Control ( null ) } ) ;
199+
200+ var parent = new NgFormModel ( ) ;
201+ parent . form = new ControlGroup ( { "group" : formModel } ) ;
202+ controlGroupDir = new NgControlGroup ( parent ) ;
203+ controlGroupDir . name = "group" ;
204+ } ) ;
205+
206+ it ( "should reexport control properties" , ( ) => {
207+ expect ( controlGroupDir . control ) . toBe ( formModel ) ;
208+ expect ( controlGroupDir . value ) . toBe ( formModel . value ) ;
209+ expect ( controlGroupDir . valid ) . toBe ( formModel . valid ) ;
210+ expect ( controlGroupDir . errors ) . toBe ( formModel . errors ) ;
211+ expect ( controlGroupDir . pristine ) . toBe ( formModel . pristine ) ;
212+ expect ( controlGroupDir . dirty ) . toBe ( formModel . dirty ) ;
213+ expect ( controlGroupDir . touched ) . toBe ( formModel . touched ) ;
214+ expect ( controlGroupDir . untouched ) . toBe ( formModel . untouched ) ;
215+ } ) ;
216+ } ) ;
217+
171218 describe ( "NgFormControl" , ( ) => {
172219 var controlDir ;
173220 var control ;
@@ -180,6 +227,17 @@ export function main() {
180227 controlDir . form = control ;
181228 } ) ;
182229
230+ it ( "should reexport control properties" , ( ) => {
231+ expect ( controlDir . control ) . toBe ( control ) ;
232+ expect ( controlDir . value ) . toBe ( control . value ) ;
233+ expect ( controlDir . valid ) . toBe ( control . valid ) ;
234+ expect ( controlDir . errors ) . toBe ( control . errors ) ;
235+ expect ( controlDir . pristine ) . toBe ( control . pristine ) ;
236+ expect ( controlDir . dirty ) . toBe ( control . dirty ) ;
237+ expect ( controlDir . touched ) . toBe ( control . touched ) ;
238+ expect ( controlDir . untouched ) . toBe ( control . untouched ) ;
239+ } ) ;
240+
183241 it ( "should set up validator" , ( ) => {
184242 controlDir . ngValidators . reset ( [ new NgRequiredValidator ( ) ] ) ;
185243
@@ -200,6 +258,18 @@ export function main() {
200258 ngModel . valueAccessor = new DummyControlValueAccessor ( ) ;
201259 } ) ;
202260
261+ it ( "should reexport control properties" , ( ) => {
262+ var control = ngModel . control ;
263+ expect ( ngModel . control ) . toBe ( control ) ;
264+ expect ( ngModel . value ) . toBe ( control . value ) ;
265+ expect ( ngModel . valid ) . toBe ( control . valid ) ;
266+ expect ( ngModel . errors ) . toBe ( control . errors ) ;
267+ expect ( ngModel . pristine ) . toBe ( control . pristine ) ;
268+ expect ( ngModel . dirty ) . toBe ( control . dirty ) ;
269+ expect ( ngModel . touched ) . toBe ( control . touched ) ;
270+ expect ( ngModel . untouched ) . toBe ( control . untouched ) ;
271+ } ) ;
272+
203273 it ( "should set up validator" , ( ) => {
204274 ngModel . ngValidators . reset ( [ new NgRequiredValidator ( ) ] ) ;
205275
@@ -211,5 +281,30 @@ export function main() {
211281 expect ( ngModel . control . valid ) . toBe ( false ) ;
212282 } ) ;
213283 } ) ;
284+
285+ describe ( "NgControlName" , ( ) => {
286+ var formModel ;
287+ var controlNameDir ;
288+
289+ beforeEach ( ( ) => {
290+ formModel = new Control ( "name" ) ;
291+
292+ var parent = new NgFormModel ( ) ;
293+ parent . form = new ControlGroup ( { "name" : formModel } ) ;
294+ controlNameDir = new NgControlName ( parent , new QueryList < any > ( ) ) ;
295+ controlNameDir . name = "name" ;
296+ } ) ;
297+
298+ it ( "should reexport control properties" , ( ) => {
299+ expect ( controlNameDir . control ) . toBe ( formModel ) ;
300+ expect ( controlNameDir . value ) . toBe ( formModel . value ) ;
301+ expect ( controlNameDir . valid ) . toBe ( formModel . valid ) ;
302+ expect ( controlNameDir . errors ) . toBe ( formModel . errors ) ;
303+ expect ( controlNameDir . pristine ) . toBe ( formModel . pristine ) ;
304+ expect ( controlNameDir . dirty ) . toBe ( formModel . dirty ) ;
305+ expect ( controlNameDir . touched ) . toBe ( formModel . touched ) ;
306+ expect ( controlNameDir . untouched ) . toBe ( formModel . untouched ) ;
307+ } ) ;
308+ } ) ;
214309 } ) ;
215310}
0 commit comments