diff --git a/src/lib/slider/slider.spec.ts b/src/lib/slider/slider.spec.ts index 4268ce0e5b0f..149d37f0ad12 100644 --- a/src/lib/slider/slider.spec.ts +++ b/src/lib/slider/slider.spec.ts @@ -659,6 +659,24 @@ describe('MdSlider', () => { expect(sliderInstance.value).toBe(7); }); + it('should update the disabled state when control is disabled', () => { + expect(sliderInstance.disabled).toBe(false); + + testComponent.control.disable(); + fixture.detectChanges(); + + expect(sliderInstance.disabled).toBe(true); + }); + + it('should update the disabled state when the control is enabled', () => { + sliderInstance.disabled = true; + + testComponent.control.enable(); + fixture.detectChanges(); + + expect(sliderInstance.disabled).toBe(false); + }); + // TODO: Add tests for ng-pristine, ng-touched, ng-invalid. }); diff --git a/src/lib/slider/slider.ts b/src/lib/slider/slider.ts index a91108e605fa..e0cc9290878b 100644 --- a/src/lib/slider/slider.ts +++ b/src/lib/slider/slider.ts @@ -387,6 +387,13 @@ export class MdSlider implements AfterContentInit, ControlValueAccessor { registerOnTouched(fn: any) { this.onTouched = fn; } + + /** + * Implemented as part of ControlValueAccessor + */ + setDisabledState(isDisabled: boolean) { + this.disabled = isDisabled; + } } /**