UNPKG

@locker/eslint-plugin-unsafe-types

Version:
56 lines (51 loc) 2.54 kB
/** Original file https://github.com/eslint/eslint/blob/main/tests/lib/rules/no-eval.js * @fileoverview Detect usage of unsigned eval calls. * @author Lightning Web Security Team */ 'use strict'; //------------------------------------------------------------------------------ // Requirements //------------------------------------------------------------------------------ const { RuleTester } = require('eslint'); const rule = require('../../../lib/rules/unsafe-aura-globalEval'); //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ const ruleTester = new RuleTester({ languageOptions: { ecmaVersion: 'latest', sourceType: 'script', globals: { window: 'readonly', global: 'readonly', globalThis: 'readonly', setTimeout: 'readonly', setInterval: 'readonly', execScript: 'readonly', }, }, }); ruleTester.run('unsafe-aura-globalEval', rule, { valid: [ { code: '$A.util.globalEval($A.lockerService.trusted.createScript(foo))' }, { code: "$A.util['globalEval']($A.lockerService.trusted.createScript(foo))" }, { code: "$A['util']['globalEval']($A.lockerService.trusted.createScript(foo))" }, { code: 'window.$A.util.globalEval($A.lockerService.trusted.createScript(foo))' }, { code: "window['$A'].util.globalEval($A.lockerService.trusted.createScript(foo))" }, { code: "window['$A']['util'].globalEval($A.lockerService.trusted.createScript(foo))" }, { code: "window['$A']['util']['globalEval']($A.lockerService.trusted.createScript(foo))" }, ], invalid: [ { code: '$A.util.globalEval("foo")', errors: [{ messageId: 'unexpected' }] }, { code: '$A.util.globalEval(foo)', errors: [{ messageId: 'unexpected' }] }, { code: "$A.util['globalEval'](foo)", errors: [{ messageId: 'unexpected' }] }, { code: "$A['util']['globalEval'](foo)", errors: [{ messageId: 'unexpected' }] }, { code: "window.$A.util.globalEval('foo')", errors: [{ messageId: 'unexpected' }] }, { code: "window['$A'].util.globalEval('foo')", errors: [{ messageId: 'unexpected' }] }, { code: "window['$A']['util'].globalEval('foo')", errors: [{ messageId: 'unexpected' }] }, { code: "window['$A']['util']['globalEval']('foo')", errors: [{ messageId: 'unexpected' }], }, ], });