mirror of https://github.com/lukechilds/node.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.6 KiB
44 lines
1.6 KiB
10 years ago
|
// vim: set softtabstop=16 shiftwidth=16:
|
||
|
var tap = require("tap")
|
||
|
var readJson = require("../")
|
||
|
var path = require("path")
|
||
|
var fs = require("fs")
|
||
|
|
||
|
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()
|
||
|
})
|
||
|
})
|