From 90ff6a174320b8a1ab425cd75d2cc92da5fa321e Mon Sep 17 00:00:00 2001 From: Aaron Forsander Date: Thu, 26 Apr 2012 15:53:51 -0500 Subject: [PATCH] Test for #37. --- test/usage.js | 49 +++++++++++++++++++++++++++++++++---------------- 1 file changed, 33 insertions(+), 16 deletions(-) diff --git a/test/usage.js b/test/usage.js index f44f551..300454c 100644 --- a/test/usage.js +++ b/test/usage.js @@ -13,7 +13,7 @@ test('usageFail', function (t) { r.result, { x : 10, z : 20, _ : [], $0 : './usage' } ); - + t.same( r.errors.join('\n').split(/\n+/), [ @@ -75,12 +75,12 @@ test('checkFail', function (t) { }) .argv; }); - + t.same( r.result, { x : 10, z : 20, _ : [], $0 : './usage' } ); - + t.same( r.errors.join('\n').split(/\n+/), [ @@ -88,7 +88,7 @@ test('checkFail', function (t) { 'You forgot about -y' ] ); - + t.same(r.logs, []); t.ok(r.exit); t.end(); @@ -98,7 +98,7 @@ test('checkCondPass', function (t) { function checker (argv) { return 'x' in argv && 'y' in argv; } - + var r = checkUsage(function () { return optimist('-x 10 -y 20'.split(' ')) .usage('Usage: $0 -x NUM -y NUM') @@ -118,25 +118,25 @@ test('checkCondFail', function (t) { function checker (argv) { return 'x' in argv && 'y' in argv; } - + var r = checkUsage(function () { return optimist('-x 10 -z 20'.split(' ')) .usage('Usage: $0 -x NUM -y NUM') .check(checker) .argv; }); - + t.same( r.result, { x : 10, z : 20, _ : [], $0 : './usage' } ); - + t.same( r.errors.join('\n').split(/\n+/).join('\n'), 'Usage: ./usage -x NUM -y NUM\n' + 'Argument check failed: ' + checker.toString() ); - + t.same(r.logs, []); t.ok(r.exit); t.end(); @@ -169,7 +169,7 @@ test('countFail', function (t) { r.result, { _ : [ '1', '2' ], moo : true, $0 : './usage' } ); - + t.same( r.errors.join('\n').split(/\n+/), [ @@ -177,7 +177,7 @@ test('countFail', function (t) { 'Not enough non-option arguments: got 2, need at least 3', ] ); - + t.same(r.logs, []); t.ok(r.exit); t.end(); @@ -203,6 +203,23 @@ test('defaultSingles', function (t) { t.end(); }); +test('defaultAliases', function (t) { + var r = checkUsage(function () { + return optimist('') + .alias('f', 'foo') + .default('f', 5) + .argv + ; + }); + t.same(r.result, { + f : '5', + foo : '5', + _ : [], + $0 : './usage', + }); + t.end(); +}); + test('defaultHash', function (t) { var r = checkUsage(function () { return optimist('--foo 50 --baz 70'.split(' ')) @@ -248,24 +265,24 @@ function checkUsage (f) { process.exit = function (t) { exit = true }; process.env = Hash.merge(process.env, { _ : 'node' }); process.argv = [ './usage' ]; - + var errors = []; var logs = []; - + console._error = console.error; console.error = function (msg) { errors.push(msg) }; console._log = console.log; console.log = function (msg) { logs.push(msg) }; - + var result = f(); - + process.exit = process._exit; process.env = process._env; process.argv = process._argv; console.error = console._error; console.log = console._log; - + return { errors : errors, logs : logs,