From f2708c99873a4220196cb6f91d1372ed38272806 Mon Sep 17 00:00:00 2001 From: SeunAdelekan Date: Sat, 13 Jul 2019 15:15:20 +0100 Subject: [PATCH 1/3] Added tests for JavaScript's Array.prototype.values() and Array.prototype.keys() functions. --- test/hermes/array-functions.js | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/test/hermes/array-functions.js b/test/hermes/array-functions.js index 2ebdf1d48b4..741dda96fa2 100644 --- a/test/hermes/array-functions.js +++ b/test/hermes/array-functions.js @@ -858,3 +858,29 @@ print(Array.prototype.includes.call({length: 3, 0: 'a', 1: 'b', 2: 'c'}, 'a')); var o = {}; print([,,,o,,,].includes(o)); // CHECK-NEXT: true + +print('values'); +// CHECK-LABEL: values +var a = [1,2,3,4]; +var iterator = a.values(); +print((typeof iterator[Symbol.iterator] === 'function')); +// CHECK-NEXT: true +var b = Array(); +for (var value of iterator) { + b.push(value); +} +print(b.length, b.toString()); +// CHECK-NEXT: 4 1,2,3,4 + +print('keys'); +// CHECK-LABEL: keys +var a = [1,2,3,4]; +var iterator = a.keys(); +print((typeof iterator[Symbol.iterator] === 'function')); +// CHECK-NEXT: true +var b = Array(); +for (var key of iterator) { + b.push(key); +} +print(b.length, b.toString()); +// CHECK-NEXT: 4 0,1,2,3 \ No newline at end of file From 7c08d031eb05855eda4cc4c4d0f7207adf8c82a6 Mon Sep 17 00:00:00 2001 From: SeunAdelekan Date: Sun, 14 Jul 2019 19:19:20 +0100 Subject: [PATCH 2/3] Moved array iterator tests to preferred file. --- test/hermes/array-functions.js | 28 +--------------------------- test/hermes/iterator.js | 8 ++++++++ 2 files changed, 9 insertions(+), 27 deletions(-) diff --git a/test/hermes/array-functions.js b/test/hermes/array-functions.js index 741dda96fa2..28b756b48bb 100644 --- a/test/hermes/array-functions.js +++ b/test/hermes/array-functions.js @@ -857,30 +857,4 @@ print(Array.prototype.includes.call({length: 3, 0: 'a', 1: 'b', 2: 'c'}, 'a')); // CHECK-NEXT: true var o = {}; print([,,,o,,,].includes(o)); -// CHECK-NEXT: true - -print('values'); -// CHECK-LABEL: values -var a = [1,2,3,4]; -var iterator = a.values(); -print((typeof iterator[Symbol.iterator] === 'function')); -// CHECK-NEXT: true -var b = Array(); -for (var value of iterator) { - b.push(value); -} -print(b.length, b.toString()); -// CHECK-NEXT: 4 1,2,3,4 - -print('keys'); -// CHECK-LABEL: keys -var a = [1,2,3,4]; -var iterator = a.keys(); -print((typeof iterator[Symbol.iterator] === 'function')); -// CHECK-NEXT: true -var b = Array(); -for (var key of iterator) { - b.push(key); -} -print(b.length, b.toString()); -// CHECK-NEXT: 4 0,1,2,3 \ No newline at end of file +// CHECK-NEXT: true \ No newline at end of file diff --git a/test/hermes/iterator.js b/test/hermes/iterator.js index 1c55476270c..e5133d74fcf 100644 --- a/test/hermes/iterator.js +++ b/test/hermes/iterator.js @@ -23,6 +23,14 @@ print(Object.getPrototypeOf( Object.getPrototypeOf([].keys()) )[Symbol.iterator].name); // CHECK-LABEL: [Symbol.iterator] +print(Object.getPrototypeOf( + Object.getPrototypeOf([].values()) +)[Symbol.iterator].name); +// CHECK-LABEL: [Symbol.iterator] +print(Object.getPrototypeOf( + Object.getPrototypeOf([].entries()) +)[Symbol.iterator].name); +// CHECK-LABEL: [Symbol.iterator] print('Array Iterator'); // CHECK-LABEL: Array Iterator From a638b885ddad89260b4307da743a2ab5a23e2552 Mon Sep 17 00:00:00 2001 From: SeunAdelekan Date: Sun, 14 Jul 2019 19:25:23 +0100 Subject: [PATCH 3/3] Restored newline to end of array-functions file. --- test/hermes/array-functions.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/hermes/array-functions.js b/test/hermes/array-functions.js index 28b756b48bb..2ebdf1d48b4 100644 --- a/test/hermes/array-functions.js +++ b/test/hermes/array-functions.js @@ -857,4 +857,4 @@ print(Array.prototype.includes.call({length: 3, 0: 'a', 1: 'b', 2: 'c'}, 'a')); // CHECK-NEXT: true var o = {}; print([,,,o,,,].includes(o)); -// CHECK-NEXT: true \ No newline at end of file +// CHECK-NEXT: true