FIX: bbcode regex was greedy and preventing quotes

This commit is contained in:
Joffrey JAFFEUX 2018-05-23 11:55:02 +02:00 committed by GitHub
parent fac4bf2f85
commit dd76ba90b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 1 deletions

View File

@ -11,7 +11,7 @@ function trailingSpaceOnly(src, start, max) {
return true; return true;
} }
const ATTR_REGEX = /^\s*=(.+)$|((([a-z0-9]*)\s*)=)(["“”'].*["“”']|\S+)/ig; const ATTR_REGEX = /^\s*=(.+)$|((([a-z0-9]*)\s*)=)(["“”'].*?["“”']|\S+)/ig;
// parse a tag [test a=1 b=2] to a data structure // parse a tag [test a=1 b=2] to a data structure
// {tag: "test", attrs={a: "1", b: "2"} // {tag: "test", attrs={a: "1", b: "2"}

View File

@ -0,0 +1,11 @@
import { parseBBCodeTag } from 'pretty-text/engines/discourse-markdown/bbcode-block';
QUnit.module("lib:pretty-text:bbcode");
QUnit.test("block with multiple quoted attributes", assert => {
const parsed = parseBBCodeTag('[test one="foo" two="bar bar"]', 0, 30);
assert.equal(parsed.tag, "test");
assert.equal(parsed.attrs.one, "foo");
assert.equal(parsed.attrs.two, "bar bar");
});