2022-09-26 01:08:59 -07:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const rules = require('./local-rules'),
|
|
|
|
RuleTester = require('eslint').RuleTester;
|
|
|
|
|
|
|
|
const ruleTester = new RuleTester();
|
|
|
|
|
|
|
|
ruleTester.run('no-uncaught-json-parse', rules['no-uncaught-json-parse'], {
|
|
|
|
valid: [
|
|
|
|
{
|
|
|
|
code: 'try { JSON.parse(foo) } catch (e) {}',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
code: 'JSON.parse(JSON.stringify(foo))',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
invalid: [
|
|
|
|
{
|
|
|
|
code: 'JSON.parse(foo)',
|
|
|
|
errors: [{ messageId: 'noUncaughtJsonParse' }],
|
|
|
|
},
|
|
|
|
],
|
|
|
|
});
|
2022-10-19 00:36:25 -07:00
|
|
|
|
|
|
|
ruleTester.run('no-json-parse-json-stringify', rules['no-json-parse-json-stringify'], {
|
|
|
|
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])',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
});
|
2025-01-20 09:20:04 -08:00
|
|
|
|
|
|
|
ruleTester.run('no-useless-catch-throw', rules['no-useless-catch-throw'], {
|
|
|
|
valid: [
|
|
|
|
{
|
|
|
|
code: 'try { foo(); } catch (e) { console.error(e); }',
|
|
|
|
},
|
|
|
|
{
|
|
|
|
code: 'try { foo(); } catch (e) { throw new Error("Custom error"); }',
|
|
|
|
},
|
|
|
|
],
|
|
|
|
invalid: [
|
|
|
|
{
|
|
|
|
code: `
|
|
|
|
try {
|
|
|
|
// Some comment
|
|
|
|
if (foo) {
|
|
|
|
bar();
|
|
|
|
}
|
|
|
|
} catch (e) {
|
|
|
|
throw e;
|
|
|
|
}`,
|
|
|
|
errors: [{ messageId: 'noUselessCatchThrow' }],
|
|
|
|
output: `
|
|
|
|
// Some comment
|
|
|
|
if (foo) {
|
|
|
|
bar();
|
|
|
|
}`,
|
|
|
|
},
|
|
|
|
],
|
|
|
|
});
|