From df95457468070fb7be29442ae9041db7c5c62aa0 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Wed, 5 Jun 2019 14:52:38 +0200 Subject: [PATCH] DEV: d-editor helper should be synchronous (#7706) Also ensures trigger has happened before assertion and prevents leaking formatTextWithSelection into global context --- test/javascripts/components/d-editor-test.js.es6 | 15 +++++++++------ ...{d-editor-helper.js => d-editor-helper.js.es6} | 8 ++------ test/javascripts/test_helper.js | 1 - 3 files changed, 11 insertions(+), 13 deletions(-) rename test/javascripts/helpers/{d-editor-helper.js => d-editor-helper.js.es6} (57%) diff --git a/test/javascripts/components/d-editor-test.js.es6 b/test/javascripts/components/d-editor-test.js.es6 index 612d67de08e..edb1a53d6da 100644 --- a/test/javascripts/components/d-editor-test.js.es6 +++ b/test/javascripts/components/d-editor-test.js.es6 @@ -1,5 +1,6 @@ import componentTest from "helpers/component-test"; import { withPluginApi } from "discourse/lib/plugin-api"; +import formatTextWithSelection from "helpers/d-editor-helper"; moduleForComponent("d-editor", { integration: true }); @@ -797,12 +798,14 @@ composerTestCase("replace-text event for composer", async function(assert) { .lookup("app-events:main") .trigger("composer:replace-text", "green", "yellow", { forceFocus: true }); - let expect = await formatTextWithSelection(AFTER, CASE.after); // eslint-disable-line no-undef - let actual = await formatTextWithSelection( // eslint-disable-line no-undef - this.value, - getTextareaSelection(textarea) - ); - assert.equal(actual, expect); + Ember.run.next(() => { + let expect = formatTextWithSelection(AFTER, CASE.after); + let actual = formatTextWithSelection( + this.value, + getTextareaSelection(textarea) + ); + assert.equal(actual, expect); + }); }); } })(); diff --git a/test/javascripts/helpers/d-editor-helper.js b/test/javascripts/helpers/d-editor-helper.js.es6 similarity index 57% rename from test/javascripts/helpers/d-editor-helper.js rename to test/javascripts/helpers/d-editor-helper.js.es6 index 42454376450..412409e8434 100644 --- a/test/javascripts/helpers/d-editor-helper.js +++ b/test/javascripts/helpers/d-editor-helper.js.es6 @@ -1,8 +1,4 @@ -Ember.Test.registerAsyncHelper("formatTextWithSelection", function( - app, - text, - [start, len] -) { +export default function formatTextWithSelection(text, [start, len]) { return [ '"', text.substr(0, start), @@ -12,4 +8,4 @@ Ember.Test.registerAsyncHelper("formatTextWithSelection", function( text.substr(start + len), '"' ].join(""); -}); +} diff --git a/test/javascripts/test_helper.js b/test/javascripts/test_helper.js index deeaf54ed7b..1fe03be5216 100644 --- a/test/javascripts/test_helper.js +++ b/test/javascripts/test_helper.js @@ -32,7 +32,6 @@ //= require helpers/assertions //= require helpers/textarea-selection //= require helpers/select-kit-helper -//= require helpers/d-editor-helper //= require helpers/qunit-helpers //= require_tree ./fixtures