1/* 2 * Copyright (c) 2021 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:fortest 18 * @tc.desc:test for 19 * @tc.type: FUNC 20 * @tc.require: issueI5NO8G 21 */ 22let a = '*' 23let s = '' 24 25for (let i = 0; i < 10; i++) { 26 s += a 27 print(s) 28} 29 30let i = 10 31 32while (i > 0) { 33 print(i); 34 i--; 35} 36 37function F0() { 38} 39const v5 = new F0(); 40for (let index = 0; index < 32; index++) { 41 function F17() { 42 this.__proto__ = v5; 43 } 44 const v28 = new F17(); 45 const v29 = "p" + index; 46 v5[v29] = index; 47} 48for (let k in v5) { 49 print(k, v5[k]); 50} 51 52function f0(v1, v2) { 53 try { 54 v1(); 55 } catch (v5) { 56 print(v5) 57 } 58} 59 60try { 61 var v0 = function () { }.bind(); 62} catch (e) { 63 print(e) 64} 65 66try { 67 Object.defineProperty(v0, "prototype", { 68 get() { 69 throw Error("OK"); 70 } 71 }); 72} catch (e) { 73 print(e) 74} 75 76try { 77[Array, Date, Boolean, Number, String, RegExp, Error, Uint8Array, ArrayBuffer, Map, WeakMap, Set, WeakSet]. 78 forEach(function (v6) { 79 f0(() => { 80 Reflect.construct(v6, [], v0); 81 }, `Error: OK`); 82 }); 83} catch (e) { 84 print(e) 85} 86