diff --git a/src/core/render/tpl.js b/src/core/render/tpl.js index 2bad3a311..595cdff76 100644 --- a/src/core/render/tpl.js +++ b/src/core/render/tpl.js @@ -91,7 +91,8 @@ export function tree(toc, tpl = '') { let innerHTML = ''; toc.forEach(node => { - innerHTML += `
  • ${node.title}
  • `; + const title = node.title.replace(/(<([^>]+)>)/g, ''); + innerHTML += `
  • ${node.title}
  • `; if (node.children) { innerHTML += tree(node.children, tpl); } diff --git a/test/unit/render-util.test.js b/test/unit/render-util.test.js index 3a82a0f9d..5d556168f 100644 --- a/test/unit/render-util.test.js +++ b/test/unit/render-util.test.js @@ -1,4 +1,5 @@ const { removeAtag } = require(`${SRC_PATH}/core/render/utils`); +const { tree } = require(`${SRC_PATH}/core/render/tpl`); // Suite // ----------------------------------------------------------------------------- @@ -13,3 +14,30 @@ describe('core/render/utils', () => { }); }); }); + +describe('core/render/tpl', () => { + test('remove html tag in tree', () => { + const result = tree([ + { + level: 2, + slug: '#/cover?id=basic-usage', + title: 'Basic usage', + }, + { + level: 2, + slug: '#/cover?id=custom-background', + title: 'Custom background', + }, + { + level: 2, + slug: '#/cover?id=test', + title: + 'icoTest', + }, + ]); + + expect(result).toEqual( + `` + ); + }); +});