mirror of
https://activitypub.software/TransFem-org/sfm-js
synced 2024-11-21 21:55:09 +00:00
understand other URL schemes too (#73)
This commit is contained in:
parent
88ecadba67
commit
a7315926ab
2 changed files with 36 additions and 0 deletions
|
@ -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', () => {
|
||||
|
|
Loading…
Reference in a new issue