node/deps/npm/node_modules/read-package-json/test/bin.js
Forrest L Norvell cc8376ae67 deps: upgrade npm to 2.7.6
PR-URL: https://github.com/iojs/io.js/pull/1390
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
2015-04-10 14:22:47 -07:00

44 lines
1.1 KiB
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()
})
})