1/* 2 * Copyright (c) 2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"); 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16/* 17 * @tc.name:storeicbyname 18 * @tc.desc:test storeicbyname 19 * @tc.type: FUNC 20 * @tc.require: issueI7UTOA 21 */ 22 23const arr = []; 24for (let i = 0; i < 200; i++) { 25 26} 27for (let i = 0; i < 100; i++) { 28 arr.length = 1025; 29} 30print("test successful !!!"); 31for (let i = 0; i < 100; i++) { 32 const v77 = {}; 33 v77.__proto__ = null; 34} 35print("test set __proto__ null successful") 36 37let bad_proto = { 38 get __proto__(){ 39 40 } 41} 42let obj = {}; 43obj.__proto__ = bad_proto; 44print("test set bad_proto successful!"); 45 46let obj1 = {}; 47Object.defineProperty(obj1, 'foo', { 48 set: function(value) { 49 Object.defineProperty(this, 'bar', { 50 get: function() { 51 return this._bar; 52 }, 53 set: function(value) { 54 this._bar = value; 55 }, 56 }); 57 } 58}); 59 60obj.foo = 'some value'; 61for (let i = 0; i < 20; i++) { 62 obj.bar = 'new value'; 63} 64print("test accessor ic successful!");