1/* 2 * Copyright (c) 2022 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:builtins 18 * @tc.desc:test builtins 19 * @tc.type: FUNC 20 * @tc.require: issueI5NO8G 21 */ 22print("builtins ir start"); 23var str1 = "wpydejkl"; 24print(str1.charCodeAt(1.231)); 25print(str1.charCodeAt(undefined)); 26print(str1.charCodeAt(new Date())); 27print(str1.charCodeAt(14)); 28print(str1.charCodeAt(3)); 29print(str1.indexOf("wpy")); 30print(str1.indexOf("py", 0)); 31print(str1.indexOf("py", 5)); 32print(str1.indexOf("hhh", 0)); 33print(str1.indexOf("hjs", 19)); 34print(str1.indexOf("jk", 3)); 35print(str1.indexOf(undefined)); 36print(str1.indexOf(null)); 37var person = { 38fullName: function(city, country) { 39 return this.firstName + " " + this.lastName + "," + city + "," + country; 40} 41} 42var person1 = { 43firstName:"Bill", 44lastName: "Gates" 45} 46var a = new Uint32Array([1,2]); 47print(person.fullName.apply(person1, a)); 48// xxxConstructor 49var a = { 50 test() { 51 this.foo(); 52 } 53} 54a.foo = Array; 55a.test(); 56a.foo = Boolean; 57a.test(); 58a.foo = Date; 59a.test(); 60 61var obj = { 62 number: Number, 63 date: Date, 64 bool: Boolean 65}; 66print(obj.number(1)); 67print(obj.number(1, 2)); 68print(obj.number(1, 2, 3)); 69print(obj.number(1, 2, 3, 4)); 70print(obj.number([1])); 71print(obj.number([1, 2])); 72obj.date(0); 73obj.date(0, 1); 74obj.date(0, 1, 2); 75obj.date(0, 1, 2, 3); 76print(obj.bool(0)); 77print(obj.bool(0, 1)); 78print(obj.bool(0, 1, 2)); 79print(obj.bool(0, 1, 2, 3)); 80print("builtins ir end"); 81