• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
16var o = {
17    "foo" : function() {
18        var number0 = 1;
19        var string0 = "helloworld";
20        var boolean0 = new Boolean(0);
21        var obj0 = {
22            "key0": "value0",
23            "key1": 100
24        };
25        function function0() {
26            var test = 0;
27        }
28        var map0 = new Map();
29        var set0 = new Set();
30        var undefined0 = undefined;
31        let array0 = ['Apple', 'Banana']
32        function* generator0() {
33            let aa = 0;
34            var a1 = 100;
35            yield 1;
36            yield 2;
37            yield 3;
38        }
39        var regexp0 = /^\d+\.\d+$/i;
40        var arraybuffer0 = new ArrayBuffer(24);
41        var uint8array0 = new Uint8Array(arraybuffer0);
42        const dataview0 = new DataView(arraybuffer0, 0);
43        var bigint0 = BigInt(999n);
44        var typedarray0 = new Uint8Array();
45        var sharedarraybuffer0 = new SharedArrayBuffer(32);
46        var iterator0 = string0[Symbol.iterator];
47        var weakref0 = new WeakRef(obj0);
48
49        var set1 = new Set();
50        set1.add(number0);
51        var set2 = new Set(string0);
52        var set3 = new Set();
53        set3.add(obj0);
54        var set4 = new Set(undefined0);
55        var set5 = new Set(array0);
56        var set6 = new Set();
57        var set7 = new Set();
58        var set8 = new Set();
59        set8.add(generator0);
60        var set9 = new Set();
61        set9.add(regexp0);
62        var set10 = new Set();
63        set10.add(arraybuffer0);
64        var set11 = new Set();
65        set11.add(uint8array0);
66        var set12 = new Set();
67        set12.add(dataview0);
68        var set13 = new Set();
69        set13.add(function0);
70        var set14 = set0;
71        var set15 = new Set();
72        set15.add(0);
73        set15.add("hello");
74        set15.add(obj0);
75        set15.add(number0);
76        var set16 = new Set();
77        set16.add(map0);
78        var set17 = new Set();
79        set17.add(bigint0);
80        var set18 = new Set();
81        set18.add(boolean0);
82        var set19 = new Set(set0);
83
84        var number1 = 65535;
85        var number2 = 5e-324;
86        var number3 = 10 ** 10;
87        var number4 = 0x1ffffffffff;
88        var number5 = 0b11111111111111;
89        var number6 = new Number(bigint0);
90        var number7 = 123e45;
91        var number8 = number0;
92        var number9 = number0 + number1;
93        var number10 = number0 - number1;
94        var number11 = number0 * number1;
95        var number12 = number0 / number1;
96        var number13 = number0 % number1;
97        var number14 = new Number(0);
98        var number15 = new Number(1.7976931348623157e+308);
99        var number16 = new Number(5e-324);
100        var number17 = new Number(10 ** 10);
101        var number18 = new Number(0x1ffffffffff);
102        var number19 = new Number(0b11111111111111);
103        var number20 = new Number(123e45);
104        var number21 = new Number(number0);
105        var number22 = new Number(number0 + number1);
106        var number23 = new Number(number0 - number1);
107        var number24 = new Number(number0 * number1);
108        var number25 = new Number(number0 / number1);
109        var number26 = new Number(number0 % number1);
110        var number27 = 1.7976931348623157e+308;
111
112        var string1 = "";
113        var string2 = string1;
114        var string3 = string1 + 'world';
115        var string4 = 'hello' + 'world'
116        var string5 = string4.charAt(1);
117        var string6 = string1 + number0;
118        var string7 = new String(string1);
119        var string8 = new String(set0);
120        var string9 = new String(number0);
121        var string10 = new String(string0);
122        var string11 = new String(obj0);
123        var string12 = new String(undefined0);
124        var string13 = new String(array0);
125        var string14 = new String(bigint0);
126        var string15 = new String(generator0);
127        var string16 = new String(regexp0);
128        var string17 = new String(arraybuffer0);
129        var string18 = new String(uint8array0);
130        var string19 = new String(dataview0);
131        var string20 = new String(map0);
132        var string21 = new String(function0);
133
134        var bigint1 = BigInt(9007199254740991n);
135        var bigint2 = BigInt(9007199254740991);
136        var bigint3 = BigInt("9007199254740991");
137        var bigint4 = BigInt("0x1fffffffffffff");
138        var bigint5 = BigInt(0x1fffffffffffff);
139        var bigint6 = BigInt("0b11111111111111111111111111111111111111111111111111111");
140        var bigint7 = bigint0;
141        var bigint8 = bigint0 + bigint1;
142        var bigint9 = bigint0 - bigint1;
143        var bigint10 = bigint0 * bigint1;
144        var bigint11 = bigint0 / bigint1;
145        var bigint12 = bigint0 % bigint1;
146        var bigint13 = 10n ** 10n;
147        var bigint14 = 888888888888888888888888888888888888888888888n;
148        var bigint15 = BigInt(0b11111111111111);
149        var bigint16 = BigInt(0);
150        var bigint17 = 0n;
151        var bigint18 = BigInt(123e45);
152        var bigint19 = BigInt("01234567");
153        var bigint20 = BigInt(number1);
154
155        var boolean1 = new Boolean(1);
156        var boolean2 = new Boolean(-1);
157        var boolean3 = new Boolean(true);
158        var boolean4 = new Boolean(false);
159        var boolean5 = new Boolean(boolean0 + boolean1);
160        var boolean6 = new Boolean(boolean0 && boolean1);
161        var boolean7 = new Boolean(boolean0 || boolean1);
162        var boolean8 = new Boolean(!boolean0);
163        var boolean9 = true;
164        var boolean10 = false;
165        var boolean11 = boolean0;
166        var boolean12 = boolean0 && boolean10;
167        var boolean13 = boolean0 || boolean10;
168        var boolean14 = !boolean10;
169        var boolean15 = new Boolean("hello");
170        var boolean16 = new Boolean("");
171        var boolean17 = new Boolean(function0);
172        var boolean18 = new Boolean(map0);
173        var boolean19 = new Boolean(set0);
174        var boolean20 = new Boolean(number0);
175        var boolean21 = new Boolean(string0);
176        var boolean22 = new Boolean(obj0);
177        var boolean23 = new Boolean(undefined0);
178        var boolean24 = new Boolean(array0);
179        var boolean25 = new Boolean(generator0);
180        var boolean26 = new Boolean(regexp0);
181        var boolean27 = new Boolean(arraybuffer0);
182        var boolean28 = new Boolean(uint8array0);
183        var boolean29 = new Boolean(dataview0);
184
185        var map1  = new Map(map0);
186        var map2 = new Map([
187            [1, 'hello'],
188            [2, 'world']
189        ]);
190        var map3  = new Map();
191        map3.set(NaN, 'NaN');
192        var map4 = new Map();
193        map4[0] = 'hello';
194        var map5  = new Map();
195        map5.set(0, 'zero');
196        map5.set(1, 'one');
197        map5.set(2, 'two');
198        map5.set(3, 'three');
199        var map6  = new Map();
200        map6.set(set0, "set0");
201        var map7  = new Map();
202        map7.set(number0, "number0");
203        var map8  = new Map();
204        map8.set(string0, "string0");
205        var map9  = new Map();
206        map9.set(obj0, "object0");
207        var map10 = new Map();
208        map10.set(undefined0, "undefined0");
209        var map11 = new Map();
210        map11.set(array0, "array0");
211        var map12 = new Map();
212        map12.set(map3, "map3");
213        var map13 = new Map();
214        map13.set(generator0, "generator0");
215        var map14 = new Map();
216        map14.set(regexp0, "regexp0");
217        var map15 = new Map();
218        map15.set(arraybuffer0, "arraybuffer0");
219        var map16 = new Map();
220        map16.set(uint8array0, "uint8array0");
221        var map17 = new Map();
222        map17.set(dataview0, "dataview0");
223        var map18 = new Map();
224        map18.set(bigint10, "bigint10");
225        var map19 = new Map();
226        map19.set(function0, "function0");
227
228        var object1 = {0 :'zero', 1 : 'one', 2 : 'two', 3 : 'three', 4 : 'four', 5 : 'five'};
229        var object2 = object1;
230        var object3 = new Object({0 :'zero', 1 : 'one', 2 : 'two', 3 : 'three', 4 : 'four', 5 : 'five'});
231        var object4 = new Object(set0);
232        var object5 = new Object(string0);
233        var object6 = new Object(map0);
234        var object7 = new Object(number0);
235        var object8 = new Object(obj0);
236        var object9 = new Object(undefined0);
237        var object10 = new Object(array0);
238        var object11 = new Object(bigint10);
239        var object12 = new Object(generator0);
240        var object13 = new Object(regexp0);
241        var object14 = new Object(bigint0);
242        var object15 = new Object(arraybuffer0);
243        var object16 = new Object(uint8array0);
244        var object17 = new Object(dataview0);
245        var object18 = new Object(boolean10);
246        var object19 = new Object(function0);
247
248        var regExp1 = /^a/g;
249        var regExp2 = new RegExp('^ab+c', 'g');
250        var regExp3 = /123$/;
251        var regExp4 = /\d/i;
252        var regExp5 = new RegExp('^[a-zA-Z]/w{5,17}$', 'iu');
253        var regExp6 = /[A-Z]/m;
254        var regExp7 = new RegExp('(/d{3}-|/d{4}-)?(/d{8}|/d{7})?', 'mg');
255        var regExp8 = /[a-z]/y;
256        var regExp9 = /\s/u;
257        var regExp10 = /a+/s;
258        var regExp11 = new RegExp('(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)?', 's');
259        var regExp12 = /a?/gy;
260        var regExp13 = new RegExp('/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/');
261        var regExp14 = /a*/igmy;
262        var regExp15 = new RegExp('^[/w-]+(/.[/w-]+)*@[/w-]+(/.[/w-]+)+$', 'ig');
263        var regExp16 = /a|b/iymsg;
264        var regExp17 = new RegExp('^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$');
265        var regExp18 = /\/<(.*)>.*<\/\/\/1>|<(.*) \/\/>/i;
266        var regExp19 = new RegExp('^[1-9]*[1-9][0-9]*$', 'm');
267        var regExp20 = /^[a-zA-Z]\/w{5,17}$/;
268        var regExp21 = new RegExp('^[0-9a-zA-Z_]{1,}$', 'u');
269
270        var target = {
271            name: "openharmony",
272            age: 3
273        };
274        var handler = {
275            get(target, key) {
276                let result = target[key];
277                if (key === "age") result += "岁";
278                return result;
279            },
280            set(target, key, value) {
281                if (key === "age" && typeof value !== "number") {
282                    throw Error("age字段必须为Number类型");
283                }
284                return Reflect.set(target, key, value);
285            }
286        }
287        var {proxy, revoke} = Proxy.revocable(target, handler);
288        var proxy1 = new Proxy(target, handler);
289        var proxy2 = Proxy.revocable(target, handler);
290
291        revoke();
292        proxy2.revoke();
293
294        var promiseFulfilled = new Promise((resolve, reject) => {
295            let result = {
296                flag: true
297            }
298            if (result.flag == true) {
299                resolve(result);
300            } else {
301                reject(new Error("The promise is rejected"));
302            }
303        });
304        var string22 = "\uD83D";
305        var string23 = string22 + "\uDE42";
306        var string24 = "\u{1F468}";
307        var string25 = string24 + "\u200D\u{1F468}\u200D\u{1F467}\u200D\u{1F466}\u200D";
308        print(string22);
309        print(string23);
310        print(string24);
311        print(string25);
312
313        function resolveHandler(result) {
314            let a = promiseFulfilled;
315            print("promise is fulfilled with result.flag " + result.flag);
316        }
317
318        function rejectHandler(error) {
319            print(error.message);
320        }
321
322        promiseFulfilled.then(result => resolveHandler(result)).catch(error => rejectHandler(error));
323
324        var nop = undefined;
325    }
326}
327
328o.foo()