aboutsummaryrefslogtreecommitdiff
path: root/node_modules/es5-ext/test/object/is-plain-function.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/es5-ext/test/object/is-plain-function.js')
-rw-r--r--node_modules/es5-ext/test/object/is-plain-function.js42
1 files changed, 42 insertions, 0 deletions
diff --git a/node_modules/es5-ext/test/object/is-plain-function.js b/node_modules/es5-ext/test/object/is-plain-function.js
new file mode 100644
index 000000000..9c1f5ed38
--- /dev/null
+++ b/node_modules/es5-ext/test/object/is-plain-function.js
@@ -0,0 +1,42 @@
+"use strict";
+
+var setPrototypeOf = require("../../object/set-prototype-of");
+
+module.exports = function (t, a) {
+ a(t(function () {}), true, "Function");
+ a(t({}), false, "Object");
+ a(t(), false, "Undefined");
+ a(t(null), false, "Null");
+ if (setPrototypeOf) {
+ a(
+ t(Object.setPrototypeOf(function () {}, Object.prototype)),
+ false,
+ "Function with non-function prototype"
+ );
+ }
+ var arrowfn;
+ try {
+ arrowfn = eval("(() => {})");
+ } catch (e) {}
+ if (arrowfn) {
+ a(t(arrowfn), true, "Arrow function");
+ }
+
+ var classFn;
+ try {
+ classFn = eval("(class {})");
+ } catch (e) {}
+ if (classFn) {
+ a(t(classFn), false, "Class");
+ }
+
+ var commentedClassFn;
+ try {
+ // Follows issue reported to ljhard/is-callable project:
+ // https://github.com/ljharb/is-callable/issues/4
+ commentedClassFn = eval("(class/*kkk*/\n//blah\n Bar\n//blah\n {})");
+ } catch (e) {}
+ if (commentedClassFn) {
+ a(t(commentedClassFn, false, "Class"), false, "Class with comments");
+ }
+};