@@ -38,6 +38,7 @@ import {
3838
3939import { selectValueAccessor } from 'angular2/src/core/forms/directives/shared' ;
4040
41+ import { SimpleChange } from 'angular2/src/core/change_detection' ;
4142
4243class DummyControlValueAccessor implements ControlValueAccessor {
4344 writtenValue ;
@@ -275,6 +276,16 @@ export function main() {
275276 describe ( "NgFormControl" , ( ) => {
276277 var controlDir ;
277278 var control ;
279+ var checkProperties = function ( control ) {
280+ expect ( controlDir . control ) . toBe ( control ) ;
281+ expect ( controlDir . value ) . toBe ( control . value ) ;
282+ expect ( controlDir . valid ) . toBe ( control . valid ) ;
283+ expect ( controlDir . errors ) . toBe ( control . errors ) ;
284+ expect ( controlDir . pristine ) . toBe ( control . pristine ) ;
285+ expect ( controlDir . dirty ) . toBe ( control . dirty ) ;
286+ expect ( controlDir . touched ) . toBe ( control . touched ) ;
287+ expect ( controlDir . untouched ) . toBe ( control . untouched ) ;
288+ } ;
278289
279290 beforeEach ( ( ) => {
280291 controlDir = new NgFormControl ( [ ] , [ defaultAccessor ] ) ;
@@ -284,15 +295,14 @@ export function main() {
284295 controlDir . form = control ;
285296 } ) ;
286297
287- it ( "should reexport control properties" , ( ) => {
288- expect ( controlDir . control ) . toBe ( control ) ;
289- expect ( controlDir . value ) . toBe ( control . value ) ;
290- expect ( controlDir . valid ) . toBe ( control . valid ) ;
291- expect ( controlDir . errors ) . toBe ( control . errors ) ;
292- expect ( controlDir . pristine ) . toBe ( control . pristine ) ;
293- expect ( controlDir . dirty ) . toBe ( control . dirty ) ;
294- expect ( controlDir . touched ) . toBe ( control . touched ) ;
295- expect ( controlDir . untouched ) . toBe ( control . untouched ) ;
298+ it ( "should reexport control properties" , ( ) => { checkProperties ( control ) ; } ) ;
299+
300+ it ( "should reexport new control properties" , ( ) => {
301+ var newControl = new Control ( null ) ;
302+ controlDir . form = newControl ;
303+ controlDir . onChanges ( { "form" : new SimpleChange ( control , newControl ) } ) ;
304+
305+ checkProperties ( newControl ) ;
296306 } ) ;
297307
298308 it ( "should set up validator" , ( ) => {
@@ -301,7 +311,7 @@ export function main() {
301311 expect ( control . valid ) . toBe ( true ) ;
302312
303313 // this will add the required validator and recalculate the validity
304- controlDir . onChanges ( { } ) ;
314+ controlDir . onChanges ( { "form" : new SimpleChange ( null , control ) } ) ;
305315
306316 expect ( control . valid ) . toBe ( false ) ;
307317 } ) ;
0 commit comments