util: Handle trailing LTR/RTL markers in URLs
Some electron apps apparently spread those generously over their notification text, so may sure to not include them accidentally in URLs. https://gitlab.gnome.org/GNOME/gnome-shell/issues/1614
This commit is contained in:
parent
efed695eca
commit
252e694979
@ -14,7 +14,7 @@ var SCROLL_TIME = 100;
|
|||||||
// http://daringfireball.net/2010/07/improved_regex_for_matching_urls
|
// http://daringfireball.net/2010/07/improved_regex_for_matching_urls
|
||||||
const _balancedParens = '\\([^\\s()<>]+\\)';
|
const _balancedParens = '\\([^\\s()<>]+\\)';
|
||||||
const _leadingJunk = '[\\s`(\\[{\'\\"<\u00AB\u201C\u2018]';
|
const _leadingJunk = '[\\s`(\\[{\'\\"<\u00AB\u201C\u2018]';
|
||||||
const _notTrailingJunk = '[^\\s`!()\\[\\]{};:\'\\".,<>?\u00AB\u00BB\u201C\u201D\u2018\u2019]';
|
const _notTrailingJunk = '[^\\s`!()\\[\\]{};:\'\\".,<>?\u00AB\u00BB\u200E\u200F\u201C\u201D\u2018\u2019\u202A\u202C]';
|
||||||
|
|
||||||
const _urlRegexp = new RegExp(
|
const _urlRegexp = new RegExp(
|
||||||
`(^|${_leadingJunk})` +
|
`(^|${_leadingJunk})` +
|
||||||
|
@ -42,6 +42,8 @@ const tests = [
|
|||||||
output: [ { url: 'https://www.gnome.org/(some_url,_with_very_unusual_characters)', pos: 0 } ] },
|
output: [ { url: 'https://www.gnome.org/(some_url,_with_very_unusual_characters)', pos: 0 } ] },
|
||||||
{ input: 'https://www.gnome.org/(some_url_with_unbalanced_parenthesis',
|
{ input: 'https://www.gnome.org/(some_url_with_unbalanced_parenthesis',
|
||||||
output: [ { url: 'https://www.gnome.org/', pos: 0 } ] },
|
output: [ { url: 'https://www.gnome.org/', pos: 0 } ] },
|
||||||
|
{ input: 'https://www.gnome.org/ plus trailing junk',
|
||||||
|
output: [ { url: 'https://www.gnome.org/', pos: 0 } ] },
|
||||||
|
|
||||||
{ input: 'Visit http://www.gnome.org/ and http://developer.gnome.org',
|
{ input: 'Visit http://www.gnome.org/ and http://developer.gnome.org',
|
||||||
output: [ { url: 'http://www.gnome.org/', pos: 6 },
|
output: [ { url: 'http://www.gnome.org/', pos: 6 },
|
||||||
|
Loading…
Reference in New Issue
Block a user