From 5881bbd9985f477c4e0430db894c2346d3fbdce2 Mon Sep 17 00:00:00 2001 From: ybiquitous Date: Wed, 15 Nov 2017 14:45:42 +0900 Subject: [PATCH] fix: show help when unknown command is given (#52) Related to . --- src/cli.js | 1 + test/help.test.js | 20 +++++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/cli.js b/src/cli.js index d3a7ced3..1ce6a7d1 100644 --- a/src/cli.js +++ b/src/cli.js @@ -12,6 +12,7 @@ module.exports = function cli() { .usage('$0 ') .command('init', init.desc, {}, init) .demandCommand(1) + .strict() .alias('help', 'h') .alias('version', 'v') .argv diff --git a/test/help.test.js b/test/help.test.js index b79d4894..93c6bb7a 100644 --- a/test/help.test.js +++ b/test/help.test.js @@ -17,13 +17,19 @@ Options: `.trim() suite('help', () => { - test('without any arguments', async () => { - const error = await assertThrows(() => exec()) - const { code, stdout, stderr } = error - assert(error instanceof Error) - assert(code === 1) - assert(stdout === '') - assert(stderr.includes(HELP), stderr) + [ + [], + ['unknown'], + ['unknown', 'xyz'], + ].forEach((args) => { + test(`with arguments [${args.join(', ')}]`, async () => { + const error = await assertThrows(() => exec(...args)) + const { code, stdout, stderr } = error + assert(error instanceof Error) + assert(code === 1) + assert(stdout === '') + assert(stderr.includes(HELP), stderr) + }) }); ['--help', '-h'].forEach((option) => {