33 lines
678 B
JavaScript
33 lines
678 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");
|
|
};
|