ERROR: No file found!


This helps you to build DOM test environment without browser nor global pollution.

npm install context_builder
{ContextBuilder} = require 'context_builder'
env = new ContextBuilder
  html: "<span id='item'> item </span>"
  scripts: [
  ] -> ->
    # you can touch browser object like on browser 
    $('#item').text() #=> item 
  window? #=> false 
  env.ctx.window? #=> true 

TestRunner is tuned for Mocha BDD Style.

{TestEnv} = require 'context_builder'
ck = require 'coffeekup' # npm install coffeekup 
settings =
  root: __dirname
  html: ck.render ->
    div id:'hoge'-> 'div'
  scripts: [
env = new TestEnv settings
{_do_async} = env
describe 'hoge'->
  beforeEach (done)-> done
  it 'should have id hoge'_do ->
    ok $('#hoge').size() is  1
  it 'should callback with timeout'_async ->
    ok $('#hoge').size() is  1
    setTimeout done100
$ mocha --compilers coffee:coffee-script --ignore-leaks

"_do" and "_async" wrap contextify. In lambda after that, you can code like on browser.

  • change implicit done on _async
  • wrap describe and it