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() }) })