You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

89 lines
2.2 KiB

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()
})
})