// Copyright 2021 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 test(object, property) { assertEquals('pass', object[property]); } (function TestStringProperty() { let o1 = {get foo() { return 'fail'}, 'foo':'pass'}; test(o1, 'foo'); let o2 = {'foo':'fail', get foo() { return 'pass'}, }; test(o2, 'foo'); })(); (function TestNumberProperty() { let o1 = {get 0() { return 'fail'}, 0:'pass'}; test(o1, 0); let o2 = {0:'fail', get 0() { return 'pass'}}; test(o2, 0); })(); (function TestBigNumberProperty() { // Test a number which is too big to be considered an array index. let o1 = {get 50000000000() { return 'fail'}, 50000000000:'pass'}; test(o1, 50000000000); let o2 = {50000000000:'fail', get 50000000000() { return 'pass'}}; test(o2, 50000000000); })();