29 lines
882 B
JavaScript
29 lines
882 B
JavaScript
|
// Copyright 2021 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/980018');
|
||
|
|
||
|
contextGroup.addInlineScript(`
|
||
|
class A extends Map {
|
||
|
}
|
||
|
|
||
|
class B extends Map {
|
||
|
constructor() {
|
||
|
super();
|
||
|
Object.defineProperty(this, Symbol.toStringTag, {value: 'ThisIsB'});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class C extends Map {
|
||
|
}
|
||
|
Object.defineProperty(C.prototype, Symbol.toStringTag, {value: 'ThisIsC'});`);
|
||
|
|
||
|
InspectorTest.runAsyncTestSuite([
|
||
|
async function testClassNames() {
|
||
|
await Protocol.Runtime.enable();
|
||
|
await Promise.all(['A', 'B', 'C'].map(klass => Protocol.Runtime.evaluate({expression: `new ${klass}();`}).then(({result}) => InspectorTest.logMessage(result))));
|
||
|
await Protocol.Runtime.disable();
|
||
|
}
|
||
|
]);
|