oj
Version:
A unified templating language for the people. Thirsty people.
111 lines (96 loc) • 3.77 kB
text/coffeescript
path = require 'path'
fs = require 'fs'
oj = require '../oj.js'
Backbone = require 'backbone'
_ = oj.__
describe 'oj._', ->
array0 = []
array1 = [1]
array2 = [1,2]
array3 = [1,2,3]
obj0 = {}
obj1 = {one: 1}
obj2 = {one: 1, two: 2}
obj3 = {one: 1, two: 2, three: 3}
objKeys3 = ['one', 'two', 'three']
fn1 = -> 1
fn2 = -> 2
fn3 = -> 3
fnI = (v) -> v
fnPlus1 = (v) -> v + 1
objValues3 = array3
it 'isUndefined', ->
(oj.isUndefined undefined).should.equal true
(oj.isUndefined null).should.equal false
(oj.isUndefined true).should.equal false
(oj.isUndefined 1).should.equal false
(oj.isUndefined "string").should.equal false
(oj.isUndefined []).should.equal false
(oj.isUndefined {}).should.equal false
(oj.isUndefined ->).should.equal false
it 'isBoolean', ->
(oj.isBoolean undefined).should.equal false
(oj.isBoolean null).should.equal false
(oj.isBoolean true).should.equal true
(oj.isBoolean false).should.equal true
(oj.isBoolean 0).should.equal false
(oj.isBoolean 1).should.equal false
(oj.isBoolean "string").should.equal false
it 'isNumber', ->
(oj.isNumber undefined).should.equal false
(oj.isNumber null).should.equal false
(oj.isNumber true).should.equal false
(oj.isNumber 1).should.equal true
(oj.isNumber "string").should.equal false
it 'isString', ->
(oj.isString undefined).should.equal false
(oj.isString null).should.equal false
(oj.isString true).should.equal false
(oj.isString 1).should.equal false
(oj.isString "string").should.equal true
it 'isDate', ->
(oj.isDate new Date()).should.equal true
(oj.isDate new Date("2012-2-1")).should.equal true
(oj.isDate undefined).should.equal false
(oj.isDate null).should.equal false
(oj.isDate true).should.equal false
(oj.isDate "string").should.equal false
it 'isFunction', ->
assert.isTrue (oj.isFunction (v)->v), 'identity function case'
assert.isFalse (oj.isFunction []), '[] case'
assert.isFalse (oj.isFunction {}), '{} case'
assert.isFalse (oj.isFunction undefined), 'undefined case'
assert.isFalse (oj.isFunction null), 'null case'
assert.isFalse (oj.isFunction true, 'true case')
assert.isFalse (oj.isFunction 1), '1 case'
assert.isFalse (oj.isFunction "string"), 'string case'
it 'isArray', ->
assert.isTrue (oj.isArray []), '[] case'
assert.isTrue (oj.isArray [1,2]), '[1,2] case'
assert.isTrue (oj.isArray new Array), 'new Array case'
assert.isFalse (oj.isArray {}), '{} case'
assert.isFalse (oj.isArray {a:1, b:2}), '{a:1, b:2} case'
assert.isFalse (oj.isArray undefined), 'undefined case'
assert.isFalse (oj.isArray null), 'null case'
assert.isFalse (oj.isArray true, 'true case')
assert.isFalse (oj.isArray 1), '1 case'
assert.isFalse (oj.isArray "string"), 'string case'
it 'isPlainObject', ->
assert.isTrue (oj.isPlainObject {}), '{} case'
assert.isTrue (oj.isPlainObject {a:1, b:2}), '{a:1, b:2} case'
assert.isFalse (oj.isPlainObject []), '[] case'
assert.isFalse (oj.isPlainObject /abc/), '/abc/ case'
assert.isFalse (oj.isPlainObject new Array), 'new Array case'
assert.isFalse (oj.isPlainObject undefined), 'undefined case'
assert.isFalse (oj.isPlainObject null), 'null case'
assert.isFalse (oj.isPlainObject true, 'true case')
assert.isFalse (oj.isPlainObject new Date, 'new Date case')
assert.isFalse (oj.isPlainObject 1), '1 case'
assert.isFalse (oj.isPlainObject "string"), 'string case'
it 'isEvented', ->
class UserModel extends Backbone.Model
user = new UserModel name:'Evan'
expect(oj.isEvented(user)).to.equal true
it 'isOJML'
it 'isElement'
it 'isjQuery'