]> gerrit.simantics Code Review - simantics/district.git/blobdiff - org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/build-already-built.js
Adding integrated tile server
[simantics/district.git] / org.simantics.maps.server / node / node-v4.8.0-win-x64 / node_modules / npm / test / tap / build-already-built.js
diff --git a/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/build-already-built.js b/org.simantics.maps.server/node/node-v4.8.0-win-x64/node_modules/npm/test/tap/build-already-built.js
new file mode 100644 (file)
index 0000000..8e5546f
--- /dev/null
@@ -0,0 +1,81 @@
+// if "npm rebuild" is run with bundled dependencies,
+// message "already built" should not be error
+var test = require("tap").test
+var path = require("path")
+var osenv = require("osenv")
+var rimraf = require("rimraf")
+var npmlog = require("npmlog")
+var mkdirp = require("mkdirp")
+var requireInject = require("require-inject")
+
+var npm = require("../../lib/npm.js")
+
+var PKG_DIR = path.resolve(__dirname, "build-already-built")
+var fakePkg = "foo"
+
+test("setup", function (t) {
+  cleanup()
+
+  t.end()
+})
+
+test("issue #6735 build 'already built' message", function (t) {
+  npm.load({loglevel : "warn"}, function () {
+    // capture log messages with level
+    var log = ""
+    npmlog.on("log", function (chunk) {
+      log += chunk.level + " " + chunk.message + "\n"
+    })
+
+    mkdirp.sync(fakePkg)
+    var folder = path.resolve(fakePkg)
+
+    var global = npm.config.get("global")
+
+    var build = requireInject("../../lib/build", {
+    })
+
+    t.test("pin previous behavior", function (t) {
+
+      build([fakePkg], global, false, false, function (err) {
+        t.ok(err, "build failed as expected")
+        t.similar(err.message, /package.json/, "missing package.json as expected")
+        t.notSimilar(log, /already built/, "no already built message written")
+
+        t.end()
+      })
+    })
+
+    t.test("simulate rebuild of bundledDependency", function (t) {
+
+      log = ""
+
+      build._didBuild[folder] = true
+
+      build([fakePkg], global, false, false, function (err) {
+        t.ok(err, "build failed as expected")
+        t.similar(err.message, /package.json/, "missing package.json as expected")
+
+        t.similar(log, /already built/, "already built message written")
+        t.notSimilar(log, /ERR! already built/, "already built message written is not error")
+        t.similar(log, /info already built/, "already built message written is info")
+
+        t.end()
+      })
+    })
+
+    t.end()
+  })
+})
+
+
+test("cleanup", function (t) {
+  cleanup()
+
+  t.end()
+})
+
+function cleanup () {
+  process.chdir(osenv.tmpdir())
+  rimraf.sync(PKG_DIR)
+}