// 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. (function TestConstants() { var o = { p: 1, p: 2, }; assertEquals(2, o.p); })(); (function TestMaterialized() { var o = { p: [1], p: [2], }; assertEquals(2, o.p[0]); })(); (function TestMaterialize2() { var o = { p: function() {}, p: 2, }; assertEquals(2, o.p); })(); (function TestComputed() { var o = { p: (function() { return 1; })(), p: (function() { return 2; })(), }; assertEquals(2, o.p); })(); (function TestComputed2() { var o = { p: (function() { return 1; })(), p: 2, }; assertEquals(2, o.p); })(); (function TestGetter() { var o = { get p() { return 1; }, get p() { return 2; }, }; assertEquals(2, o.p); })(); (function TestGetterSetter() { var o = { get p() { return 1; }, set p(_) {}, }; assertEquals(1, o.p); o = { set p(_) {}, get p() { return 2; }, }; assertEquals(2, o.p); })(); (function TestCombined() { var o = { get p() { return 1; }, p: 2, }; assertEquals(2, o.p); o = { get p() { return 1; }, p: 2, get p() { return 3; }, }; assertEquals(3, o.p); o = { get p() { return 1; }, p: 2, set p(_) {}, }; assertEquals(undefined, o.p); })();