import { GeneralSteps, Pipeline } from '@ephox/agar'; import { UnitTest } from '@ephox/bedrock'; import { TinyApis, TinyLoader, TinyUi } from '@ephox/mcagar'; import Plugin from 'tinymce/plugins/media/Plugin'; import Theme from 'tinymce/themes/modern/Theme'; import Utils from '../module/test/Utils'; UnitTest.asynctest('browser.core.DataAttributeTest', function () { const success = arguments[arguments.length - 2]; const failure = arguments[arguments.length - 1]; Plugin(); Theme(); const sTestEmbedContentFromUrlWithAttribute = function (ui, url, content) { return GeneralSteps.sequence([ Utils.sOpenDialog(ui), Utils.sPasteSourceValue(ui, url), Utils.sAssertEmbedContent(ui, content), Utils.sSubmitAndReopen(ui), Utils.sAssertSourceValue(ui, url), Utils.sCloseDialog(ui) ]); }; const sTestEmbedContentFromUrl2 = function (ui, url, url2, content, content2) { return GeneralSteps.sequence([ Utils.sOpenDialog(ui), Utils.sPasteSourceValue(ui, url), Utils.sAssertEmbedContent(ui, content), Utils.sSubmitAndReopen(ui), Utils.sAssertSourceValue(ui, url), Utils.sPasteSourceValue(ui, url2), Utils.sAssertEmbedContent(ui, content2), Utils.sCloseDialog(ui) ]); }; TinyLoader.setup(function (editor, onSuccess, onFailure) { const ui = TinyUi(editor); const api = TinyApis(editor); Pipeline.async({}, [ sTestEmbedContentFromUrlWithAttribute(ui, 'a', '
' ), sTestEmbedContentFromUrl2(ui, 'a', 'b', '
', '
' ), Utils.sTestEmbedContentFromUrl(ui, 'a', '
' ), Utils.sAssertSizeRecalcConstrained(ui), Utils.sAssertSizeRecalcUnconstrained(ui), api.sSetContent(''), Utils.sAssertSizeRecalcConstrainedReopen(ui) ], onSuccess, onFailure); }, { plugins: ['media'], toolbar: 'media', media_url_resolver (data, resolve) { resolve({ html: '
' }); }, skin_url: '/project/js/tinymce/skins/lightgray' }, success, failure); });