import { LegacyUnit } from '@ephox/mcagar'; import { Pipeline } from '@ephox/agar'; import DomParser from 'tinymce/core/api/html/DomParser'; import Serializer from 'tinymce/core/api/html/Serializer'; import Schema from 'tinymce/core/api/html/Schema'; import { UnitTest } from '@ephox/bedrock'; UnitTest.asynctest('browser.tinymce.core.html.SerializerTest', function () { const success = arguments[arguments.length - 2]; const failure = arguments[arguments.length - 1]; const suite = LegacyUnit.createSuite(); suite.test('Basic serialization', function () { const serializer = Serializer(); LegacyUnit.equal(serializer.serialize(DomParser().parse('texttext')), 'text' ); LegacyUnit.equal(serializer.serialize(DomParser().parse('')), ''); LegacyUnit.equal(serializer.serialize(DomParser().parse('')), ''); LegacyUnit.equal(serializer.serialize(DomParser().parse('')), ''); LegacyUnit.equal(serializer.serialize(DomParser().parse('')), ''); }); suite.test('Sorting of attributes', function () { const serializer = Serializer(); LegacyUnit.equal( serializer.serialize(DomParser().parse('x')), 'x' ); }); suite.test('Serialize with validate: true, when parsing with validate:false bug', function () { const schema = Schema({ valid_elements: 'b' }); const serializer = Serializer({}, schema); LegacyUnit.equal( serializer.serialize(DomParser({ validate: false }, schema).parse('ab')), 'ab' ); }); Pipeline.async({}, suite.toSteps({}), function () { success(); }, failure); });