can-util
Version:
Common utilities for CanJS projects
41 lines (30 loc) • 1.14 kB
JavaScript
var QUnit = require('../../test/qunit');
var isPlainObject = require('./is-plain-object');
QUnit.module("can-util/js/is-plain-object");
QUnit.test("basics", function(assert){
assert.ok(isPlainObject({foo : "bar"}));
});
QUnit.test("objects with prototypes", function(assert){
var Ctr = function(){};
var obj = new Ctr();
assert.equal(isPlainObject(obj), false, "not a plain object");
});
QUnit.test("new Object", function(assert){
var obj;
/* jshint ignore:start */
obj = new Object();
/* jshint ignore:end */
assert.equal(isPlainObject(obj), true, "using new Object gives you a plain object");
});
QUnit.test("Booleans", function(assert){
assert.equal(isPlainObject(true), false, "Boolean value true is false");
assert.equal(isPlainObject(Boolean(true)), false, "Boolean constructor");
});
QUnit.test("Numbers", function(assert){
assert.equal(isPlainObject(15.66), false, "number is not a plain object");
assert.equal(isPlainObject(parseInt(13)), false, "integer is not a plain object");
});
QUnit.test("NaN", function(assert){
assert.equal(isPlainObject(NaN), false, "NaN is not a plain object");
});
;