Skip to content
This repository has been archived by the owner on Sep 16, 2024. It is now read-only.

Feat(browser-emulator): Migrating away from proxies, lots of extra improvements and enabling TS strict mode #826

Feat(browser-emulator): Migrating away from proxies, lots of extra improvements and enabling TS strict mode

Feat(browser-emulator): Migrating away from proxies, lots of extra improvements and enabling TS strict mode #826

Triggered via pull request September 3, 2024 18:44
Status Failure
Total duration 15m 59s
Artifacts 9

lint-and-test.yml

on: pull_request
Matrix: lint-and-test
Fit to window
Zoom out
Zoom in

Annotations

90 errors and 10 warnings
should not overflow on console.debug: undefined#L1
TypeError: Constructor Proxy requires 'new'
should properly maintain stack traces in toString: undefined#L1
TypeError: Constructor Proxy requires 'new'
Proxy detections › should not reveal instanceof proxy behavior on getter: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should not reveal instanceof proxy behavior on fn: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should handle proxied setPrototype: plugins/default-browser-emulator/test/detection.test.ts#L1007
expect(received).toHaveLength(expected) Matcher error: received value must have a length property whose value must be a number Received has value: null at Object.<anonymous> (../plugins/default-browser-emulator/test/detection.test.ts:1007:62)
cannot detect a proxy of args passed into a proxied function: <anonymous>#L21
expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 4 Object { - "path": " at Object.get (<anonymous>:12:24) - at script (<anonymous>:19:41) + "message": "Constructor Proxy requires 'new'", + "name": "TypeError", + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:10:29) at safeScript (<anonymous>:21:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:113:18)
should handle proxied setPrototype: <anonymous>#L25
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Object.setPrototypeOf called on null or undefined", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Object.setPrototypeOf called on null or undefined - at Function.setPrototypeOf (<anonymous>) - at script (<anonymous>:24:31) + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:9:19) at safeScript (<anonymous>:25:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:152:18)
Error should leak when using call with a proxy that was defined by external user: <anonymous>#L12
expect(received).toEqual(expected) // deep equality Expected: "TypeError: Cannot set properties of undefined (setting 'innerHTML') at Proxy.leak (<anonymous>:12:45) at script (<anonymous>:19:21) at safeScript (<anonymous>:20:7) Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:18:31) at safeScript (<anonymous>:20:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:350:18)
throwing function stacks should be the same: <anonymous>#L10
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Function.prototype.toString requires that 'this' be a Function", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Function.prototype.toString requires that 'this' be a Function - at Object.toString (<anonymous>) - at proxiedFnStack (<anonymous>:9:84) + "stack": "TypeError: Constructor Proxy requires 'new' + at proxiedFnStack (<anonymous>:9:30) at safeScript (<anonymous>:10:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:479:20)
should not overflow on console.debug: undefined#L1
TypeError: Constructor Proxy requires 'new'
should properly maintain stack traces in toString: undefined#L1
TypeError: Constructor Proxy requires 'new'
Proxy detections › should not reveal instanceof proxy behavior on getter: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should not reveal instanceof proxy behavior on fn: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should handle proxied setPrototype: plugins/default-browser-emulator/test/detection.test.ts#L1007
expect(received).toHaveLength(expected) Matcher error: received value must have a length property whose value must be a number Received has value: null at Object.<anonymous> (../plugins/default-browser-emulator/test/detection.test.ts:1007:62)
cannot detect a proxy of args passed into a proxied function: <anonymous>#L21
expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 4 Object { - "path": " at Object.get (<anonymous>:12:24) - at script (<anonymous>:19:41) + "message": "Constructor Proxy requires 'new'", + "name": "TypeError", + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:10:29) at safeScript (<anonymous>:21:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:113:18)
should handle proxied setPrototype: <anonymous>#L25
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Object.setPrototypeOf called on null or undefined", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Object.setPrototypeOf called on null or undefined - at Function.setPrototypeOf (<anonymous>) - at script (<anonymous>:24:31) + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:9:19) at safeScript (<anonymous>:25:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:152:18)
Error should leak when using call with a proxy that was defined by external user: <anonymous>#L12
expect(received).toEqual(expected) // deep equality Expected: "TypeError: Cannot set properties of undefined (setting 'innerHTML') at Proxy.leak (<anonymous>:12:45) at script (<anonymous>:19:21) at safeScript (<anonymous>:20:7) Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:18:31) at safeScript (<anonymous>:20:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:350:18)
throwing function stacks should be the same: <anonymous>#L10
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Function.prototype.toString requires that 'this' be a Function", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Function.prototype.toString requires that 'this' be a Function - at Object.toString (<anonymous>) - at proxiedFnStack (<anonymous>:9:84) + "stack": "TypeError: Constructor Proxy requires 'new' + at proxiedFnStack (<anonymous>:9:30) at safeScript (<anonymous>:10:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:479:20)
should not overflow on console.debug: undefined#L1
TypeError: Constructor Proxy requires 'new'
should properly maintain stack traces in toString: undefined#L1
TypeError: Constructor Proxy requires 'new'
Proxy detections › should not reveal instanceof proxy behavior on getter: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should not reveal instanceof proxy behavior on fn: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should handle proxied setPrototype: plugins/default-browser-emulator/test/detection.test.ts#L1007
expect(received).toHaveLength(expected) Matcher error: received value must have a length property whose value must be a number Received has value: null at Object.<anonymous> (../plugins/default-browser-emulator/test/detection.test.ts:1007:62)
cannot detect a proxy of args passed into a proxied function: <anonymous>#L21
expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 4 Object { - "path": " at Object.get (<anonymous>:12:24) - at script (<anonymous>:19:41) + "message": "Constructor Proxy requires 'new'", + "name": "TypeError", + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:10:29) at safeScript (<anonymous>:21:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:113:18)
should handle proxied setPrototype: <anonymous>#L25
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Object.setPrototypeOf called on null or undefined", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Object.setPrototypeOf called on null or undefined - at Function.setPrototypeOf (<anonymous>) - at script (<anonymous>:24:31) + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:9:19) at safeScript (<anonymous>:25:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:152:18)
Error should leak when using call with a proxy that was defined by external user: <anonymous>#L12
expect(received).toEqual(expected) // deep equality Expected: "TypeError: Cannot set properties of undefined (setting 'innerHTML') at Proxy.leak (<anonymous>:12:45) at script (<anonymous>:19:21) at safeScript (<anonymous>:20:7) Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:18:31) at safeScript (<anonymous>:20:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:350:18)
throwing function stacks should be the same: <anonymous>#L10
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Function.prototype.toString requires that 'this' be a Function", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Function.prototype.toString requires that 'this' be a Function - at Object.toString (<anonymous>) - at proxiedFnStack (<anonymous>:9:84) + "stack": "TypeError: Constructor Proxy requires 'new' + at proxiedFnStack (<anonymous>:9:30) at safeScript (<anonymous>:10:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:479:20)
should not overflow on console.debug: undefined#L1
TypeError: Constructor Proxy requires 'new'
should properly maintain stack traces in toString: undefined#L1
TypeError: Constructor Proxy requires 'new'
Proxy detections › should not reveal instanceof proxy behavior on getter: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should not reveal instanceof proxy behavior on fn: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should handle proxied setPrototype: plugins/default-browser-emulator/test/detection.test.ts#L1007
expect(received).toHaveLength(expected) Matcher error: received value must have a length property whose value must be a number Received has value: null at Object.<anonymous> (../plugins/default-browser-emulator/test/detection.test.ts:1007:62)
cannot detect a proxy of args passed into a proxied function: <anonymous>#L21
expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 4 Object { - "path": " at Object.get (<anonymous>:12:24) - at script (<anonymous>:19:41) + "message": "Constructor Proxy requires 'new'", + "name": "TypeError", + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:10:29) at safeScript (<anonymous>:21:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:113:18)
should handle proxied setPrototype: <anonymous>#L25
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Object.setPrototypeOf called on null or undefined", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Object.setPrototypeOf called on null or undefined - at Function.setPrototypeOf (<anonymous>) - at script (<anonymous>:24:31) + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:9:19) at safeScript (<anonymous>:25:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:152:18)
Error should leak when using call with a proxy that was defined by external user: <anonymous>#L12
expect(received).toEqual(expected) // deep equality Expected: "TypeError: Cannot set properties of undefined (setting 'innerHTML') at Proxy.leak (<anonymous>:12:45) at script (<anonymous>:19:21) at safeScript (<anonymous>:20:7) Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:18:31) at safeScript (<anonymous>:20:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:350:18)
throwing function stacks should be the same: <anonymous>#L10
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Function.prototype.toString requires that 'this' be a Function", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Function.prototype.toString requires that 'this' be a Function - at Object.toString (<anonymous>) - at proxiedFnStack (<anonymous>:9:84) + "stack": "TypeError: Constructor Proxy requires 'new' + at proxiedFnStack (<anonymous>:9:30) at safeScript (<anonymous>:10:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:479:20)
should not overflow on console.debug: undefined#L1
TypeError: Constructor Proxy requires 'new'
should properly maintain stack traces in toString: undefined#L1
TypeError: Constructor Proxy requires 'new'
Proxy detections › should not reveal instanceof proxy behavior on getter: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should not reveal instanceof proxy behavior on fn: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should handle proxied setPrototype: plugins/default-browser-emulator/test/detection.test.ts#L1007
expect(received).toHaveLength(expected) Matcher error: received value must have a length property whose value must be a number Received has value: null at Object.<anonymous> (../plugins/default-browser-emulator/test/detection.test.ts:1007:62)
cannot detect a proxy of args passed into a proxied function: <anonymous>#L21
expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 4 Object { - "path": " at Object.get (<anonymous>:12:24) - at script (<anonymous>:19:41) + "message": "Constructor Proxy requires 'new'", + "name": "TypeError", + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:10:29) at safeScript (<anonymous>:21:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:113:18)
should handle proxied setPrototype: <anonymous>#L25
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Object.setPrototypeOf called on null or undefined", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Object.setPrototypeOf called on null or undefined - at Function.setPrototypeOf (<anonymous>) - at script (<anonymous>:24:31) + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:9:19) at safeScript (<anonymous>:25:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:152:18)
Error should leak when using call with a proxy that was defined by external user: <anonymous>#L12
expect(received).toEqual(expected) // deep equality Expected: "TypeError: Cannot set properties of undefined (setting 'innerHTML') at Proxy.leak (<anonymous>:12:45) at script (<anonymous>:19:21) at safeScript (<anonymous>:20:7) Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:18:31) at safeScript (<anonymous>:20:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:350:18)
throwing function stacks should be the same: <anonymous>#L10
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Function.prototype.toString requires that 'this' be a Function", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Function.prototype.toString requires that 'this' be a Function - at Object.toString (<anonymous>) - at proxiedFnStack (<anonymous>:9:84) + "stack": "TypeError: Constructor Proxy requires 'new' + at proxiedFnStack (<anonymous>:9:30) at safeScript (<anonymous>:10:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:479:20)
should not overflow on console.debug: undefined#L1
TypeError: Constructor Proxy requires 'new'
should properly maintain stack traces in toString: undefined#L1
TypeError: Constructor Proxy requires 'new'
Proxy detections › should not reveal instanceof proxy behavior on getter: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should not reveal instanceof proxy behavior on fn: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should handle proxied setPrototype: plugins/default-browser-emulator/test/detection.test.ts#L1007
expect(received).toHaveLength(expected) Matcher error: received value must have a length property whose value must be a number Received has value: null at Object.<anonymous> (../plugins/default-browser-emulator/test/detection.test.ts:1007:62)
cannot detect a proxy of args passed into a proxied function: <anonymous>#L21
expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 4 Object { - "path": " at Object.get (<anonymous>:12:24) - at script (<anonymous>:19:41) + "message": "Constructor Proxy requires 'new'", + "name": "TypeError", + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:10:29) at safeScript (<anonymous>:21:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:113:18)
should handle proxied setPrototype: <anonymous>#L25
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Object.setPrototypeOf called on null or undefined", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Object.setPrototypeOf called on null or undefined - at Function.setPrototypeOf (<anonymous>) - at script (<anonymous>:24:31) + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:9:19) at safeScript (<anonymous>:25:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:152:18)
Error should leak when using call with a proxy that was defined by external user: <anonymous>#L12
expect(received).toEqual(expected) // deep equality Expected: "TypeError: Cannot set properties of undefined (setting 'innerHTML') at Proxy.leak (<anonymous>:12:45) at script (<anonymous>:19:21) at safeScript (<anonymous>:20:7) Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:18:31) at safeScript (<anonymous>:20:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:350:18)
throwing function stacks should be the same: <anonymous>#L10
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Function.prototype.toString requires that 'this' be a Function", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Function.prototype.toString requires that 'this' be a Function - at Object.toString (<anonymous>) - at proxiedFnStack (<anonymous>:9:84) + "stack": "TypeError: Constructor Proxy requires 'new' + at proxiedFnStack (<anonymous>:9:30) at safeScript (<anonymous>:10:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:479:20)
Should not leak we are modifying functions because this changes for primitives: <anonymous>#L9
expect(received).toEqual(expected) // deep equality Expected: "string" Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:9:23) at safeScript (<anonymous>:15:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:559:18)
should not overflow on console.debug: undefined#L1
TypeError: Constructor Proxy requires 'new'
should properly maintain stack traces in toString: undefined#L1
TypeError: Constructor Proxy requires 'new'
Proxy detections › should not reveal instanceof proxy behavior on getter: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should not reveal instanceof proxy behavior on fn: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should handle proxied setPrototype: plugins/default-browser-emulator/test/detection.test.ts#L1007
expect(received).toHaveLength(expected) Matcher error: received value must have a length property whose value must be a number Received has value: null at Object.<anonymous> (../plugins/default-browser-emulator/test/detection.test.ts:1007:62)
cannot detect a proxy of args passed into a proxied function: <anonymous>#L21
expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 4 Object { - "path": " at Object.get (<anonymous>:12:24) - at script (<anonymous>:19:41) + "message": "Constructor Proxy requires 'new'", + "name": "TypeError", + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:10:29) at safeScript (<anonymous>:21:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:113:18)
should handle proxied setPrototype: <anonymous>#L25
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Object.setPrototypeOf called on null or undefined", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Object.setPrototypeOf called on null or undefined - at Function.setPrototypeOf (<anonymous>) - at script (<anonymous>:24:31) + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:9:19) at safeScript (<anonymous>:25:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:152:18)
Error should leak when using call with a proxy that was defined by external user: <anonymous>#L12
expect(received).toEqual(expected) // deep equality Expected: "TypeError: Cannot set properties of undefined (setting 'innerHTML') at Proxy.leak (<anonymous>:12:45) at script (<anonymous>:19:21) at safeScript (<anonymous>:20:7) Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:18:31) at safeScript (<anonymous>:20:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:350:18)
throwing function stacks should be the same: <anonymous>#L10
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Function.prototype.toString requires that 'this' be a Function", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Function.prototype.toString requires that 'this' be a Function - at Object.toString (<anonymous>) - at proxiedFnStack (<anonymous>:9:84) + "stack": "TypeError: Constructor Proxy requires 'new' + at proxiedFnStack (<anonymous>:9:30) at safeScript (<anonymous>:10:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:479:20)
Should not leak we are modifying functions because this changes for primitives: <anonymous>#L9
expect(received).toEqual(expected) // deep equality Expected: "string" Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:9:23) at safeScript (<anonymous>:15:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:559:18)
should not overflow on console.debug: undefined#L1
TypeError: Constructor Proxy requires 'new'
should properly maintain stack traces in toString: undefined#L1
TypeError: Constructor Proxy requires 'new'
Proxy detections › should not reveal instanceof proxy behavior on getter: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should not reveal instanceof proxy behavior on fn: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should handle proxied setPrototype: plugins/default-browser-emulator/test/detection.test.ts#L1007
expect(received).toHaveLength(expected) Matcher error: received value must have a length property whose value must be a number Received has value: null at Object.<anonymous> (../plugins/default-browser-emulator/test/detection.test.ts:1007:62)
cannot detect a proxy of args passed into a proxied function: <anonymous>#L21
expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 4 Object { - "path": " at Object.get (<anonymous>:12:24) - at script (<anonymous>:19:41) + "message": "Constructor Proxy requires 'new'", + "name": "TypeError", + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:10:29) at safeScript (<anonymous>:21:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:113:18)
should handle proxied setPrototype: <anonymous>#L25
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Object.setPrototypeOf called on null or undefined", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Object.setPrototypeOf called on null or undefined - at Function.setPrototypeOf (<anonymous>) - at script (<anonymous>:24:31) + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:9:19) at safeScript (<anonymous>:25:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:152:18)
Error should leak when using call with a proxy that was defined by external user: <anonymous>#L12
expect(received).toEqual(expected) // deep equality Expected: "TypeError: Cannot set properties of undefined (setting 'innerHTML') at Proxy.leak (<anonymous>:12:45) at script (<anonymous>:19:21) at safeScript (<anonymous>:20:7) Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:18:31) at safeScript (<anonymous>:20:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:350:18)
throwing function stacks should be the same: <anonymous>#L10
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Function.prototype.toString requires that 'this' be a Function", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Function.prototype.toString requires that 'this' be a Function - at Object.toString (<anonymous>) - at proxiedFnStack (<anonymous>:9:84) + "stack": "TypeError: Constructor Proxy requires 'new' + at proxiedFnStack (<anonymous>:9:30) at safeScript (<anonymous>:10:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:479:20)
should not overflow on console.debug: undefined#L1
TypeError: Constructor Proxy requires 'new'
should properly maintain stack traces in toString: undefined#L1
TypeError: Constructor Proxy requires 'new'
Proxy detections › should not reveal instanceof proxy behavior on getter: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should not reveal instanceof proxy behavior on fn: <anonymous>#L2
TypeError: Constructor Proxy requires 'new' at checkInstanceof (<anonymous>:2:27)
Proxy detections › should handle proxied setPrototype: plugins/default-browser-emulator/test/detection.test.ts#L1007
expect(received).toHaveLength(expected) Matcher error: received value must have a length property whose value must be a number Received has value: null at Object.<anonymous> (../plugins/default-browser-emulator/test/detection.test.ts:1007:62)
cannot detect a proxy of args passed into a proxied function: <anonymous>#L21
expect(received).toEqual(expected) // deep equality - Expected - 2 + Received + 4 Object { - "path": " at Object.get (<anonymous>:12:24) - at script (<anonymous>:19:41) + "message": "Constructor Proxy requires 'new'", + "name": "TypeError", + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:10:29) at safeScript (<anonymous>:21:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:113:18)
should handle proxied setPrototype: <anonymous>#L25
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Object.setPrototypeOf called on null or undefined", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Object.setPrototypeOf called on null or undefined - at Function.setPrototypeOf (<anonymous>) - at script (<anonymous>:24:31) + "stack": "TypeError: Constructor Proxy requires 'new' + at script (<anonymous>:9:19) at safeScript (<anonymous>:25:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:152:18)
Error should leak when using call with a proxy that was defined by external user: <anonymous>#L12
expect(received).toEqual(expected) // deep equality Expected: "TypeError: Cannot set properties of undefined (setting 'innerHTML') at Proxy.leak (<anonymous>:12:45) at script (<anonymous>:19:21) at safeScript (<anonymous>:20:7) Received: {"message": "Constructor Proxy requires 'new'", "name": "TypeError", "stack": "TypeError: Constructor Proxy requires 'new' at script (<anonymous>:18:31) at safeScript (<anonymous>:20:7) at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:350:18)
throwing function stacks should be the same: <anonymous>#L10
expect(received).toEqual(expected) // deep equality - Expected - 4 + Received + 3 Object { - "message": "Function.prototype.toString requires that 'this' be a Function", + "message": "Constructor Proxy requires 'new'", "name": "TypeError", - "stack": "TypeError: Function.prototype.toString requires that 'this' be a Function - at Object.toString (<anonymous>) - at proxiedFnStack (<anonymous>:9:84) + "stack": "TypeError: Constructor Proxy requires 'new' + at proxiedFnStack (<anonymous>:9:30) at safeScript (<anonymous>:10:7) } at Object.<anonymous> (../plugins/default-browser-emulator/test/proxyLeak.test.ts:479:20)
Test node-18, ubuntu-latest, latest: agent/main/lib/DomStorageTracker.ts#L1
'bindFunctions' is defined but never used. Allowed unused vars must match /^_/u
Test node-18, ubuntu-latest, latest
Restore cache failed: Dependencies file is not found in /home/runner/work/unblocked/unblocked. Supported file pattern: go.sum
Test node-20, ubuntu-latest, latest
Restore cache failed: Dependencies file is not found in /home/runner/work/unblocked/unblocked. Supported file pattern: go.sum
Test node-20.x, ubuntu-latest, chrome-115-0
Restore cache failed: Dependencies file is not found in /home/runner/work/unblocked/unblocked. Supported file pattern: go.sum
Test node-20.x, ubuntu-latest, chrome-120-0
Restore cache failed: Dependencies file is not found in /home/runner/work/unblocked/unblocked. Supported file pattern: go.sum
Test node-20.x, ubuntu-latest, chrome-114-0
Restore cache failed: Dependencies file is not found in /home/runner/work/unblocked/unblocked. Supported file pattern: go.sum
Test node-20, macos-13, latest
Restore cache failed: Dependencies file is not found in /Users/runner/work/unblocked/unblocked. Supported file pattern: go.sum
Test node-18, macos-13, latest
Restore cache failed: Dependencies file is not found in /Users/runner/work/unblocked/unblocked. Supported file pattern: go.sum
Test node-20, windows-latest, latest
Restore cache failed: Dependencies file is not found in D:\a\unblocked\unblocked. Supported file pattern: go.sum
Test node-18, windows-latest, latest
Restore cache failed: Dependencies file is not found in D:\a\unblocked\unblocked. Supported file pattern: go.sum

Artifacts

Produced during runtime
Name Size
test-logs-macos-13-18-main Expired
2.47 MB
test-logs-macos-13-20-main Expired
2.45 MB
test-logs-ubuntu-latest-18-main Expired
2.45 MB
test-logs-ubuntu-latest-20-main Expired
2.47 MB
test-logs-ubuntu-latest-20.x-chrome-114-0 Expired
2.44 MB
test-logs-ubuntu-latest-20.x-chrome-115-0 Expired
2.45 MB
test-logs-ubuntu-latest-20.x-chrome-120-0 Expired
2.43 MB
test-logs-windows-latest-18-main Expired
2.4 MB
test-logs-windows-latest-20-main Expired
2.37 MB