UNPKG

ensure

Version:

node.js testing made easy

43 lines (39 loc) 1.32 kB
#!/usr/bin/env node // credit: https://github.com/isaacs/node-tap var argv = process.argv.slice(2) , path = require("path") , Runner = require("tap-runner") , r = new Runner(argv, null) , TapProducer = require("tap-producer") if (process.env.TAP || process.env.TAP_DIAG) { r.pipe(process.stdout) } else { r.on("file", function (file, results, details) { var s = (details.ok ? "" : "not ") + "ok "+results.name , n = details.pass + "/" + details.testsTotal , dots = new Array(Math.max(1, 40 - s.length - n.length)).join(".") console.log("%s %s %s", s, dots, n) if (details.ok) { if (details.skip) { console.log(" skipped: %s", details.skipTotal) } } else { // console.error(details) console.log(" Command: %s", results.command) console.log(" " + TapProducer.encode(details.list) .split(/\n/).join("\n ")) } }) r.on("end", function () { //console.log(r) var s = "total" , n = r.results.pass + "/" + r.results.testsTotal , dots = new Array(40 - s.length - n.length).join(".") , ok = r.results.ok ? "ok" : "not ok" console.log("%s %s %s\n\n%s", s, dots, n, ok) // process.stdout.flush() }) } r.on("end", function () { process.exit(r.results.tests - r.results.pass) })