fix: serverless vm2 safe-eval

This commit is contained in:
Innei
2022-03-14 14:50:39 +08:00
parent 389fe6babe
commit c20cc595e2
6 changed files with 56 additions and 33 deletions

View File

@@ -12,9 +12,7 @@ describe.only('test safe-eval', () => {
})
it('should can not access to global or process or require', () => {
expect(() => {
safeEval(`return global`)
}).toThrow()
expect(safeEval(`return global`)).toStrictEqual({})
expect(() => {
safeEval(`return process`)
@@ -25,6 +23,14 @@ describe.only('test safe-eval', () => {
}).toThrow()
})
describe('test escape', () => {
it('case1', () => {
expect(() =>
safeEval(`this.constructor.constructor("return process")().exit()`),
).toThrow()
})
})
it('should can access mocked global context', () => {
const res = safeEval(`return global.a`, { global: { a: 1 } })
expect(res).toBe(1)