diff --git a/reflections/type/type-test.js b/reflections/type/type-test.js index 5f2b080..468dd3f 100644 --- a/reflections/type/type-test.js +++ b/reflections/type/type-test.js @@ -82,6 +82,8 @@ QUnit.test("isMapLike", function(){ QUnit.test("isMoreListLikeThanMapLike", function(){ QUnit.equal(typeReflections.isMoreListLikeThanMapLike({}), false, "Object"); QUnit.equal(typeReflections.isMoreListLikeThanMapLike([]), true, "Array"); + QUnit.equal(typeReflections.isMoreListLikeThanMapLike(undefined), "undefined", "undefined"); + QUnit.equal(typeReflections.isMoreListLikeThanMapLike(null), "undefined", "null"); }); QUnit.test("isObservableLike", function(){ diff --git a/reflections/type/type.js b/reflections/type/type.js index bdeb326..4de0017 100644 --- a/reflections/type/type.js +++ b/reflections/type/type.js @@ -453,6 +453,9 @@ module.exports = { if(obj instanceof Array) { return true; } + if(obj === undefined || obj === null) { + return "undefined"; + } var value = obj[canSymbol.for("can.isMoreListLikeThanMapLike")]; if(value !== undefined) { return value;