Musique/node_modules/es5-ext/test/iterable/validate.js

26 lines
690 B
JavaScript

"use strict";
var iteratorSymbol = require("es6-symbol").iterator;
module.exports = function (t, a) {
var x;
a.throws(function () { t(0); }, TypeError, "0");
a.throws(function () { t(false); }, TypeError, "false");
a(t(""), "", "''");
a.throws(function () { t({}); }, TypeError, "Plain Object");
a.throws(
function () {
t(function () {});
},
TypeError,
"Function"
);
a(t((x = new String("raz"))), x, "String object"); // Jslint: ignore
a(t((x = { length: 1 })), x, "Array like");
a.throws(function () { t(); }, TypeError, "Undefined");
a.throws(function () { t(null); }, TypeError, "null");
x = {};
x[iteratorSymbol] = function () {};
a(t(x), x, "Iterable");
};