diff options
Diffstat (limited to 'deps/npm/test')
-rw-r--r-- | deps/npm/test/packages/npm-test-peer-deps-invalid/README | 1 | ||||
-rw-r--r-- | deps/npm/test/packages/npm-test-peer-deps-invalid/npm-ls.json | 21 | ||||
-rw-r--r-- | deps/npm/test/packages/npm-test-peer-deps-invalid/test.js | 34 | ||||
-rw-r--r-- | deps/npm/test/packages/npm-test-peer-deps/test.js | 7 | ||||
-rw-r--r-- | deps/npm/test/packages/npm-test-shrinkwrap/test.js | 2 | ||||
-rw-r--r-- | deps/npm/test/tap/false_name.js | 9 | ||||
-rw-r--r-- | deps/npm/test/tap/package-with-peer-dep/package.json | 7 | ||||
-rw-r--r-- | deps/npm/test/tap/peer-deps-invalid.js | 24 | ||||
-rw-r--r-- | deps/npm/test/tap/peer-deps-invalid/package.json (renamed from deps/npm/test/packages/npm-test-peer-deps-invalid/package.json) | 5 | ||||
-rw-r--r-- | deps/npm/test/tap/peer-deps-without-package-json.js | 29 | ||||
-rw-r--r-- | deps/npm/test/tap/peer-deps-without-package-json/.gitkeep | 0 |
11 files changed, 72 insertions, 67 deletions
diff --git a/deps/npm/test/packages/npm-test-peer-deps-invalid/README b/deps/npm/test/packages/npm-test-peer-deps-invalid/README deleted file mode 100644 index 8848f07868..0000000000 --- a/deps/npm/test/packages/npm-test-peer-deps-invalid/README +++ /dev/null @@ -1 +0,0 @@ -just an npm test diff --git a/deps/npm/test/packages/npm-test-peer-deps-invalid/npm-ls.json b/deps/npm/test/packages/npm-test-peer-deps-invalid/npm-ls.json deleted file mode 100644 index 285bce7d20..0000000000 --- a/deps/npm/test/packages/npm-test-peer-deps-invalid/npm-ls.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "npm-test-peer-deps-file": { - "version": "1.2.3", - "from": "https://raw.github.com/gist/3971128/3f6aa37b4fa1186c2f47da9b77dcc4ec496e3483/index.js", - "resolved": "https://raw.github.com/gist/3971128/3f6aa37b4fa1186c2f47da9b77dcc4ec496e3483/index.js", - "dependencies": { - "opener": { - "version": "1.3.0", - "from": "opener@1.3.0" - } - } - }, - "npm-test-peer-deps-file-invalid": { - "version": "1.2.3", - "from": "https://gist.github.com/raw/4303335/861f8d3213061826ab31591840c3cb0ac737f4fc/index.js", - "resolved": "https://gist.github.com/raw/4303335/861f8d3213061826ab31591840c3cb0ac737f4fc/index.js" - }, - "dict": { - "peerInvalid": true - } -} diff --git a/deps/npm/test/packages/npm-test-peer-deps-invalid/test.js b/deps/npm/test/packages/npm-test-peer-deps-invalid/test.js deleted file mode 100644 index 70462641f3..0000000000 --- a/deps/npm/test/packages/npm-test-peer-deps-invalid/test.js +++ /dev/null @@ -1,34 +0,0 @@ -var path = require("path") -var assert = require("assert") - -process.env.npm_config_prefix = process.cwd() -delete process.env.npm_config_global -delete process.env.npm_config_depth - -var npm = process.env.npm_execpath - -require("child_process").exec(npm + " ls --json", { - env: process.env, cwd: process.cwd() }, - function (err, stdout, stderr) { - - var actual = JSON.parse(stdout).dependencies - var expected = require("./npm-ls.json") - - // Delete the "problems" entry because it contains system-specific path info, - // so we can't compare it accurately and thus have deleted it from - // ./npm-ls.json. - delete actual.dict.problems - - // It's undefined which peerDependency will get installed first, so - // this will be either version 1.1.0 or version 1.0.0 - var dictVer = actual.dict.version - delete actual.dict.version - delete actual.dict.from - delete actual.dict.resolved - assert(dictVer === "1.1.0" || dictVer === "1.0.0") - console.error(JSON.stringify(actual, null, 2)) - assert.deepEqual(actual, expected) - - assert.ok(err) - assert(/peer invalid/.test(err.message)) -}) diff --git a/deps/npm/test/packages/npm-test-peer-deps/test.js b/deps/npm/test/packages/npm-test-peer-deps/test.js index 98dbf5f5a4..519528a0e0 100644 --- a/deps/npm/test/packages/npm-test-peer-deps/test.js +++ b/deps/npm/test/packages/npm-test-peer-deps/test.js @@ -7,7 +7,7 @@ delete process.env.npm_config_depth var npm = process.env.npm_execpath -require("child_process").exec(npm + " ls --json", { +require("child_process").execFile(process.execPath, [npm, "ls", "--json"], { env: process.env, cwd: process.cwd() }, function (err, stdout, stderr) { @@ -15,6 +15,11 @@ require("child_process").exec(npm + " ls --json", { var actual = JSON.parse(stdout).dependencies var expected = require("./npm-ls.json") + + // resolved url doesn't matter + delete actual.dict.resolved + delete expected.dict.resolved + console.error(JSON.stringify(actual, null, 2)) console.error(JSON.stringify(expected, null, 2)) diff --git a/deps/npm/test/packages/npm-test-shrinkwrap/test.js b/deps/npm/test/packages/npm-test-shrinkwrap/test.js index f3fe8a4e81..fba90ec651 100644 --- a/deps/npm/test/packages/npm-test-shrinkwrap/test.js +++ b/deps/npm/test/packages/npm-test-shrinkwrap/test.js @@ -7,7 +7,7 @@ delete process.env.npm_config_depth var npm = process.env.npm_execpath -require("child_process").exec(npm + " ls --json", { +require("child_process").execFile(process.execPath, [npm, "ls", "--json"], { stdio: "pipe", env: process.env, cwd: process.cwd() }, function (err, stdout, stderr) { if (err) throw err diff --git a/deps/npm/test/tap/false_name.js b/deps/npm/test/tap/false_name.js index 0ccf8fceab..968b6e74b1 100644 --- a/deps/npm/test/tap/false_name.js +++ b/deps/npm/test/tap/false_name.js @@ -4,6 +4,7 @@ var test = require("tap").test , existsSync = fs.existsSync || path.existsSync , spawn = require("child_process").spawn , npm = require("../../") + , rimraf = require("rimraf") test("not every pkg.name can be required", function (t) { t.plan(1) @@ -20,10 +21,8 @@ test("not every pkg.name can be required", function (t) { function setup (cb) { process.chdir(__dirname + "/false_name") npm.load(function () { - spawn("rm", [ "-rf", __dirname + "/false_name/node_modules" ]) - .on("exit", function () { - fs.mkdirSync(__dirname + "/false_name/node_modules") - cb() - }) + rimraf.sync(__dirname + "/false_name/node_modules") + fs.mkdirSync(__dirname + "/false_name/node_modules") + cb() }) } diff --git a/deps/npm/test/tap/package-with-peer-dep/package.json b/deps/npm/test/tap/package-with-peer-dep/package.json new file mode 100644 index 0000000000..99cc75bb85 --- /dev/null +++ b/deps/npm/test/tap/package-with-peer-dep/package.json @@ -0,0 +1,7 @@ +{ + "name": "package-with-peer-dep", + "version": "0.0.0", + "peerDependencies": { + "opener": "*" + } +} diff --git a/deps/npm/test/tap/peer-deps-invalid.js b/deps/npm/test/tap/peer-deps-invalid.js new file mode 100644 index 0000000000..44b9367666 --- /dev/null +++ b/deps/npm/test/tap/peer-deps-invalid.js @@ -0,0 +1,24 @@ +var fs = require("fs") +var test = require("tap").test +var rimraf = require("rimraf") +var npm = require("../../") + +test("installing dependencies that having conflicting peerDependencies", function (t) { + t.plan(1) + + rimraf.sync(__dirname + "/peer-deps-invalid/node_modules") + process.chdir(__dirname + "/peer-deps-invalid") + + npm.load(function () { + npm.commands.install([], function (err) { + if (!err) { + t.fail("No error!") + process.exit(1) + return + } + + t.equal(err.code, "EPEERINVALID") + process.exit(0) + }) + }) +}) diff --git a/deps/npm/test/packages/npm-test-peer-deps-invalid/package.json b/deps/npm/test/tap/peer-deps-invalid/package.json index 2fd61047a4..766f1f53d6 100644 --- a/deps/npm/test/packages/npm-test-peer-deps-invalid/package.json +++ b/deps/npm/test/tap/peer-deps-invalid/package.json @@ -1,12 +1,9 @@ { "author": "Domenic Denicola <domenic@domenicdenicola.com> (http://domenicdenicola.com/)", - "name": "npm-test-peer-deps-invalid", + "name": "peer-deps-invalid", "version": "0.0.0", "dependencies": { "npm-test-peer-deps-file": "https://raw.github.com/gist/3971128/3f6aa37b4fa1186c2f47da9b77dcc4ec496e3483/index.js", "npm-test-peer-deps-file-invalid": "https://gist.github.com/raw/4303335/861f8d3213061826ab31591840c3cb0ac737f4fc/index.js" - }, - "scripts": { - "test": "node test.js" } } diff --git a/deps/npm/test/tap/peer-deps-without-package-json.js b/deps/npm/test/tap/peer-deps-without-package-json.js new file mode 100644 index 0000000000..19b6064038 --- /dev/null +++ b/deps/npm/test/tap/peer-deps-without-package-json.js @@ -0,0 +1,29 @@ +var fs = require("fs") +var test = require("tap").test +var rimraf = require("rimraf") +var npm = require("../../") + +var peerDepsTestUrl = "https://gist.github.com/raw/3971128/3f6aa37b4fa1186c2f47da9b77dcc4ec496e3483/index.js" + +test("installing a peerDependencies-using package without a package.json present (GH-3049)", function (t) { + + rimraf.sync(__dirname + "/peer-deps-without-package-json/node_modules") + fs.mkdirSync(__dirname + "/peer-deps-without-package-json/node_modules") + process.chdir(__dirname + "/peer-deps-without-package-json") + + npm.load(function () { + npm.install(peerDepsTestUrl, function (err) { + if (err) { + t.fail(err) + t.end() + process.exit(1) + return + } + + t.ok(fs.existsSync(__dirname + "/peer-deps-without-package-json/node_modules/npm-test-peer-deps-file")) + t.ok(fs.existsSync(__dirname + "/peer-deps-without-package-json/node_modules/dict")) + t.end() + process.exit(0) + }) + }) +}) diff --git a/deps/npm/test/tap/peer-deps-without-package-json/.gitkeep b/deps/npm/test/tap/peer-deps-without-package-json/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/deps/npm/test/tap/peer-deps-without-package-json/.gitkeep |