You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
698 B
28 lines
698 B
4 years ago
|
"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");
|
||
|
};
|