'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"); };