Skip to content

Commit 151363f

Browse files
committed
fix(command): Prevent premature resolution during tests from nested commands
1 parent 649048c commit 151363f

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

core/command/index.js

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,14 @@ class Command {
7777
});
7878

7979
// passed via yargs context in tests, never actual CLI
80-
runner = runner.then(argv.onResolved, argv.onRejected);
80+
/* istanbul ignore else */
81+
if (argv.onResolved || argv.onRejected) {
82+
runner = runner.then(argv.onResolved, argv.onRejected);
83+
84+
// when nested, never resolve inner with outer callbacks
85+
delete argv.onResolved; // eslint-disable-line no-param-reassign
86+
delete argv.onRejected; // eslint-disable-line no-param-reassign
87+
}
8188

8289
// proxy "Promise" methods to "private" instance
8390
this.then = (onResolved, onRejected) => runner.then(onResolved, onRejected);

0 commit comments

Comments
 (0)