valid-iterable.js 566 Bytes
"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");
};