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