UNPKG

oj

Version:

A unified templating language for the people. Thirsty people.

73 lines (57 loc) 2.19 kB
# oj.CheckBox.coffee # ============================================================================== path = require 'path' fs = require 'fs' oj = require '../oj.js' describe 'oj.CheckBox', -> it 'exists', -> assert oj.CheckBox != null, 'oj.CheckBox is null' oj.CheckBox.should.be.a 'function' it 'construct default', -> control = oj.CheckBox() expect(oj.isOJ control).to.equal true expect(control.typeName).to.equal 'CheckBox' expect(control.value).to.equal false it 'construct with value:true', -> control = oj.CheckBox value:true expect(control.typeName).to.equal 'CheckBox' expect(control.value).to.equal true it 'construct with id', -> id = 'my-id' control = oj.CheckBox id:id expect(control.id).to.equal id expect(control.attributes.id).to.equal id # it 'construct with class', -> # cls = 'my-class' # control = oj.CheckBox class:cls # expect(control.class).to.equal cls # expect(control.attributes.class).to.equal cls # cls2 = 'my-class2' # cls3 = 'my-class3' # control.class = [cls2,cls3] # expect(control.classes).to.deep.equal cls it 'construct with name', -> name = 'my-name' control = oj.CheckBox name:name expect(control.name).to.not.exist expect(control.attributes.name).to.equal name it 'compile html', -> control = oj.CheckBox(value:true) results = oj.compile html:true, dom:true, control expect(results.html).to.contain '<input' expect(results.html).to.not.contain 'id' expect(results.html).to.contain 'class="oj-CheckBox"' expect(results.html).to.contain 'checked="checked"' it 'compile with new keyword', -> control = null htmlDiv = oj.toHTML -> oj.div c:'test', -> control = new oj.CheckBox value:true return expect(control.typeName).to.equal 'CheckBox' expect(control.value).to.equal true expect(htmlDiv).to.equal '<div class="test"></div>' htmlDiv2 = oj.toHTML minify:true, -> oj.div c:'test2', -> control.emit() expect(htmlDiv2).to.equal """<div class="test2"><input type="checkbox" checked="checked" class="#{control.attributes.class}"></div>"""