X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Ftest%2Ftap%2Fignore-install-link.js;fp=org.simantics.maps.server%2Fnode%2Fnode-v4.8.0-win-x64%2Fnode_modules%2Fnpm%2Ftest%2Ftap%2Fignore-install-link.js;h=45db51d30f7bbfe15dd0153f370a98f8c48ea191;hb=2529be6d456deeb07c128603ce4971f1dc29b695;hp=0000000000000000000000000000000000000000;hpb=2636fc31c16c23711cf2b06a4ae8537bba9c1d35;p=simantics%2Fdistrict.git diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/ignore-install-link.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/ignore-install-link.js new file mode 100644 index 00000000..45db51d3 --- /dev/null +++ b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/ignore-install-link.js @@ -0,0 +1,69 @@ +if (process.platform === "win32") { + console.log("ok - symlinks are weird on windows, skip this test") + return +} +var common = require("../common-tap.js") +var test = require("tap").test +var path = require("path") +var fs = require("fs") +var rimraf = require("rimraf") +var mkdirp = require("mkdirp") + +var root = path.resolve(__dirname, "ignore-install-link") +var pkg = path.resolve(root, "pkg") +var dep = path.resolve(root, "dep") +var target = path.resolve(pkg, "node_modules", "dep") +var cache = path.resolve(root, "cache") +var globalPath = path.resolve(root, "global") + +var pkgj = { "name":"pkg", "version": "1.2.3" + , "dependencies": { "dep": "1.2.3" } } +var depj = { "name": "dep", "version": "1.2.3" } + +var myreg = require("http").createServer(function (q, s) { + s.statusCode = 403 + s.end(JSON.stringify({"error":"forbidden"}) + "\n") +}).listen(common.port) + +test("setup", function (t) { + rimraf.sync(root) + mkdirp.sync(root) + mkdirp.sync(path.resolve(pkg, "node_modules")) + mkdirp.sync(dep) + mkdirp.sync(cache) + mkdirp.sync(globalPath) + fs.writeFileSync(path.resolve(pkg, "package.json"), JSON.stringify(pkgj)) + fs.writeFileSync(path.resolve(dep, "package.json"), JSON.stringify(depj)) + fs.symlinkSync(dep, target, "dir") + t.end() +}) + +test("ignore install if package is linked", function (t) { + common.npm(["install"], { + cwd: pkg, + env: { + PATH: process.env.PATH || process.env.Path, + HOME: process.env.HOME, + "npm_config_prefix": globalPath, + "npm_config_cache": cache, + "npm_config_registry": common.registry, + "npm_config_loglevel": "silent" + }, + stdio: "inherit" + }, function (er, code) { + if (er) throw er + t.equal(code, 0, "npm install exited with code") + t.end() + }) +}) + +test("still a symlink", function (t) { + t.equal(true, fs.lstatSync(target).isSymbolicLink()) + t.end() +}) + +test("cleanup", function (t) { + rimraf.sync(root) + myreg.close() + t.end() +})