UNPKG

aver

Version:

ultraminimal test dsl

60 lines (59 loc) 1.53 kB
(function(){ var AssertionError, r, level; AssertionError = require('assert').AssertionError; require('colors'); r = curry$(function(s, n){ return function(it){ return it.join(''); }((function(){ var i$, to$, results$ = []; for (i$ = 0, to$ = n; i$ < to$; ++i$) { results$.push(s); } return results$; }())); }); level = 0; exports.describe = exports.should = function(label, fn){ var log, error, e, s; log = function(it){ return console.log(r(" ", level) + it); }; error = function(it){ return console.error(r(" ", level) + it); }; try { log(label + ':'); level++; fn(exports.describe); level--; return log('✓'.green + " " + label.white); } catch (e$) { e = e$; s = (function(){ switch (false) { case !(e instanceof AssertionError): return '✖'; default: return '‼'; } }()); level--; error(s.red + " " + label.white + " " + e.toString().grey); throw e; } }; function curry$(f, bound){ var context, _curry = function(args) { return f.length > 1 ? function(){ var params = args ? args.concat() : []; context = bound ? context || this : this; return params.push.apply(params, arguments) < f.length && arguments.length ? _curry.call(context, params) : f.apply(context, params); } : f; }; return _curry(); } }).call(this);