aboutsummaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorRobert Katic <robert.katic@gmail.com>2009-12-19 00:34:20 +0800
committerJohn Resig <jeresig@gmail.com>2009-12-19 01:19:34 +0800
commit148fb7ba8e992dd70c64cdc6a1c6f643fd1ba160 (patch)
tree9bda00fc30184e1e35c6c07a1b0b9127bc9e8850 /test
parent27d65b59f96460987abb84dadc3a75dde8826b3a (diff)
downloadjquery-148fb7ba8e992dd70c64cdc6a1c6f643fd1ba160.tar.gz
jquery-148fb7ba8e992dd70c64cdc6a1c6f643fd1ba160.zip
Made isPlainObject() supporting null, undefined, and window values on IE too. Also added some related tests. Fixes #5669.
Diffstat (limited to 'test')
-rw-r--r--test/unit/core.js15
1 files changed, 14 insertions, 1 deletions
diff --git a/test/unit/core.js b/test/unit/core.js
index 185f77aa3..1e03c96c0 100644
--- a/test/unit/core.js
+++ b/test/unit/core.js
@@ -204,12 +204,22 @@ test("trim", function() {
});
test("isPlainObject", function() {
- expect(7);
+ expect(14);
stop();
// The use case that we want to match
ok(jQuery.isPlainObject({}), "{}");
+
+ // Not objects shouldn't be matched
+ ok(!jQuery.isPlainObject(""), "string");
+ ok(!jQuery.isPlainObject(0) && !jQuery.isPlainObject(1), "number");
+ ok(!jQuery.isPlainObject(true) && !jQuery.isPlainObject(false), "boolean");
+ ok(!jQuery.isPlainObject(null), "null");
+ ok(!jQuery.isPlainObject(undefined), "undefined");
+
+ // Arrays shouldn't be matched
+ ok(!jQuery.isPlainObject([]), "array");
// Instantiated objects shouldn't be matched
ok(!jQuery.isPlainObject(new Date), "new Date");
@@ -231,6 +241,9 @@ test("isPlainObject", function() {
// DOM Element
ok(!jQuery.isPlainObject(document.createElement("div")), "DOM Element");
+
+ // Window
+ ok(!jQuery.isPlainObject(window), "window");
var iframe = document.createElement("iframe");
document.body.appendChild(iframe);