heyujie
2021-06-07 8f8155aa4c83f7c2577ac123add550766b6a7ce3
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
27
"use strict";
 
var iteratorSymbol = require("es6-symbol").iterator
  , Iterator       = require("../");
 
module.exports = function (t, a) {
    var iterator;
    a.throws(function () {
 t();
}, TypeError, "Null");
    a.throws(function () {
 t({});
}, TypeError, "Plain object");
    a.throws(function () {
 t({ length: 0 });
}, TypeError, "Array-like");
    iterator = {};
    iterator[iteratorSymbol] = function () {
 return new Iterator([]);
};
    a(t(iterator) instanceof Iterator, true, "Iterator");
    a(String(t([])), "[object Array Iterator]", " Array");
    a(String(t(function () {
 return arguments;
}())), "[object Array Iterator]", " Arguments");
    a(String(t("foo")), "[object String Iterator]", "String");
};