| // 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); |
| })(); |