summaryrefslogtreecommitdiff
path: root/deps/npm/test
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/test')
-rw-r--r--deps/npm/test/tap/circular-dep.js49
-rw-r--r--deps/npm/test/tap/circular-dep/minimist/package.json7
-rw-r--r--deps/npm/test/tap/url-dependencies.js16
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"))
+}