1# Copyright (c) 2021 Huawei Device Co., Ltd. 2# Licensed under the Apache License, Version 2.0 (the "License"); 3# you may not use this file except in compliance with the License. 4# You may obtain a copy of the License at 5# 6# http://www.apache.org/licenses/LICENSE-2.0 7# 8# Unless required by applicable law or agreed to in writing, software 9# distributed under the License is distributed on an "AS IS" BASIS, 10# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 11# See the License for the specific language governing permissions and 12# limitations under the License. 13 1410 151,1,0,0,1,1 16100 17,,0,0, 185 191,2,3,4,5 204 211,2,3,4 224 231,2,3,3 245 252,3,4,5,6 265,4,3,2,1 2710 28undefined 29undefined 30undefined 318 32undefined 339 340 359 362 371 38undefined 399 402 41undefined 421 439 4410 451 462 473 484 495 50undefined 51undefined 52undefined 53undefined 54undefined 559 5610 57undefined 58undefined 59undefined 60undefined 61undefined 62undefined 63undefined 641 652 663 6716 686 69-1 70The NewTarget is undefined 71undefined 721 736 746 75undefined 762 772 786,,4,3,2,1 791,2,3,4,,6 801,2,6,4,5 811,2,3,4,5 82Dec,Feb,Jan,Mar 83Mar,Jan,Feb,Dec 841,2,10,21 851,10,21,2 865,4,3,2,,0 87======== Begin: Array.prototype.reverse() ======== 88arr0.reverse() === arr0 ? true 89arr0.length after reverse() called = 0 90arr1.reverse() === arr1 ? true 91arr1 after reverse() called = 1 92arrWithHoles before reverse() called = ,1,,,4,,,,, 93arrWithHoles.reverse() = ,,,,,4,,,1, 94arrWithHoles after reverse() called = ,,,,,4,,,1, 95======== End: Array.prototype.reverse() ======== 96======== Begin: Array.prototype.indexOf() & Array.prototype.lastIndexOf() ======== 97arr = [0, 10, 20, 80, 40, Hole, undefined, 10, "80", Hole] 98Group 1: 0 <= fromIndex < arr.length: 4,-1,1,7,4,-1,7,1 99Group 2: -arr.length <= fromIndex < 0: -1,4,7,1,4,-1,1,-1,0,1,0,-1 100Group 3: fromIndex >= arr.length: -1,-1,-1,-1,0,0 101Group 4: fromIndex < -arr.length: 0,-1 102Group 5: fromIndex in [Infinity, -Infinity]: 1,-1,-1,7 103Group 6: fromIndex is NaN: 0,1,0,-1 104Group 7: fromIndex is not of type 'number': 7,1,7,7 105Group 8: Strict equality checking: 8,3 106Group 9: Searching undefined and null: 6,6,-1,6,6,-1 107Group 10: fromIndex with side effects: 108 - indexOf: result = -1, accessCount = 6 109 - lastIndexOf: result = -1, accesscount = 6 110Group 11: fromIndex that triggers exceptions: 111Expected TypeError caught in indexOf when fromIndex is bigint. 112Expected TypeError caught in lastIndexOf when fromIndex is bigint. 113Expected TypeError caught in indexOf when fromIndex is symbol. 114Expected TypeError caught in lastIndexOf when fromIndex is symbol. 115======== End: Array.prototype.indexOf() & Array.prototype.lastIndexOf() ======== 116CallbackFn is not callable 117,,baz 118,,baz 119{"0":-1.6304390272817058e+308,"length":1} 120constructor 121get [Symbol.species] 122constructor 1231 1 1240 0 125constructor 126get [Symbol.species] 127constructor 1281 1 1290 0 130constructor 131get [Symbol.species] 132constructor 1331 1 1340 0 135constructor 136get [Symbol.species] 137constructor 1381 1 1390 0 140constructor 141constructor 142constructor 143n 144100 1450 146false 147false 148false 1493000 150true 15110,10,10,10,10,10,10,10,10,10 1523,4,5,6,4,5,6,7,8,9 1533,4,5,6,4,5,6,7,8,9 1540,1,,3,4,5,6,7,8,9 1550,1,2,0,1,2,3,4,5,9 1565,6,2,3,4,5,6,7,8,9 1575,6,2,3,4,5,6,7,8,9 158true 159true 160true 161true 162145 163145 164109 165125 166false 167false 168true 16915 17013 171[object Object] 172Dec,Feb,Jan,Mar 173Dec,Feb,Jan,Mar 1741 175TypeError 176TypeError 177TypeError 178TypeError 179TypeError 180TypeError 181TypeError 1821,2,3 183apple,banana,orange 184true,false,true 185[object Object],[object Object] 186NaN,NaN,NaN 187Infinity,-Infinity 188/pattern1/,/pattern2/ 189[object Map],[object Map] 190[object Set],[object Set] 1911,2,3,4,5,6 192ark_unicodeValue ,ark_unicodeValue 193undefined 194Exception usage, but does not throw an error 195Caught an error: RangeError: Invalid array length 1961,2,3 197apple,banana,orange 198true,false,true 199[object Object],[object Object] 200NaN,NaN,NaN 201Infinity,-Infinity 202/pattern1/,/pattern2/ 203[object Map],[object Map] 204[object Set],[object Set] 2051,2,3,4,5,6 206ark_unicodeValue ,ark_unicodeValue 207Caught an error: TypeError: the mapfn is not callable. 208Caught an error: Error: Something went wrong 209Exception usage, but does not throw an error 210true 211true 212true 213true 214true 215true 216true 217true 218true 219true 220true 221false 222false 223false 224false 225false 226apple,banana,orange 227 2281,2,3,4,5,6,7,8,9,10 229apple,banana,orange 230[object Object],[object Object] 231ark_unicodeValue ,ark_unicodeValue 2321,2,3,4,5,6 2331,2,3 234undefined 2351,2,3 2361,2,3 2371,2,3 238Concatenated Array: 1,two,true,,,[object Object] 239Nested Concatenated Array: 1,two,true,1,2,a,b,true,false,,,[object Object] 240Mixed Concatenated Array: 1,two,true,4,five,[object Object] 241Spread Concatenated Array: 1,two,true,,,[object Object] 242Original Arrays: 1,2,3,apple,banana,orange,true,false,true,[object Object],[object Object],NaN,NaN,NaN,Infinity,-Infinity,/pattern1/,/pattern2/,[object Map],[object Map],[object Set],[object Set],1,2,3,4,5,6,ark_unicodeValue ,ark_unicodeValue 243Copied Array 1: 3,2,3 244Copied Array 2: apple,apple,banana 245Copied Array 3: true,false,true 246Copied Array 4: [object Object],[object Object] 247Copied Array 5: NaN,NaN,NaN 248Index: 0 249Value: 1,2,3 250Index: 1 251Value: apple,banana,orange 252Index: 2 253Value: true,false,true 254Index: 3 255Value: [object Object],[object Object] 256Index: 4 257Value: NaN,NaN,NaN 258Index: 5 259Value: Infinity,-Infinity 260Index: 6 261Value: /pattern1/,/pattern2/ 262Index: 7 263Value: [object Map],[object Map] 264Index: 8 265Value: [object Set],[object Set] 266Index: 9 267Value: 1,2,3,4,5,6 268Index: 10 269Value: ark_unicodeValue ,ark_unicodeValue 270true 271false 272true 273true 274false 275true 276Caught an error: TypeError: the callbackfun is not callable. 277Caught an error: ReferenceError: undefinedVariable is not defined 2780,0,0,0,0 2791,2,0,0,0 2801,0,0,4,5 2810,0,0,0,0 2821,2,0,0,0 2831,0,0,4,5 284hello,hello,hello,hello,hello 2851,0,0 2861,0,3 2872,4 2883,4,5 2891,2,3,4,5 2903 291apple,banana,orange 292[object Object],[object Object] 293Caught an error: TypeError: the callbackfun is not callable. 294Caught an error: TypeError: is not callable 295undefined 296undefined 2976 298undefined 299 300null 3011,2,3 3026 303null 304undefined 305NaN 306false 307Caught an error: TypeError: the predicate is not callable. 308Caught an error: TypeError: the predicate is not callable. 309Caught an error: TypeError: Cannot read property find of null 310Caught an error: ReferenceError: array is not defined 311-1 312-1 3130 314-1 3158 3167 31711 3180 3197 3206 3215 3229 323Caught an error: TypeError: the predicate is not callable. 324Caught an error: TypeError: the predicate is not callable. 325Caught an error: TypeError: Cannot read property findIndex of null 326Caught an error: ReferenceError: array is not defined 327undefined 328undefined 32910 330undefined 331 3321,2,3 3331,2,3 3341,2,3 335null 336undefined 3371,2,3 338false 339Caught an error: TypeError: the predicate is not callable. 340Caught an error: TypeError: the predicate is not callable. 341Caught an error: TypeError: Cannot read property findLast of null 342Caught an error: ReferenceError: array is not defined 343-1 344-1 3454 346-1 3478 34811 34911 35011 3517 3526 35311 3549 355Caught an error: TypeError: the predicate is not callable. 356Caught an error: TypeError: the predicate is not callable. 357Caught an error: TypeError: Cannot read property findLastIndex of null 358Caught an error: ReferenceError: array is not defined 3591,2,3,4,5,6,7,8,9,10 3601,2,3,4,5,6,7,8,9,10 3611,2,3,4,5 3621,2,,3, 3631,2,3,4,5,6 3641,2,3,4,5 3651,string,[object Object],, 3661,NaN,Infinity,2,3,NaN 3671,2,3,4 3681,2,3,4 3691,2,2,4,3,6 370 3712,4,6 3721,0,2,1,3,2 3731,2,3 3741,2,3,4,5,6 3751,2,3,4 3761,2,4,3 3771 3782 3793 380apple 381banana 382orange 383true 384false 385true 386[object Object] 387[object Object] 388NaN 389NaN 390NaN 391Infinity 392-Infinity 393/pattern1/ 394/pattern2/ 395[object Map] 396[object Map] 397[object Set] 398[object Set] 3991,2,3 4004,5,6 401ark_unicodeValue 402ark_unicodeValue 403Caught an error: TypeError: the callbackfun is not callable. 404Array: [1, 2, 3, 4, 5], Target: 3, Result: true 405Array: [1, 2, 3, 4, 5], Target: 6, Result: false 406Array: [NaN, 2, 3], Target: NaN, Result: true 407Array: [, 2, 3], Target: undefined, Result: true 408Array: [apple, banana, orange], Target: banana, Result: true 409Array: [apple, banana, orange], Target: grape, Result: false 410Array: [], Target: 1, Result: false 411Array: [true, false, true], Target: true, Result: true 412Array: [true, false, true], Target: false, Result: true 413Array: [Infinity, -Infinity], Target: Infinity, Result: true 414Array: [Infinity, -Infinity], Target: -Infinity, Result: true 415Array: [[object Map], [object Map]], Target: [object Map], Result: false 416Array: [[object Set], [object Set]], Target: [object Set], Result: false 4172 4180 4194 420-1 4211 4221 423-1 424-1 4251 426-1 427apple,banana,cherry 428apple, banana, cherry 429 430apple 431apple,1,[object Object] 432apple + banana + cherry 4330 4341 4352 436true 4370 438true 4390 4401 4410 4421 4432 4444 4450 4465 447-1 448-1 449-1 4502 4512,4,6,8,10 452 4532,4,NaN,8,NaN 4542,,6 4551,2,3 4562,4,6,8,10,12 4575 4581,2,3,4 459undefined 460 4611 462 463apple 4641,2,3,4 4651,2,3,4,5,6 4661 467[object Object],[object Object] 4681,2,3,4 4691,2,3, 4701,2 471TypeError: Cannot convert a UNDEFINED value to a JSObject 47215 4730 4741 475NaN 476edcba 477initialValue 478a 479dundefinedba 480e,d,c,b,a 481 482a 483d,,b,a 484a 485b,c,d,e 486undefined 487 488a 489 490a 491,b,c 492b,c 493 494a 495,b 496true 497false 498false 499true 500true 5011,1,2,3,4,5,5,6,9 502 5031 5041,3,5, 505apple,banana,cherry 506c,d 507a,b,x,y,e 508 509x,y 510a 511x,y 512,3 5131,5 514apple,banana,cherry 5151,2,3,4,5 5161,two,true 5175 518x,y,a,b,c 5192 520x,y 5212 522x,a 5234 524x,1,2, 5257 5265,6,7,1,2,,4 5278 5285,6,7,8,1,2,,4 529e,d,c,b,a 530 531a 532d,,b,a 5331,1,2,3,4,5,5,6,9 534 5351 5361,3,5, 537apple,banana,cherry 538a,b,x,y,e 539a,b,c,d,e 540x,y 541 542x,y 543a 5441,5 5451,,3,5 546true 547true 548true 549true 550true 551true 552false 553false 554false 555false 556false 557false 558false 559false 560false 561false 562true 5631 564-1 5651 566-1 5671 568-1 569succ 5700,1,2,3,4,5 5715 5721,2,3 5731,2,3,4,5 574Exception 575a false 576b false 577undefined true 5780 false 5791 false 580undefined true 5810,a false 5821,b false 583undefined true 584Test passed 585false 586false 5879 5888 5897 5906 5915 5920,1,2,3,4 5930 5941 5952 5963 5974 5985,6,7,8,9 5990,1,1,2,4 6001,3,3,4,5,6,7,8,9 6011,3,3,4,5,6,7,8,9 6021,3,3,3,5,6,7,8,9 6031,3,3,3,5,6,7,8,9 6041,3,3,3,5,6,7,8,9 6051,3,3,3,5,6,7,8,9 6060,1,2,3 607