DEV: d-editor helper should be synchronous (#7706)

Also ensures trigger has happened before assertion and prevents leaking formatTextWithSelection into global context
This commit is contained in:
Joffrey JAFFEUX 2019-06-05 14:52:38 +02:00 committed by GitHub
parent a77d8bee68
commit df95457468
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 11 additions and 13 deletions

View File

@ -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);
});
});
}
})();

View File

@ -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("");
});
}

View File

@ -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