From f7982d38c0882e7e91a011bfd409e2262858bfb1 Mon Sep 17 00:00:00 2001 From: Paul Marbach Date: Fri, 19 Apr 2019 11:12:27 -0400 Subject: [PATCH] fix(cli): allow argv to be overridden in bootstrap (#621) A consumer's CLI has extra arguments, allowing argv to be overridden without mutating the process.argv array directly would be useful. --- src/cli/commitizen.js | 4 ++-- src/cli/git-cz.js | 4 ++-- test/tests/cli.js | 7 +++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/cli/commitizen.js b/src/cli/commitizen.js index ad21b30e..ef74daa6 100644 --- a/src/cli/commitizen.js +++ b/src/cli/commitizen.js @@ -12,10 +12,10 @@ export { * This is the main cli entry point. * environment may be used for debugging. */ -function bootstrap (environment = {}) { +function bootstrap (environment = {}, argv = process.argv) { // Get cli args - let rawGitArgs = process.argv.slice(2, process.argv.length); + let rawGitArgs = argv.slice(2, argv.length); // Parse the args let parsedArgs = parse(rawGitArgs); diff --git a/src/cli/git-cz.js b/src/cli/git-cz.js index 04851277..9704cd84 100644 --- a/src/cli/git-cz.js +++ b/src/cli/git-cz.js @@ -9,10 +9,10 @@ export { * This is the main cli entry point. * environment may be used for debugging. */ -function bootstrap (environment = {}) { +function bootstrap (environment = {}, argv = process.argv) { // Get cli args - let rawGitArgs = process.argv.slice(2, process.argv.length); + let rawGitArgs = argv.slice(2, argv.length); let adapterConfig = environment.config || configLoader.load(); diff --git a/test/tests/cli.js b/test/tests/cli.js index dbb65bf9..5fa8267b 100644 --- a/test/tests/cli.js +++ b/test/tests/cli.js @@ -57,5 +57,12 @@ describe('git-cz', () => { }); }); }); + + describe('when argv is overridden', () => { + it('uses the overridden argv', () => { + bootstrap({}, ['node', 'git-cz', 'index.js']); + expect(fakeStrategies.git.args[0][0][0]).to.equal('index.js'); + }); + }) }); });