Skip to content
Snippets Groups Projects
Unverified Commit a7315926 authored by Johann150's avatar Johann150 Committed by GitHub
Browse files

understand other URL schemes too (#73)

parent 88ecadba
No related branches found
No related tags found
No related merge requests found
......@@ -389,6 +389,11 @@ altUrlFormat
{
return text();
}
// URL scheme as defined in https://url.spec.whatwg.org/#url-scheme-string
/ [a-zA-Z] [-a-zA-Z0-9+.]* ":" (!(">" / _) CHAR)+
{
return text();
}
// inline: link
......@@ -412,6 +417,11 @@ linkLabelPart
linkUrl
= url { return text(); }
// URL scheme as defined in https://url.spec.whatwg.org/#url-scheme-string
/ [a-zA-Z] [-a-zA-Z0-9+.]* ":" (!(")" / _) CHAR)+
{
return text();
}
// inline: fn
......
......@@ -882,6 +882,22 @@ hoge`;
];
assert.deepStrictEqual(mfm.parse(input), output);
});
it('do not match other schemes in url withouth angle brackets', () => {
const input = 'oops:url';
const output = [
TEXT('oops:url'),
];
assert.deepStrictEqual(mfm.parse(input), output);
});
it('match other schemes in url with angle brackets', () => {
const input = '<gemini://example.com>';
const output = [
N_URL('gemini://example.com', true),
];
assert.deepStrictEqual(mfm.parse(input), output);
});
});
describe('link', () => {
......@@ -962,6 +978,16 @@ hoge`;
];
assert.deepStrictEqual(mfm.parse(input), output);
});
it('match other schemes without angle brackets', () => {
const input = '[send email](mailto:nobody@example.com?subject=test)';
const output = [
LINK(false, 'mailto:nobody@example.com?subject=test', [
TEXT('send email')
]),
];
assert.deepStrictEqual(mfm.parse(input), output);
});
});
describe('fn v1', () => {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment