Tests that overriding global methods (like Array.prototype.push, Math.max) will not break the inspector.


Running: evaluateInConsole

Running: testRuntimeAgentCallFunctionOn

Running: dumpConsoleMessages
testOverriddenArrayPushAndMathMax()
(3) [1, 2, 3]
testOverriddenConstructorName()
{constructor: {…}}
testThrowConstructorName()
{}
testOverriddenIsFinite()
(2) ["arg1", "arg2", callee: ƒ, Symbol(Symbol.iterator): ƒ]
testOverriddenError()
{result: "PASS"}
restoreError()
{result: "PASS"}
testOverriddenToString(function func() {}, true)
ƒ #<Function>
testOverriddenToString(function func() {}, false)
ƒ #<Function>
testOverriddenToString(new Function, true)
ƒ #<Function>
testOverriddenToString(new Function, false)
ƒ #<Function>
testOverriddenToString(/^regex$/, true)
#<RegExp>
testOverriddenToString(/^regex$/, false)
#<RegExp>
testOverriddenToString(new Date, true)
#<Date>
testOverriddenToString(new Date, false)
#<Date>
testOverriddenToString({}, true)
{toString: ƒ, valueOf: ƒ}
testOverriddenToString({}, false)
{toString: ƒ, valueOf: ƒ}
testOverriddenToString(new Number(1), true)
Number {[[PrimitiveValue]]: 1, toString: ƒ, valueOf: ƒ}
testOverriddenToString(new Number(1), false)
Number {[[PrimitiveValue]]: 1, toString: ƒ, valueOf: ƒ}

