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