aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/test/iterable/validate-object.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/test/iterable/validate-object.js')
-rw-r--r--node_modules/es5-ext/test/iterable/validate-object.js34
1 files changed, 34 insertions, 0 deletions
diff --git a/node_modules/es5-ext/test/iterable/validate-object.js b/node_modules/es5-ext/test/iterable/validate-object.js
new file mode 100644
index 000000000..83a9ca15e
--- /dev/null
+++ b/node_modules/es5-ext/test/iterable/validate-object.js
@@ -0,0 +1,34 @@
+"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.throws(function () {
+ t("");
+}, TypeError, "String");
+ 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");
+};