diff options
Diffstat (limited to 'deps/npm/test')
-rw-r--r-- | deps/npm/test/tap/circular-dep.js | 49 | ||||
-rw-r--r-- | deps/npm/test/tap/circular-dep/minimist/package.json | 7 | ||||
-rw-r--r-- | deps/npm/test/tap/url-dependencies.js | 16 |
3 files changed, 67 insertions, 5 deletions
diff --git a/deps/npm/test/tap/circular-dep.js b/deps/npm/test/tap/circular-dep.js new file mode 100644 index 000000000..d9f72e7dd --- /dev/null +++ b/deps/npm/test/tap/circular-dep.js @@ -0,0 +1,49 @@ +var test = require("tap").test + , fs = require("fs") + , path = require("path") + , existsSync = fs.existsSync || path.existsSync + , npm = require("../../") + , rimraf = require("rimraf") + , mr = require("npm-registry-mock") + , common = require("../common-tap.js") + , server + +test("installing a package that depends on the current package", function (t) { + t.plan(1) + + setup(function () { + npm.install("optimist", function (err) { + if (err) return t.fail(err) + npm.dedupe(function(err) { + if (err) return t.fail(err) + t.ok(existsSync(path.join(__dirname, + "circular-dep", "minimist", "node_modules", "optimist", + "node_modules", "minimist" + ))) + cleanup() + server.close() + }) + }) + }) +}) + +function setup (cb) { + process.chdir(path.join(__dirname, "circular-dep", "minimist")) + cleanup() + fs.mkdirSync(path.join(__dirname, + "circular-dep", "minimist", "node_modules")) + mr(common.port, function (s) { + server = s + npm.load({ + registry: common.registry, + cache: path.resolve(__dirname, "circular-dep", "cache") + }, cb) + }) +} + +function cleanup() { + rimraf.sync(path.join(__dirname, + "circular-dep", "minimist", "node_modules")) + rimraf.sync(path.join(__dirname, + "circular-dep", "cache")) +} diff --git a/deps/npm/test/tap/circular-dep/minimist/package.json b/deps/npm/test/tap/circular-dep/minimist/package.json new file mode 100644 index 000000000..cdaa1913b --- /dev/null +++ b/deps/npm/test/tap/circular-dep/minimist/package.json @@ -0,0 +1,7 @@ +{ + "name": "minimist", + "version": "0.0.5", + "dependencies": { + "optimist": "0.6.0" + } +} diff --git a/deps/npm/test/tap/url-dependencies.js b/deps/npm/test/tap/url-dependencies.js index 0c2078aff..59513dba2 100644 --- a/deps/npm/test/tap/url-dependencies.js +++ b/deps/npm/test/tap/url-dependencies.js @@ -1,12 +1,12 @@ var test = require("tap").test var rimraf = require("rimraf") - +var path = require("path") +var osenv = require("osenv") var mr = require("npm-registry-mock") - var spawn = require("child_process").spawn var npm = require.resolve("../../bin/npm-cli.js") var node = process.execPath -var pkg = "./url-dependencies" +var pkg = path.resolve(__dirname, "url-dependencies") var mockRoutes = { "get": { @@ -15,7 +15,7 @@ var mockRoutes = { } test("url-dependencies: download first time", function(t) { - rimraf.sync(__dirname + "/url-dependencies/node_modules") + cleanup() performInstall(function(output){ if(!tarballWasFetched(output)){ @@ -28,7 +28,7 @@ test("url-dependencies: download first time", function(t) { }) test("url-dependencies: do not download subsequent times", function(t) { - rimraf.sync(__dirname + "/url-dependencies/node_modules") + cleanup() performInstall(function(){ performInstall(function(output){ @@ -70,3 +70,9 @@ function performInstall (cb) { }) }) } + +function cleanup() { + // windows fix for locked files + process.chdir(osenv.tmpdir()) + rimraf.sync(path.resolve(pkg, "node_modules")) +} |