diff options
Diffstat (limited to '')
-rw-r--r-- | third_party/webkit/PerformanceTests/six-speed/tests/for-of-object.es6 | 24 |
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); |