From 34a6020d2a554b66bbf07727b0eca0753b026405 Mon Sep 17 00:00:00 2001 From: Adam Boe Date: Mon, 17 Oct 2022 11:28:37 -0700 Subject: [PATCH] Fix default clearing on input (#1161) --- packages/inquirer/lib/prompts/input.js | 2 +- packages/inquirer/package.json | 1 + packages/inquirer/test/specs/prompts/input.js | 25 ++++++++++++++++++- yarn.lock | 5 ++++ 4 files changed, 31 insertions(+), 2 deletions(-) diff --git a/packages/inquirer/lib/prompts/input.js b/packages/inquirer/lib/prompts/input.js index 1634cb295..c3f0bb4bc 100644 --- a/packages/inquirer/lib/prompts/input.js +++ b/packages/inquirer/lib/prompts/input.js @@ -100,7 +100,7 @@ export default class InputPrompt extends Base { */ onKeypress() { - this.state = 'touched'; + this.status = 'touched'; this.render(); } diff --git a/packages/inquirer/package.json b/packages/inquirer/package.json index b988067fb..914506fad 100644 --- a/packages/inquirer/package.json +++ b/packages/inquirer/package.json @@ -54,6 +54,7 @@ }, "devDependencies": { "chai": "^4.3.6", + "chai-string": "^1.5.0", "chalk-pipe": "^5.1.2", "cmdify": "^0.0.4", "mocha": "^10.0.0", diff --git a/packages/inquirer/test/specs/prompts/input.js b/packages/inquirer/test/specs/prompts/input.js index 8d18c34a7..59eb79971 100644 --- a/packages/inquirer/test/specs/prompts/input.js +++ b/packages/inquirer/test/specs/prompts/input.js @@ -1,9 +1,12 @@ -import { expect } from 'chai'; +import chai, { expect } from 'chai'; +import chaiString from 'chai-string'; import ReadlineStub from '../../helpers/readline.js'; import fixtures from '../../helpers/fixtures.js'; import Input from '../../../lib/prompts/input.js'; +chai.use(chaiString); + describe('`input` prompt', () => { beforeEach(function () { this.fixture = { ...fixtures.input }; @@ -94,4 +97,24 @@ describe('`input` prompt', () => { done(); }, 200); }); + + it('should clear default on input', function (done) { + const defaultValue = 'default-string'; + const input = new Input( + { + ...this.fixture, + default: defaultValue, + }, + this.rl + ); + + input.run(); + + this.rl.line = 'inquirer'; + this.rl.input.emit('keypress'); + setTimeout(() => { + expect(this.rl.output.__raw__).to.have.entriesCount(defaultValue, 1); + done(); + }, 200); + }); }); diff --git a/yarn.lock b/yarn.lock index 1d92c118d..7c9b6fe5d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2532,6 +2532,11 @@ caniuse-lite@^1.0.30001332: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001339.tgz#f9aece4ea8156071613b27791547ba0b33f176cf" integrity sha512-Es8PiVqCe+uXdms0Gu5xP5PF2bxLR7OBp3wUzUnuO7OHzhOfCyg3hdiGWVPVxhiuniOzng+hTc1u3fEQ0TlkSQ== +chai-string@^1.5.0: + version "1.5.0" + resolved "https://registry.yarnpkg.com/chai-string/-/chai-string-1.5.0.tgz#0bdb2d8a5f1dbe90bc78ec493c1c1c180dd4d3d2" + integrity sha512-sydDC3S3pNAQMYwJrs6dQX0oBQ6KfIPuOZ78n7rocW0eJJlsHPh2t3kwW7xfwYA/1Bf6/arGtSUo16rxR2JFlw== + chai@^4.3.6: version "4.3.6" resolved "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz"