timepiece/node_modules/es6-iterator/test/valid-iterable.js

29 lines
566 B
JavaScript

"use strict";
var iteratorSymbol = require("es6-symbol").iterator
, Iterator = require("../");
module.exports = function (t, a) {
var obj;
a.throws(function () {
t();
}, TypeError, "Undefined");
a.throws(function () {
t({});
}, TypeError, "Plain object");
a.throws(function () {
t({ length: 0 });
}, TypeError, "Array-like");
obj = {};
obj[iteratorSymbol] = function () {
return new Iterator([]);
};
a(t(obj), obj, "Iterator");
obj = [];
a(t(obj), obj, "Array");
obj = (function () {
return arguments;
}());
a(t(obj), obj, "Arguments");
};