n8n/packages/@n8n/eslint-config/src/rules/no-json-parse-json-stringify.test.ts

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

35 lines
920 B
TypeScript
Raw Normal View History

2025-06-27 08:42:47 +00:00
import { RuleTester } from '@typescript-eslint/rule-tester';
import { NoJsonParseJsonStringifyRule } from './no-json-parse-json-stringify.js';
const ruleTester = new RuleTester();
ruleTester.run('no-json-parse-json-stringify', NoJsonParseJsonStringifyRule, {
valid: [
{
code: 'deepCopy(foo)',
},
],
invalid: [
{
code: 'JSON.parse(JSON.stringify(foo))',
errors: [{ messageId: 'noJsonParseJsonStringify' }],
output: 'deepCopy(foo)',
},
{
code: 'JSON.parse(JSON.stringify(foo.bar))',
errors: [{ messageId: 'noJsonParseJsonStringify' }],
output: 'deepCopy(foo.bar)',
},
{
code: 'JSON.parse(JSON.stringify(foo.bar.baz))',
errors: [{ messageId: 'noJsonParseJsonStringify' }],
output: 'deepCopy(foo.bar.baz)',
},
{
code: 'JSON.parse(JSON.stringify(foo.bar[baz]))',
errors: [{ messageId: 'noJsonParseJsonStringify' }],
output: 'deepCopy(foo.bar[baz])',
},
],
});