diff --git a/qunit/qunit.js b/qunit/qunit.js
index <HASH>..<HASH> 100644
--- a/qunit/qunit.js
+++ b/qunit/qunit.js
@@ -1268,7 +1268,9 @@ QUnit.jsDump = (function() {
 				type = "document";
 			} else if (obj.nodeType) {
 				type = "node";
-			} else if (typeof obj === "object" && typeof obj.length === "number" && obj.length >= 0) {
+			} else if (Object.prototype.toString.call( obj ) == "[object Array]") {
+				type = "array";
+			} else if (Object.prototype.toString.call( obj ) == "[object NodeList]") {
 				type = "array";
 			} else {
 				type = typeof obj;
Added more strict array type detection for dump output, and allowed NodeList objects to be output as arrays

This helps prevent treating any object with a length property as an
array, while maintaining the ability to render NodeList objects as
arrays. jsDump output tests still pass after this patch is applied.