summaryrefslogtreecommitdiffstats
path: root/third_party/webkit/PerformanceTests/six-speed/tests/for-of-object.es6
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/webkit/PerformanceTests/six-speed/tests/for-of-object.es6')
-rw-r--r--third_party/webkit/PerformanceTests/six-speed/tests/for-of-object.es624
1 files changed, 24 insertions, 0 deletions
diff --git a/third_party/webkit/PerformanceTests/six-speed/tests/for-of-object.es6 b/third_party/webkit/PerformanceTests/six-speed/tests/for-of-object.es6
new file mode 100644
index 0000000000..55b5fb6dd0
--- /dev/null
+++ b/third_party/webkit/PerformanceTests/six-speed/tests/for-of-object.es6
@@ -0,0 +1,24 @@
+var data = {'a': 'b', 'c': 'd'};
+data[Symbol.iterator] = function() {
+ var array = Object.keys(data),
+ nextIndex = 0;
+
+ return {
+ next: function() {
+ return nextIndex < array.length ?
+ {value: data[array[nextIndex++]], done: false} :
+ {done: true};
+ }
+ };
+};
+
+function fn() {
+ var ret = '';
+ for (var value of data) {
+ ret += value;
+ }
+ return ret;
+}
+
+assertEqual(fn(), 'bd');
+test(fn);