logo

pleroma-fe

My custom branche(s) on git.pleroma.social/pleroma/pleroma-fe git clone https://hacktivis.me/git/pleroma-fe.git
commit: b0ae32e309134f0e91026c6712f2e9081f493c22
parent 22c8f71945c6d114bf4db89c87eb1b166775f2d6
Author: Henry Jameson <me@hjkos.com>
Date:   Mon,  7 Jun 2021 16:31:39 +0300

made getAttrs correctly handle both ' and "

Diffstat:

Msrc/services/mini_html_converter/mini_html_converter.service.js4++--
Mtest/unit/specs/services/tiny_post_html_processor/mini_post_html_processor.spec.js2+-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/services/mini_html_converter/mini_html_converter.service.js b/src/services/mini_html_converter/mini_html_converter.service.js @@ -128,11 +128,11 @@ export const getAttrs = tag => { .replace(new RegExp('^' + getTagName(tag)), '') .replace(/\/?$/, '') .trim() - const attrs = Array.from(innertag.matchAll(/([a-z0-9-]+)(?:=(?:"([^"]+?)"|'([^']+?)'))?/gi)) + const attrs = Array.from(innertag.matchAll(/([a-z0-9-]+)(?:=("[^"]+?"|'[^']+?'))?/gi)) .map(([trash, key, value]) => [key, value]) .map(([k, v]) => { if (!v) return [k, true] - return [k, v] + return [k, v.substring(1, v.length - 1)] }) return Object.fromEntries(attrs) } diff --git a/test/unit/specs/services/tiny_post_html_processor/mini_post_html_processor.spec.js b/test/unit/specs/services/tiny_post_html_processor/mini_post_html_processor.spec.js @@ -157,7 +157,7 @@ describe('MiniHtmlConverter', () => { describe('getAttrs', () => { it('extracts arguments from tag', () => { - const input = '<img src="boop" cool ebin="true">' + const input = '<img src="boop" cool ebin=\'true\'>' const output = { src: 'boop', cool: true, ebin: 'true' } expect(getAttrs(input)).to.eql(output)