import { Pipeline, RawAssertions, Step } from '@ephox/agar'; import DOMUtils from 'tinymce/core/api/dom/DOMUtils'; import TrimNode from 'tinymce/core/dom/TrimNode'; import { UnitTest } from '@ephox/bedrock'; UnitTest.asynctest('browser.tinymce.core.dom.TrimNodeTest', function () { const success = arguments[arguments.length - 2]; const failure = arguments[arguments.length - 1]; const dom = DOMUtils(document, {}); const sTestTrim = function (inputHtml, expectedTrimmedHtml) { return Step.sync(function () { const elm = document.createElement('div'); elm.innerHTML = inputHtml; TrimNode.trimNode(dom, elm.firstChild); const actual = elm.innerHTML; RawAssertions.assertEq('is correct trimmed html', expectedTrimmedHtml, actual); }); }; const sTestTrimDocumentNode = Step.sync(function () { const expected = document.implementation.createHTMLDocument('test'); const actual = TrimNode.trimNode(dom, expected); RawAssertions.assertEq('Should return document as is', true, actual === expected); }); Pipeline.async({}, [ sTestTrim('
x
', 'x
'), sTestTrim('x
', 'x
'), sTestTrim('x x
', 'x x
'), sTestTrim('y
', 'y
'), sTestTrim('a b c
', 'a b c
'), sTestTrimDocumentNode ], function () { success(); }, failure); });