| Index: node_modules/vulcanize/node_modules/nopt/test/basic.js
|
| diff --git a/node_modules/vulcanize/node_modules/nopt/test/basic.js b/node_modules/vulcanize/node_modules/nopt/test/basic.js
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..2f9088cf674766af7d650acc38a84df7e4981941
|
| --- /dev/null
|
| +++ b/node_modules/vulcanize/node_modules/nopt/test/basic.js
|
| @@ -0,0 +1,251 @@
|
| +var nopt = require("../")
|
| + , test = require('tap').test
|
| +
|
| +
|
| +test("passing a string results in a string", function (t) {
|
| + var parsed = nopt({ key: String }, {}, ["--key", "myvalue"], 0)
|
| + t.same(parsed.key, "myvalue")
|
| + t.end()
|
| +})
|
| +
|
| +// https://github.com/npm/nopt/issues/31
|
| +test("Empty String results in empty string, not true", function (t) {
|
| + var parsed = nopt({ empty: String }, {}, ["--empty"], 0)
|
| + t.same(parsed.empty, "")
|
| + t.end()
|
| +})
|
| +
|
| +test("~ path is resolved to $HOME", function (t) {
|
| + var path = require("path")
|
| + if (!process.env.HOME) process.env.HOME = "/tmp"
|
| + var parsed = nopt({key: path}, {}, ["--key=~/val"], 0)
|
| + t.same(parsed.key, path.resolve(process.env.HOME, "val"))
|
| + t.end()
|
| +})
|
| +
|
| +// https://github.com/npm/nopt/issues/24
|
| +test("Unknown options are not parsed as numbers", function (t) {
|
| + var parsed = nopt({"parse-me": Number}, null, ['--leave-as-is=1.20', '--parse-me=1.20'], 0)
|
| + t.equal(parsed['leave-as-is'], '1.20')
|
| + t.equal(parsed['parse-me'], 1.2)
|
| + t.end()
|
| +});
|
| +
|
| +test("other tests", function (t) {
|
| +
|
| + var util = require("util")
|
| + , Stream = require("stream")
|
| + , path = require("path")
|
| + , url = require("url")
|
| +
|
| + , shorthands =
|
| + { s : ["--loglevel", "silent"]
|
| + , d : ["--loglevel", "info"]
|
| + , dd : ["--loglevel", "verbose"]
|
| + , ddd : ["--loglevel", "silly"]
|
| + , noreg : ["--no-registry"]
|
| + , reg : ["--registry"]
|
| + , "no-reg" : ["--no-registry"]
|
| + , silent : ["--loglevel", "silent"]
|
| + , verbose : ["--loglevel", "verbose"]
|
| + , h : ["--usage"]
|
| + , H : ["--usage"]
|
| + , "?" : ["--usage"]
|
| + , help : ["--usage"]
|
| + , v : ["--version"]
|
| + , f : ["--force"]
|
| + , desc : ["--description"]
|
| + , "no-desc" : ["--no-description"]
|
| + , "local" : ["--no-global"]
|
| + , l : ["--long"]
|
| + , p : ["--parseable"]
|
| + , porcelain : ["--parseable"]
|
| + , g : ["--global"]
|
| + }
|
| +
|
| + , types =
|
| + { aoa: Array
|
| + , nullstream: [null, Stream]
|
| + , date: Date
|
| + , str: String
|
| + , browser : String
|
| + , cache : path
|
| + , color : ["always", Boolean]
|
| + , depth : Number
|
| + , description : Boolean
|
| + , dev : Boolean
|
| + , editor : path
|
| + , force : Boolean
|
| + , global : Boolean
|
| + , globalconfig : path
|
| + , group : [String, Number]
|
| + , gzipbin : String
|
| + , logfd : [Number, Stream]
|
| + , loglevel : ["silent","win","error","warn","info","verbose","silly"]
|
| + , long : Boolean
|
| + , "node-version" : [false, String]
|
| + , npaturl : url
|
| + , npat : Boolean
|
| + , "onload-script" : [false, String]
|
| + , outfd : [Number, Stream]
|
| + , parseable : Boolean
|
| + , pre: Boolean
|
| + , prefix: path
|
| + , proxy : url
|
| + , "rebuild-bundle" : Boolean
|
| + , registry : url
|
| + , searchopts : String
|
| + , searchexclude: [null, String]
|
| + , shell : path
|
| + , t: [Array, String]
|
| + , tag : String
|
| + , tar : String
|
| + , tmp : path
|
| + , "unsafe-perm" : Boolean
|
| + , usage : Boolean
|
| + , user : String
|
| + , username : String
|
| + , userconfig : path
|
| + , version : Boolean
|
| + , viewer: path
|
| + , _exit : Boolean
|
| + , path: path
|
| + }
|
| +
|
| + ; [["-v", {version:true}, []]
|
| + ,["---v", {version:true}, []]
|
| + ,["ls -s --no-reg connect -d",
|
| + {loglevel:"info",registry:null},["ls","connect"]]
|
| + ,["ls ---s foo",{loglevel:"silent"},["ls","foo"]]
|
| + ,["ls --registry blargle", {}, ["ls"]]
|
| + ,["--no-registry", {registry:null}, []]
|
| + ,["--no-color true", {color:false}, []]
|
| + ,["--no-color false", {color:true}, []]
|
| + ,["--no-color", {color:false}, []]
|
| + ,["--color false", {color:false}, []]
|
| + ,["--color --logfd 7", {logfd:7,color:true}, []]
|
| + ,["--color=true", {color:true}, []]
|
| + ,["--logfd=10", {logfd:10}, []]
|
| + ,["--tmp=/tmp -tar=gtar",{tmp:"/tmp",tar:"gtar"},[]]
|
| + ,["--tmp=tmp -tar=gtar",
|
| + {tmp:path.resolve(process.cwd(), "tmp"),tar:"gtar"},[]]
|
| + ,["--logfd x", {}, []]
|
| + ,["a -true -- -no-false", {true:true},["a","-no-false"]]
|
| + ,["a -no-false", {false:false},["a"]]
|
| + ,["a -no-no-true", {true:true}, ["a"]]
|
| + ,["a -no-no-no-false", {false:false}, ["a"]]
|
| + ,["---NO-no-No-no-no-no-nO-no-no"+
|
| + "-No-no-no-no-no-no-no-no-no"+
|
| + "-no-no-no-no-NO-NO-no-no-no-no-no-no"+
|
| + "-no-body-can-do-the-boogaloo-like-I-do"
|
| + ,{"body-can-do-the-boogaloo-like-I-do":false}, []]
|
| + ,["we are -no-strangers-to-love "+
|
| + "--you-know=the-rules --and=so-do-i "+
|
| + "---im-thinking-of=a-full-commitment "+
|
| + "--no-you-would-get-this-from-any-other-guy "+
|
| + "--no-gonna-give-you-up "+
|
| + "-no-gonna-let-you-down=true "+
|
| + "--no-no-gonna-run-around false "+
|
| + "--desert-you=false "+
|
| + "--make-you-cry false "+
|
| + "--no-tell-a-lie "+
|
| + "--no-no-and-hurt-you false"
|
| + ,{"strangers-to-love":false
|
| + ,"you-know":"the-rules"
|
| + ,"and":"so-do-i"
|
| + ,"you-would-get-this-from-any-other-guy":false
|
| + ,"gonna-give-you-up":false
|
| + ,"gonna-let-you-down":false
|
| + ,"gonna-run-around":false
|
| + ,"desert-you":false
|
| + ,"make-you-cry":false
|
| + ,"tell-a-lie":false
|
| + ,"and-hurt-you":false
|
| + },["we", "are"]]
|
| + ,["-t one -t two -t three"
|
| + ,{t: ["one", "two", "three"]}
|
| + ,[]]
|
| + ,["-t one -t null -t three four five null"
|
| + ,{t: ["one", "null", "three"]}
|
| + ,["four", "five", "null"]]
|
| + ,["-t foo"
|
| + ,{t:["foo"]}
|
| + ,[]]
|
| + ,["--no-t"
|
| + ,{t:["false"]}
|
| + ,[]]
|
| + ,["-no-no-t"
|
| + ,{t:["true"]}
|
| + ,[]]
|
| + ,["-aoa one -aoa null -aoa 100"
|
| + ,{aoa:["one", null, '100']}
|
| + ,[]]
|
| + ,["-str 100"
|
| + ,{str:"100"}
|
| + ,[]]
|
| + ,["--color always"
|
| + ,{color:"always"}
|
| + ,[]]
|
| + ,["--no-nullstream"
|
| + ,{nullstream:null}
|
| + ,[]]
|
| + ,["--nullstream false"
|
| + ,{nullstream:null}
|
| + ,[]]
|
| + ,["--notadate=2011-01-25"
|
| + ,{notadate: "2011-01-25"}
|
| + ,[]]
|
| + ,["--date 2011-01-25"
|
| + ,{date: new Date("2011-01-25")}
|
| + ,[]]
|
| + ,["-cl 1"
|
| + ,{config: true, length: 1}
|
| + ,[]
|
| + ,{config: Boolean, length: Number, clear: Boolean}
|
| + ,{c: "--config", l: "--length"}]
|
| + ,["--acount bla"
|
| + ,{"acount":true}
|
| + ,["bla"]
|
| + ,{account: Boolean, credentials: Boolean, options: String}
|
| + ,{a:"--account", c:"--credentials",o:"--options"}]
|
| + ,["--clear"
|
| + ,{clear:true}
|
| + ,[]
|
| + ,{clear:Boolean,con:Boolean,len:Boolean,exp:Boolean,add:Boolean,rep:Boolean}
|
| + ,{c:"--con",l:"--len",e:"--exp",a:"--add",r:"--rep"}]
|
| + ,["--file -"
|
| + ,{"file":"-"}
|
| + ,[]
|
| + ,{file:String}
|
| + ,{}]
|
| + ,["--file -"
|
| + ,{"file":true}
|
| + ,["-"]
|
| + ,{file:Boolean}
|
| + ,{}]
|
| + ,["--path"
|
| + ,{"path":null}
|
| + ,[]]
|
| + ,["--path ."
|
| + ,{"path":process.cwd()}
|
| + ,[]]
|
| + ].forEach(function (test) {
|
| + var argv = test[0].split(/\s+/)
|
| + , opts = test[1]
|
| + , rem = test[2]
|
| + , actual = nopt(test[3] || types, test[4] || shorthands, argv, 0)
|
| + , parsed = actual.argv
|
| + delete actual.argv
|
| + for (var i in opts) {
|
| + var e = JSON.stringify(opts[i])
|
| + , a = JSON.stringify(actual[i] === undefined ? null : actual[i])
|
| + if (e && typeof e === "object") {
|
| + t.deepEqual(e, a)
|
| + } else {
|
| + t.equal(e, a)
|
| + }
|
| + }
|
| + t.deepEqual(rem, parsed.remain)
|
| + })
|
| + t.end()
|
| +})
|
|
|