Backquote/backtick symbol (`) is not escaped correctly

This commit is contained in:
Raman Savitski 2020-11-27 19:43:37 +03:00
parent df9e447aa3
commit 2fcd655b7d
4 changed files with 14 additions and 6 deletions

View File

@ -2,8 +2,12 @@ import { escapeDescription } from './escapeDescription';
describe('escapeDescription', () => {
it('should escape', () => {
expect(escapeDescription('')).toEqual('');
expect(escapeDescription('fooBar')).toEqual('fooBar');
expect(escapeDescription('foo `test` bar')).toEqual('foo \\`test\\` bar');
});
it('should not escape', () => {
expect(escapeDescription('')).toEqual('');
expect(escapeDescription('fooBar')).toEqual('fooBar');
expect(escapeDescription('foo \\`test\\` bar')).toEqual('foo \\`test\\` bar');
});
});

View File

@ -1,3 +1,3 @@
export function escapeDescription(value: string): string {
return value.replace(/`/g, '\\`');
return value.replace(/([^\\])`/g, '$1\\`');
}

View File

@ -2,8 +2,12 @@ import { escapeDescription } from './escapeDescription';
describe('escapeDescription', () => {
it('should escape', () => {
expect(escapeDescription('')).toEqual('');
expect(escapeDescription('fooBar')).toEqual('fooBar');
expect(escapeDescription('foo `test` bar')).toEqual('foo \\`test\\` bar');
});
it('should not escape', () => {
expect(escapeDescription('')).toEqual('');
expect(escapeDescription('fooBar')).toEqual('fooBar');
expect(escapeDescription('foo \\`test\\` bar')).toEqual('foo \\`test\\` bar');
});
});

View File

@ -1,3 +1,3 @@
export function escapeDescription(value: string): string {
return value.replace(/`/g, '\\`');
return value.replace(/([^\\])`/g, '$1\\`');
}