npm
Version:
a package manager for JavaScript
44 lines (37 loc) • 1.14 kB
JavaScript
var path = require('path')
var tap = require('tap')
var readJson = require('../')
var createWarningCollector = function () {
var warn = function (msg) {
warn.warnings.push(arguments)
}
warn.warnings = []
return warn
}
tap.test('Bin test', function (t) {
var p = path.resolve(__dirname, 'fixtures/bin.json')
var warn = createWarningCollector()
readJson(p, warn, function (er, data) {
t.equals(warn.warnings.length, 0)
t.deepEqual(data.bin, {'bin-test': './bin/echo'})
t.end()
})
})
tap.test('Bad bin test', function (t) {
var p = path.resolve(__dirname, 'fixtures/badbin.json')
var warn = createWarningCollector()
readJson(p, warn, function (er, data) {
t.equals(warn.warnings.length, 1)
t.equals(warn.warnings[0][2], 'No bin file found at ./bin/typo')
t.end()
})
})
tap.test('Empty bin test', function (t) {
var p = path.resolve(__dirname, 'fixtures/emptybin.json')
var warn = createWarningCollector()
readJson(p, warn, function (er, data) {
t.equals(warn.warnings.length, 0)
t.same(data.bin, {}, 'no mapping to bin because object was empty')
t.end()
})
})