blob: 878937f612ad6444df3ec3e7671582fbb297dc09 [file] [edit]
'use strict';
const common = require('../common');
const assert = require('assert');
const vm = require('vm');
const window = createWindow();
const descriptor =
Object.getOwnPropertyDescriptor(window.globalProxy, 'onhashchange');
assert.strictEqual(typeof descriptor.get, 'function');
assert.strictEqual(typeof descriptor.set, 'function');
assert.strictEqual(descriptor.configurable, true);
// Regression test for GH-42962. This assignment should not throw.
window.globalProxy.onhashchange = () => {};
assert.strictEqual(window.globalProxy.onhashchange, 42);
function createWindow() {
const obj = {};
vm.createContext(obj);
Object.defineProperty(obj, 'onhashchange', {
get: common.mustCall(() => 42),
set: common.mustCall(),
configurable: true
});
obj.globalProxy = vm.runInContext('this', obj);
return obj;
}