diff --git a/src/lib/select/select.spec.ts b/src/lib/select/select.spec.ts index b774081a9c11..db7e9991555c 100644 --- a/src/lib/select/select.spec.ts +++ b/src/lib/select/select.spec.ts @@ -2225,6 +2225,14 @@ describe('MdSelect', () => { expect(fixture.componentInstance.changeListener).toHaveBeenCalledTimes(1); }); + + it('should only emit one event when pressing the arrow keys on a closed select', () => { + const select = fixture.debugElement.query(By.css('md-select')).nativeElement; + dispatchKeyboardEvent(select, 'keydown', DOWN_ARROW); + + expect(fixture.componentInstance.changeListener).toHaveBeenCalledTimes(1); + }); + }); describe('floatPlaceholder option', () => { diff --git a/src/lib/select/select.ts b/src/lib/select/select.ts index 8601e3066dcb..b2f65e013391 100644 --- a/src/lib/select/select.ts +++ b/src/lib/select/select.ts @@ -1178,7 +1178,6 @@ export class MdSelect extends _MdSelectMixinBase implements AfterContentInit, On if (currentActiveItem !== prevActiveItem) { this._clearSelection(); this._setSelectionByValue(currentActiveItem.value, true); - this._propagateChanges(); } } }