@@ -874,7 +874,7 @@ describe('MatCheckbox', () => {
874874 let inputElement : HTMLInputElement ;
875875 let ngModel : NgModel ;
876876
877- beforeEach ( ( ) => {
877+ beforeEach ( fakeAsync ( ( ) => {
878878 fixture = createComponent ( CheckboxWithNgModel ) ;
879879
880880 fixture . componentInstance . isRequired = false ;
@@ -885,7 +885,7 @@ describe('MatCheckbox', () => {
885885 checkboxInstance = checkboxDebugElement . componentInstance ;
886886 inputElement = < HTMLInputElement > checkboxNativeElement . querySelector ( 'input' ) ;
887887 ngModel = checkboxDebugElement . injector . get < NgModel > ( NgModel ) ;
888- } ) ;
888+ } ) ) ;
889889
890890 it ( 'should be pristine, untouched, and valid initially' , ( ) => {
891891 expect ( ngModel . valid ) . toBe ( true ) ;
@@ -984,6 +984,18 @@ describe('MatCheckbox', () => {
984984 expect ( checkboxInstance . checked ) . toBe ( false ) ;
985985 expect ( ngModel . valid ) . toBe ( false ) ;
986986 } ) ;
987+
988+ it ( 'should updated the ngModel value when using the `toggle` method' , fakeAsync ( ( ) => {
989+ const checkbox = fixture . debugElement . query ( By . directive ( MatCheckbox ) ) . componentInstance ;
990+
991+ expect ( fixture . componentInstance . isGood ) . toBe ( false ) ;
992+
993+ checkbox . toggle ( ) ;
994+ fixture . detectChanges ( ) ;
995+
996+ expect ( fixture . componentInstance . isGood ) . toBe ( true ) ;
997+ } ) ) ;
998+
987999 } ) ;
9881000
9891001 describe ( 'with name attribute' , ( ) => {
0 commit comments