diff --git a/src/parser/model/ParserHtml.ts b/src/parser/model/ParserHtml.ts index 398c7852b..8c5768630 100644 --- a/src/parser/model/ParserHtml.ts +++ b/src/parser/model/ParserHtml.ts @@ -16,7 +16,7 @@ type HTMLParseResult = { const modelAttrStart = 'data-gjs-'; const event = 'parse:html'; -const ParserHtml = (em?: EditorModel, config: ParserConfig = {}) => { +const ParserHtml = (em?: EditorModel, config: ParserConfig & { returnArray?: boolean } = {}) => { return { compTypes: '', @@ -280,7 +280,7 @@ const ParserHtml = (em?: EditorModel, config: ParserConfig = {}) => { * @param {ParserCss} parserCss In case there is style tags inside HTML * @return {Object} */ - parse(str: string, parserCss: any, opts: HTMLParserOptions = {}) { + parse(str: string, parserCss?: any, opts: HTMLParserOptions = {}) { const conf = em?.get('Config') || {}; const res: HTMLParseResult = {}; const cf: ObjectAny = { ...config, ...opts }; diff --git a/test/specs/parser/model/ParserHtml.js b/test/specs/parser/model/ParserHtml.ts similarity index 96% rename from test/specs/parser/model/ParserHtml.js rename to test/specs/parser/model/ParserHtml.ts index e832d2c2f..0a5556054 100644 --- a/test/specs/parser/model/ParserHtml.js +++ b/test/specs/parser/model/ParserHtml.ts @@ -1,24 +1,19 @@ -import ParserHtml from 'parser/model/ParserHtml'; -import ParserCss from 'parser/model/ParserCss'; -import DomComponents from 'dom_components'; -import Editor from 'editor/model/Editor'; +import ParserHtml from '../../../../src/parser/model/ParserHtml'; +import ParserCss from '../../../../src/parser/model/ParserCss'; +import DomComponents from '../../../../src/dom_components'; +import Editor from '../../../../src/editor/model/Editor'; describe('ParserHtml', () => { - var obj; + let obj: ReturnType; beforeEach(() => { const em = new Editor({}); var dom = new DomComponents(em); - obj = new ParserHtml(em, { + obj = ParserHtml(em, { textTags: ['br', 'b', 'i', 'u'], - pStylePrefix: 'gjs-', - returnArray: 1, + returnArray: true, }); - obj.compTypes = dom.componentTypes; - }); - - afterEach(() => { - obj = null; + obj.compTypes = dom.componentTypes as any; }); test('Simple div node', () => { @@ -381,7 +376,7 @@ describe('ParserHtml', () => { style: { color: 'blue' }, }, ]; - var res = obj.parse(str, new ParserCss()); + var res = obj.parse(str, ParserCss()); expect(res.html).toEqual(resHtml); expect(res.css).toEqual(resCss); }); @@ -424,7 +419,7 @@ describe('ParserHtml', () => { }, ]; - const res = obj.parse(str, new ParserCss()); + const res = obj.parse(str, ParserCss()); expect(res.css).toEqual(expected); });