Skip to content

Commit

Permalink
fix(button): remove disabled attribute when disabled value is false…
Browse files Browse the repository at this point in the history
… for MdAnchor (#1789)
  • Loading branch information
tinayuangao authored and jelbourn committed Nov 11, 2016
1 parent 4183fbc commit 716372b
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 2 deletions.
18 changes: 18 additions & 0 deletions src/lib/button/button.spec.ts
Expand Up @@ -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.
Expand Down
4 changes: 2 additions & 2 deletions src/lib/button/button.ts
Expand Up @@ -43,15 +43,15 @@ 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; }
set disableRipple(v) { this._disableRipple = coerceBooleanProperty(v); }

@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) { }

Expand Down

0 comments on commit 716372b

Please sign in to comment.