--- /dev/null
+var fs = require("fs")
+var ini = require("ini")
+var test = require("tap").test
+var npmconf = require("../../lib/config/core.js")
+var common = require("./00-config-setup.js")
+
+var expectConf = [
+ "globalconfig = " + common.globalconfig,
+ "email = i@izs.me",
+ "env-thing = asdf",
+ "init.author.name = Isaac Z. Schlueter",
+ "init.author.email = i@izs.me",
+ "init.author.url = http://blog.izs.me/",
+ "init.version = 1.2.3",
+ "proprietary-attribs = false",
+ "npm:publishtest = true",
+ "_npmjs.org:couch = https://admin:password@localhost:5984/registry",
+ "npm-www:nocache = 1",
+ "sign-git-tag = false",
+ "message = v%s",
+ "strict-ssl = false",
+ "_auth = dXNlcm5hbWU6cGFzc3dvcmQ=",
+ "",
+ "[_token]",
+ "AuthSession = yabba-dabba-doodle",
+ "version = 1",
+ "expires = 1345001053415",
+ "path = /",
+ "httponly = true",
+ ""
+].join("\n")
+
+var expectFile = [
+ "globalconfig = " + common.globalconfig,
+ "email = i@izs.me",
+ "env-thing = asdf",
+ "init.author.name = Isaac Z. Schlueter",
+ "init.author.email = i@izs.me",
+ "init.author.url = http://blog.izs.me/",
+ "init.version = 1.2.3",
+ "proprietary-attribs = false",
+ "npm:publishtest = true",
+ "_npmjs.org:couch = https://admin:password@localhost:5984/registry",
+ "npm-www:nocache = 1",
+ "sign-git-tag = false",
+ "message = v%s",
+ "strict-ssl = false",
+ "_auth = dXNlcm5hbWU6cGFzc3dvcmQ=",
+ "",
+ "[_token]",
+ "AuthSession = yabba-dabba-doodle",
+ "version = 1",
+ "expires = 1345001053415",
+ "path = /",
+ "httponly = true",
+ ""
+].join("\n")
+
+test("saving configs", function (t) {
+ npmconf.load(function (er, conf) {
+ if (er)
+ throw er
+ conf.set("sign-git-tag", false, "user")
+ conf.del("nodedir")
+ conf.del("tmp")
+ var foundConf = ini.stringify(conf.sources.user.data)
+ t.same(ini.parse(foundConf), ini.parse(expectConf))
+ fs.unlinkSync(common.userconfig)
+ conf.save("user", function (er) {
+ if (er)
+ throw er
+ var uc = fs.readFileSync(conf.get("userconfig"), "utf8")
+ t.same(ini.parse(uc), ini.parse(expectFile))
+ t.end()
+ })
+ })
+})
+
+test("setting prefix", function (t) {
+ npmconf.load(function (er, conf) {
+ if (er)
+ throw er
+
+ conf.prefix = "newvalue"
+ t.same(conf.prefix, "newvalue")
+ t.end()
+ })
+})