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