mirror of
https://github.com/nodejs/node.git
synced 2025-05-15 14:41:29 +00:00

PR-URL: https://github.com/nodejs/node/pull/51362 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com> Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
36 lines
1.2 KiB
JavaScript
36 lines
1.2 KiB
JavaScript
// Copyright 2020 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
let {session, contextGroup, Protocol} =
|
|
InspectorTest.start('Regression test for crbug.com/1140845. Check that a "then" gettter on the object prototype does not crash V8');
|
|
|
|
const setupScript = `
|
|
let obj = Object.prototype;
|
|
obj.__defineGetter__('then', function() {console.log("foo")});
|
|
`;
|
|
|
|
(async function() {
|
|
await Protocol.Debugger.enable();
|
|
|
|
// Set a custom `then` method on the Object prototype. This should have no effect on replMode.
|
|
await Protocol.Runtime.evaluate({
|
|
expression: setupScript,
|
|
});
|
|
|
|
InspectorTest.log(`Evaluating a simple string 'foo' without side-effects should give us the string.`);
|
|
InspectorTest.logMessage(await Protocol.Runtime.evaluate({
|
|
expression: `"foo"`,
|
|
replMode: true,
|
|
throwOnSideEffect: true,
|
|
}));
|
|
|
|
InspectorTest.log(`Evaluating a simple string 'foo' with side-effets should give us the string.`);
|
|
InspectorTest.logMessage(await Protocol.Runtime.evaluate({
|
|
expression: `"foo"`,
|
|
replMode: true,
|
|
}));
|
|
|
|
InspectorTest.completeTest();
|
|
})();
|