summaryrefslogtreecommitdiffstats
path: root/comm/mail/test/browser/utils/html/collections.html
blob: e51ee982162bd35ba06f7dad6db12e118af8ff99 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<html>
  <head>
    <title>Collections</title>
    <script>
      const JS_HAS_SYMBOLS = typeof Symbol === "function";
      const ITERATOR_SYMBOL = JS_HAS_SYMBOLS ? Symbol.iterator : "@@iterator";
      var gIterator = (function* () {
        yield 1; yield 2; yield 3; yield 4; yield 5;
      })();

      var gCustomIterator = {
        _array: [6, 7, 8, 9],
        *[ITERATOR_SYMBOL]() {
          for (var i = 0; i < this._array.length; ++i) {
            yield this._array[i];
          }
        },
      };
    </script>
  </head>
  <body>
    I have two collections defined - gIterator is an iterator, and contains
    [1, 2, 3, 4, 5], and gCustomIterator is an object with an @@iterator
    method that contains [6, 7, 8, 9].
  </body>
</html>