diff --git a/src/openApi/v2/parser/escapeDescription.spec.ts b/src/openApi/v2/parser/escapeDescription.spec.ts index 1196a813..d4aae6d7 100644 --- a/src/openApi/v2/parser/escapeDescription.spec.ts +++ b/src/openApi/v2/parser/escapeDescription.spec.ts @@ -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'); + }); }); diff --git a/src/openApi/v2/parser/escapeDescription.ts b/src/openApi/v2/parser/escapeDescription.ts index fc87533a..087abf8a 100644 --- a/src/openApi/v2/parser/escapeDescription.ts +++ b/src/openApi/v2/parser/escapeDescription.ts @@ -1,3 +1,3 @@ export function escapeDescription(value: string): string { - return value.replace(/`/g, '\\`'); + return value.replace(/([^\\])`/g, '$1\\`'); } diff --git a/src/openApi/v3/parser/escapeDescription.spec.ts b/src/openApi/v3/parser/escapeDescription.spec.ts index 1196a813..d4aae6d7 100644 --- a/src/openApi/v3/parser/escapeDescription.spec.ts +++ b/src/openApi/v3/parser/escapeDescription.spec.ts @@ -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'); + }); }); diff --git a/src/openApi/v3/parser/escapeDescription.ts b/src/openApi/v3/parser/escapeDescription.ts index fc87533a..087abf8a 100644 --- a/src/openApi/v3/parser/escapeDescription.ts +++ b/src/openApi/v3/parser/escapeDescription.ts @@ -1,3 +1,3 @@ export function escapeDescription(value: string): string { - return value.replace(/`/g, '\\`'); + return value.replace(/([^\\])`/g, '$1\\`'); }