// Copyright 2015 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. var handler = { ownKeys: function(t) { return ["a", "b"]; }, getOwnPropertyDescriptor: function(t, p) { return {enumerable: true, configurable: true} }, get: function(t, p) { return 1; } }; var proxy = new Proxy({}, handler); var o = {}; Object.assign(o, proxy); assertEquals({"a": 1, "b": 1}, o); (function TestStringSources() { var source = "abc"; var target = {}; Object.assign(target, source); assertEquals({0: "a", 1: "b", 2: "c"}, target); })();