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.
51 lines
1.3 KiB
51 lines
1.3 KiB
var common = require("../common-tap.js")
|
|
var existsSync = require("fs").existsSync
|
|
var join = require("path").join
|
|
var exec = require("child_process").exec
|
|
|
|
var test = require("tap").test
|
|
var rimraf = require("rimraf")
|
|
var mkdirp = require("mkdirp")
|
|
|
|
var pkg = join(__dirname, "install-scoped")
|
|
var work = join(__dirname, "install-scoped-TEST")
|
|
var modules = join(work, "node_modules")
|
|
|
|
var EXEC_OPTS = {}
|
|
|
|
test("setup", function (t) {
|
|
mkdirp.sync(modules)
|
|
process.chdir(work)
|
|
|
|
t.end()
|
|
})
|
|
|
|
test("installing package with links", function (t) {
|
|
common.npm(["install", pkg], EXEC_OPTS, function (err, code) {
|
|
t.ifError(err, "install ran to completion without error")
|
|
t.notOk(code, "npm install exited with code 0")
|
|
|
|
t.ok(
|
|
existsSync(join(modules, "@scoped", "package", "package.json")),
|
|
"package installed"
|
|
)
|
|
t.ok(existsSync(join(modules, ".bin")), "binary link directory exists")
|
|
|
|
var hello = join(modules, ".bin", "hello")
|
|
t.ok(existsSync(hello), "binary link exists")
|
|
|
|
exec("node " + hello, function (err, stdout, stderr) {
|
|
t.ifError(err, "command ran fine")
|
|
t.notOk(stderr, "got no error output back")
|
|
t.equal(stdout, "hello blrbld\n", "output was as expected")
|
|
|
|
t.end()
|
|
})
|
|
})
|
|
})
|
|
|
|
test("cleanup", function (t) {
|
|
process.chdir(__dirname)
|
|
rimraf.sync(work)
|
|
t.end()
|
|
})
|
|
|