diff --git a/src/lib/input/input-container.spec.ts b/src/lib/input/input-container.spec.ts index defb792f5a9f..df092c0074d2 100644 --- a/src/lib/input/input-container.spec.ts +++ b/src/lib/input/input-container.spec.ts @@ -38,6 +38,7 @@ describe('MdInputContainer', function () { MdInputContainerTextTestController, MdInputContainerPasswordTestController, MdInputContainerNumberTestController, + MdInputContainerZeroTestController, MdTextareaWithBindings, MdInputContainerWithDisabled, MdInputContainerMissingMdInputTestController @@ -127,6 +128,19 @@ describe('MdInputContainer', function () { expect(el.classList.contains('md-empty')).toBe(false, 'should not be empty'); })); + it('should not treat the number 0 as empty', async(() => { + let fixture = TestBed.createComponent(MdInputContainerZeroTestController); + fixture.detectChanges(); + + fixture.whenStable().then(() => { + fixture.detectChanges(); + + let el = fixture.debugElement.query(By.css('label')).nativeElement; + expect(el).not.toBeNull(); + expect(el.classList.contains('md-empty')).toBe(false); + }); + })); + it('should add id', () => { let fixture = TestBed.createComponent(MdInputContainerTextTestController); fixture.detectChanges(); @@ -405,6 +419,16 @@ class MdInputContainerPasswordTestController {} }) class MdInputContainerNumberTestController {} +@Component({ + template: ` + + + ` +}) +class MdInputContainerZeroTestController { + value = 0; +} + @Component({ template: ` diff --git a/src/lib/input/input-container.ts b/src/lib/input/input-container.ts index 241a6738633e..4402aeb00e9b 100644 --- a/src/lib/input/input-container.ts +++ b/src/lib/input/input-container.ts @@ -118,7 +118,7 @@ export class MdInputDirective implements AfterContentInit { */ @Output() _placeholderChange = new EventEmitter(); - get empty() { return (this.value == null || this.value == '') && !this._isNeverEmpty(); } + get empty() { return (this.value == null || this.value === '') && !this._isNeverEmpty(); } focused = false;