Index: test/mjsunit/object-literal-multiple-fields.js |
diff --git a/test/mjsunit/object-literal-multiple-fields.js b/test/mjsunit/object-literal-multiple-fields.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..f36d14d07422cb9849f395d8d36c05988522c434 |
--- /dev/null |
+++ b/test/mjsunit/object-literal-multiple-fields.js |
@@ -0,0 +1,96 @@ |
+// 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); |
+})(); |