Code coverage report for ./../tap/lib/mocha.js

Statements: 22.58% (7 / 31)      Branches: 0% (0 / 14)      Functions: 0% (0 / 8)      Lines: 24.14% (7 / 29)      Ignored: none     

All files » ./../tap/lib/ » mocha.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49        9   9 9 9         9   9                             9                                    
// API surface inspired by Mocha,
// Copyright (c) TJ Holowaychuk <tj@vision-media.ca>
//
// Using these functions still outputs TAP, of course.
var stack = require('./stack.js')
 
exports.it = it
exports.describe = describe
exports.global = function () {
  for (var g in exports)
    global[g] = exports[g]
}
 
var t = require('./root.js')
 
function it (name, fn) {
  var c = t.current()
  var at = stack.at(it)
 
  if (fn && fn.length)
    c.test(name, { at: at }, function (tt) {
      fn(function (err) {
        if (err) tt.threw(err)
        else tt.end()
      })
    })
  else
    c.doesNotThrow(fn, name || 'unnamed test', { at: at })
}
 
function describe (name, fn) {
  var c = t.current()
  var at = stack.at(describe)
  if (!fn)
    c.test(name, { at: at })
  else if (fn.length)
    c.test(name, { at: at }, function (tt) {
      fn(function (err) {
        if (err) tt.threw(err)
        else tt.end()
      })
    })
  else
    c.test(name, { at: at }, function (tt) {
      fn()
      tt.end()
    })
}