diff --git a/extensions/vscode-api-tests/src/window.test.ts b/extensions/vscode-api-tests/src/window.test.ts index f1f01adacd8..3a5fbb41ab3 100644 --- a/extensions/vscode-api-tests/src/window.test.ts +++ b/extensions/vscode-api-tests/src/window.test.ts @@ -180,6 +180,14 @@ suite('window namespace tests', () => { ]); }); + test('showInputBox - default value on Enter', function () { + const p = window.showInputBox({ value: 'farboo' }); + return Promise.all([ + p.then(value => assert.equal(value, 'farboo')), + commands.executeCommand('workbench.action.acceptSelectedQuickOpenItem'), + ]); + }); + test('showInputBox - `undefined` on Esc', function () { const p = window.showInputBox(); return Promise.all([ @@ -188,6 +196,15 @@ suite('window namespace tests', () => { ]); }); + test('showInputBox - `undefined` on Esc (despite default)', function () { + const p = window.showInputBox({ value: 'farboo' }); + return Promise.all([ + commands.executeCommand('workbench.action.closeQuickOpen'), + p.then(value => assert.equal(value, undefined)) + ]); + }); + + test('showQuickPick, undefined on cancel', function () { const source = new CancellationTokenSource(); const p = window.showQuickPick(['eins', 'zwei', 'drei'], undefined, source.token); diff --git a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts index da207be9230..b8530af4f15 100644 --- a/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts +++ b/src/vs/workbench/browser/parts/quickopen/quickOpenController.ts @@ -201,7 +201,7 @@ export class QuickOpenController extends WorkbenchComponent implements IQuickOpe return new TPromise(init).then(item => { return currentValidation.then(valid => { if (valid && item) { - return lastValue || ''; + return lastValue || options.value || ''; } }); });