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;