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