// Copyright 2014 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.functionproduce_object(){varreal_length=1;functionset_length(){real_length="boom";}functionget_length(){returnreal_length;}varo={__proto__:Array.prototype,0:"x"};Object.defineProperty(o,"length",{set:set_length,get:get_length})returno;}assertEquals(2,produce_object().push("y"));assertEquals(2,produce_object().unshift("y"));