| 'use strict'; |
| |
| var iteratorSymbol = require('es6-symbol').iterator; |
| |
| module.exports = function (T, a) { |
| var it = new T('foobar'); |
| |
| a(it[iteratorSymbol](), it, "@@iterator"); |
| a.deep(it.next(), { done: false, value: 'f' }, "#1"); |
| a.deep(it.next(), { done: false, value: 'o' }, "#2"); |
| a.deep(it.next(), { done: false, value: 'o' }, "#3"); |
| a.deep(it.next(), { done: false, value: 'b' }, "#4"); |
| a.deep(it.next(), { done: false, value: 'a' }, "#5"); |
| a.deep(it.next(), { done: false, value: 'r' }, "#6"); |
| a.deep(it.next(), { done: true, value: undefined }, "End"); |
| |
| a.h1("Outside of BMP"); |
| it = new T('r💩z'); |
| a.deep(it.next(), { done: false, value: 'r' }, "#1"); |
| a.deep(it.next(), { done: false, value: '💩' }, "#2"); |
| a.deep(it.next(), { done: false, value: 'z' }, "#3"); |
| a.deep(it.next(), { done: true, value: undefined }, "End"); |
| }; |