123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <title>Web Console test for bug 632347 - iterators and generators</title>
- <!-- Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/ -->
- <script type="application/javascript;version=1.8">
- (function(){
- function genFunc() {
- var a = 5;
- while (a < 10) {
- yield a++;
- }
- }
- window._container = {};
- _container.gen1 = genFunc();
- _container.gen1.next();
- var obj = { foo: "bar", baz: "baaz", hay: "stack" };
- _container.iter1 = Iterator(obj);
- function Range(low, high) {
- this.low = low;
- this.high = high;
- }
- function RangeIterator(range) {
- this.range = range;
- this.current = this.range.low;
- }
- RangeIterator.prototype.next = function() {
- if (this.current > this.range.high) {
- throw StopIteration;
- } else {
- return this.current++;
- }
- }
- Range.prototype.__iterator__ = function() {
- return new RangeIterator(this);
- }
- _container.iter2 = new Range(3, 15);
- _container.gen2 = (function* () { for (let i in _container.iter2) yield i * 2; })();
- })();
- </script>
- </head>
- <body>
- <p>Web Console test for bug 632347 - iterators and generators.</p>
- </body>
- </html>
|