diff --git a/src/lib/input/input-container.spec.ts b/src/lib/input/input-container.spec.ts index c0c2bd1985c6..887fdc1babfa 100644 --- a/src/lib/input/input-container.spec.ts +++ b/src/lib/input/input-container.spec.ts @@ -33,6 +33,7 @@ describe('MdInputContainer', function () { MdInputContainerTextTestController, MdInputContainerPasswordTestController, MdInputContainerNumberTestController, + MdInputContainerZeroTestController, MdTextareaWithBindings, MdInputContainerWithDisabled, ], @@ -121,6 +122,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(); @@ -395,6 +409,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 4fedf96e7cd7..6a9a4f46c601 100644 --- a/src/lib/input/input-container.ts +++ b/src/lib/input/input-container.ts @@ -117,7 +117,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;