fix(button): remove disabled attribute when disabled value is false for MdAnchor (#1789)

This commit is contained in:
tinayuangao
2016-11-11 14:26:00 -08:00
committed by Jeremy Elbourn
parent 4183fbc000
commit 716372bc85
2 changed files with 20 additions and 2 deletions
+18
View File
@@ -127,6 +127,24 @@ describe('MdButton', () => {
fixture.detectChanges();
expect(buttonDebugElement.nativeElement.getAttribute('aria-disabled')).toBe('true');
});
it('should not add aria-disabled attribute if disabled is false', () => {
let fixture = TestBed.createComponent(TestApp);
let testComponent = fixture.debugElement.componentInstance;
let buttonDebugElement = fixture.debugElement.query(By.css('a'));
fixture.detectChanges();
expect(buttonDebugElement.nativeElement.getAttribute('aria-disabled'))
.toBe('false', 'Expect aria-disabled="false"');
expect(buttonDebugElement.nativeElement.getAttribute('disabled'))
.toBeNull('Expect disabled="false"');
testComponent.isDisabled = false;
fixture.detectChanges();
expect(buttonDebugElement.nativeElement.getAttribute('aria-disabled'))
.toBe('false', 'Expect no aria-disabled');
expect(buttonDebugElement.nativeElement.getAttribute('disabled'))
.toBeNull('Expect no disabled');
});
});
// Ripple tests.
+2 -2
View File
@@ -43,7 +43,7 @@ export class MdButton {
/** Whether the ripple effect on click should be disabled. */
private _disableRipple: boolean = false;
private _disabled: boolean = false;
private _disabled: boolean = null;
@Input()
get disableRipple() { return this._disableRipple; }
@@ -51,7 +51,7 @@ export class MdButton {
@Input()
get disabled() { return this._disabled; }
set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value); }
set disabled(value: boolean) { this._disabled = coerceBooleanProperty(value) ? true : null; }
constructor(private _elementRef: ElementRef, private _renderer: Renderer) { }