diff --git a/app/assets/javascripts/discourse/components/emoji-picker.js.es6 b/app/assets/javascripts/discourse/components/emoji-picker.js.es6 index 8b2f74371d0..e6c8172796c 100644 --- a/app/assets/javascripts/discourse/components/emoji-picker.js.es6 +++ b/app/assets/javascripts/discourse/components/emoji-picker.js.es6 @@ -111,7 +111,7 @@ export default Ember.Component.extend({ this._bindEvents(); - Ember.run.later(this, function() { + this._later(this, function() { this._setDiversity(); this._positionPicker(); this._scrollTo(); @@ -119,6 +119,14 @@ export default Ember.Component.extend({ }); }, + _later(context, handler, timeout) { + if(Ember.testing) { + handler.bind(context)(); + } else { + Ember.run.later(context, handler, timeout); + } + }, + _bindEvents() { this._bindDiversityClick(); this._bindSectionsScroll(); @@ -293,7 +301,7 @@ export default Ember.Component.extend({ if(preloadedSection && !preloadedSection.$section.hasClass("loaded")) { preloadedSection.$section.addClass("loaded"); const $visibleEmojis = preloadedSection.$section.find(".emoji[src='']"); - Ember.run.later(() => { this._loadVisibleEmojis($visibleEmojis); }, 1500); + this._later(this, function() { this._loadVisibleEmojis($visibleEmojis) }, 1500) } } }, diff --git a/test/javascripts/acceptance/emoji-picker-test.js.es6 b/test/javascripts/acceptance/emoji-picker-test.js.es6 index 0894ec1cd7b..4ff94cf2b43 100644 --- a/test/javascripts/acceptance/emoji-picker-test.js.es6 +++ b/test/javascripts/acceptance/emoji-picker-test.js.es6 @@ -112,42 +112,26 @@ QUnit.test("emoji picker has a list of recently used emojis", assert => { "it adds the emoji code to the recently used emojis list" ); }); -}); -QUnit.test("emoji picker can clear recently used emojis", assert => { - visit("/t/internationalization-localization/280"); - click("#topic-footer-buttons .btn.create"); - click("button.emoji.btn"); - - click(".emoji-picker a[title='grinning']"); - click(".emoji-picker a[title='sunglasses']"); - click(".emoji-picker a[title='sunglasses']"); + click(".emoji-picker .clear-recent"); andThen(() => { assert.equal( find('.section[data-section="recent"] .section-group img.emoji').length, - 2 + 0, + "it has cleared recent emojis" ); - click(".emoji-picker .clear-recent"); - andThen(() => { - assert.equal( - find('.section[data-section="recent"] .section-group img.emoji').length, - 0, - "it has cleared recent emojis" - ); + assert.equal( + find('.section[data-section="recent"]').css("display"), + "none", + "it hides recent section" + ); - assert.equal( - find('.section[data-section="recent"]').css("display"), - "none", - "it hides recent section" - ); - - assert.equal( - find('.category-icon a[title="recent"]').parent().css("display"), - "none", - "it hides recent category icon" - ); - }); + assert.equal( + find('.category-icon a[title="recent"]').parent().css("display"), + "none", + "it hides recent category icon" + ); }); });