UNPKG

@locker/eslint-plugin-unsafe-types

Version:
47 lines (41 loc) 2 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').RuleTester; const rule = require('../../../lib/rules/unsafe-aura-globalEval'); //------------------------------------------------------------------------------ // Tests //------------------------------------------------------------------------------ const env = { browser: true, commonjs: true, es2024: true, jquery: true }; const ruleTester = new RuleTester(); ruleTester.run('unsafe-aura-globalEval', rule, { valid: [ '$A.util.globalEval($A.lockerService.trusted.createScript(foo))', '$A.util.globalEval($A.lockerService.trusted.createScript(foo))', "$A.util['globalEval']($A.lockerService.trusted.createScript(foo))", "$A['util']['globalEval']($A.lockerService.trusted.createScript(foo))", 'window.$A.util.globalEval($A.lockerService.trusted.createScript(foo))', "window['$A'].util.globalEval($A.lockerService.trusted.createScript(foo))", "window['$A']['util'].globalEval($A.lockerService.trusted.createScript(foo))", "window['$A']['util']['globalEval']($A.lockerService.trusted.createScript(foo))", ].map((code) => ({ code, env })), invalid: [ '$A.util.globalEval("foo")', '$A.util.globalEval(foo)', "$A.util['globalEval'](foo)", "$A['util']['globalEval'](foo)", "window.$A.util.globalEval('foo')", "window['$A'].util.globalEval('foo')", "window['$A']['util'].globalEval('foo')", "window['$A']['util']['globalEval']('foo')", ].map((code) => ({ code, env, errors: [{ messageId: 'unexpected' }], })), });