node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



write adventure verify functions using tape with colored output to better distinguish user output from test output


In your excercise code, you can do:

var verify = require('adventure-verify');
exports.problem = 'pass in the argument 555'
exports.verify = verify(function (args, t) {
    t.equal(args[0], '555');

And then run plug your beep_boop.js excercise into your adventure runner:

var adventure = require('adventure');
var adv = adventure('robots');
adv.add('beep boop', function () {
    return require('./beep_boop.js');


var verify = require('adventure-verify')

var fn = verify(opts={}, function (args, t) {})

You should pass in a function that will get args, the command-line arguments supplied after the xxx-adventure verify ... command on the command line and t, a tape instance.

The function fn(cb) returned by verify() fits into the signature expected by adventure. cb(ok) will be called with a boolean ok based on parsing the tap output from tape for any failures.

The options opts will be passed to tap-colorize. These options work:

  • opts.pass - color of passing /^ok/ lines
  • - color of failing /^not ok/ lines
  • - color of other tap-specific lines

You can pass in a named color such as 'green', an array rgb color such as [40,240,100], a hex color such as ''#f00d55', and you can include a display modifier such as 'bright', 'dim' or 'reverse'.

You can optionally set opts.modeReset, which hacks the colors back temporarily for console.log() and console.error() so that user debugging statements are printed without colors.


With npm do:

npm install adventure-verify