diff --git a/lib/utils.js b/lib/utils.js index b3d227a..c01eb41 100644 --- a/lib/utils.js +++ b/lib/utils.js @@ -27,9 +27,9 @@ function escapeSymbols(text, textType = 'text') { .replace(/\\/g, '\\\\') case 'link': return text + .replace(/\\/g, '\\\\') .replace(/\(/g, '\\(') .replace(/\)/g, '\\)') - .replace(/\\/g, '\\\\') default: return text .replace(/_/g, '\\_') diff --git a/tests/convert.spec.js b/tests/convert.spec.js index 5c09323..6730b69 100644 --- a/tests/convert.spec.js +++ b/tests/convert.spec.js @@ -89,6 +89,12 @@ describe('Test convert method', () => { expect(convert(markdown)).toBe(tgMarkdown); }); + it('Link with parentheses', () => { + const markdown = '[Atlassian](http://atlas()sian.com)'; + const tgMarkdown = '[Atlassian](http://atlas\\(\\)sian.com)\n'; + expect(convert(markdown)).toBe(tgMarkdown); + }); + it('Link in reference style with alt', () => { const markdown = '[Atlassian]\n\n[atlassian]: http://atlassian.com'; const tgMarkdown = '[Atlassian](http://atlassian.com)\n';