blob: c6e8579570c8ff4df28d218dc68f40fa49799909 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
WScript.LoadScriptFile("..\\UnitTestFramework\\UnitTestFramework.js");
var tests = [
{
name: "Object.setPrototypeOf(proxy), setPrototypeOf trap returns false",
body() {
var called = false;
var proxy = new Proxy({}, { setPrototypeOf() { called = true; return false; } });
assert.throws(() => Object.setPrototypeOf(proxy, {}), TypeError, "expected TypeError", "Proxy trap `setPrototypeOf` returned false");
assert.areEqual(true, called, "`setPrototypeOf` trap was called");
}
},
{
name: "Assignment to proxy.__proto__, setPrototypeOf trap returns false",
body() {
var called = false;
var proxy = new Proxy({}, { setPrototypeOf() { called = true; return false; } });
assert.throws(() => proxy.__proto__ = {}, TypeError, "expected TypeError", "Proxy trap `setPrototypeOf` returned false");
assert.areEqual(true, called, "`setPrototypeOf` trap was called");
}
}
];
testRunner.runTests(tests, { verbose: WScript.Arguments[0] != "summary" });