From abd94a7f5a50f43c797a11b53549ae48fff667c3 Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Mon, 10 Oct 2016 03:43:44 +0200 Subject: add node_modules to address #4364 --- node_modules/nomnom/test/commands.js | 120 +++++++++++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) create mode 100644 node_modules/nomnom/test/commands.js (limited to 'node_modules/nomnom/test/commands.js') diff --git a/node_modules/nomnom/test/commands.js b/node_modules/nomnom/test/commands.js new file mode 100644 index 000000000..1fbb60f6a --- /dev/null +++ b/node_modules/nomnom/test/commands.js @@ -0,0 +1,120 @@ +var nomnom = require("../nomnom"); + +function strip(str) { + return str.replace(/\s+/g, ''); +} + +exports.testCallback = function(test) { + test.expect(1); + + var parser = nomnom(); + parser.command('run').callback(function(options) { + test.equal(options.v, 3); + }); + parser.command('other').callback(function() { + test.ok(false, "callback for other command shouldn't be called"); + }); + + parser.parse(["run","-v", "3"]); + test.done(); +} + +exports.testMissingCommand = function(test) { + test.expect(1); + + var parser = nomnom().scriptName("test"); + + parser.command('run'); + + parser.printer(function(string) { + test.equal(string, "test: no such command 'other'"); + test.done(); + }); + + parser.parse(["other"]); +} + +exports.testNoCommand = function(test) { + test.expect(2); + + var parser = nomnom(); + + parser.nocommand() + .options({ + version: { + flag: true + } + }) + .callback(function(options) { + test.strictEqual(options.version, true); + }) + .usage("fallback usage"); + + parser.command('run'); + + var options = parser.parse(["--version"]); + + test.strictEqual(options.version, true); + test.done(); +} + +function createParser() { + var parser = nomnom().scriptName("test") + .options({ + debug: { + flag: true + } + }); + + parser.command('run') + .options({ + file: { + help: 'file to run' + } + }) + .help("run all"); + + parser.command('test').usage("test usage"); + + parser.nocommand() + .options({ + verbose: { + flag: true + } + }) + .help("nocommand"); + + return parser; +} + +exports.testUsage = function(test) { + test.expect(4); + + var parser = createParser(); + parser.printer(function(string) { + test.equal(strip(string), "testusage"); + }); + parser.parse(["test", "-h"]); + + parser = createParser().nocolors(); + parser.printer(function(string) { + test.equal(strip(string), "Usage:testrun[options]Options:--debug--filefiletorunrunall"); + }); + parser.parse(["run", "-h"]); + + parser = createParser().nocolors(); + parser.printer(function(string) { + test.equal(strip(string), "Usage:test[command][options]commandoneof:run,testOptions:--debug--verbosenocommand"); + }); + parser.parse(["-h"]); + + parser = createParser().nocolors(); + parser.nocommand() + .usage("fallback"); + parser.printer(function(string) { + test.equal(strip(string), "fallback"); + }); + parser.parse(["-h"]); + + test.done(); +} -- cgit v1.2.3