提交 f4b63ac0 编写于 作者: C Christof Marti

Update for tests (#48116)

上级 32ebc3c4
......@@ -369,12 +369,21 @@ suite('window namespace tests', () => {
}
return null;
}
}).then(value => {
assert.equal(value, undefined);
});
const exec = commands.executeCommand('workbench.action.acceptSelectedQuickOpenItem');
return Promise.all([result, exec]);
const accept = commands.executeCommand('workbench.action.acceptSelectedQuickOpenItem');
return Promise.race([
result.then(() => assert.ok(false)),
accept.then(() => assert.ok(false), err => assert.ok(err))
.then(() => new Promise(resolve => setTimeout(resolve, 10)))
])
.then(() => {
const close = commands.executeCommand('workbench.action.closeQuickOpen');
return Promise.all([result, close])
.then(([value]) => {
assert.equal(value, undefined);
});
});
});
......
......@@ -17,4 +17,7 @@ export interface IQuickInputService {
pick<T extends IPickOpenEntry>(picks: TPromise<T[]>, options?: IPickOptions, token?: CancellationToken): TPromise<T[]>;
input(options?: IInputOptions, token?: CancellationToken): TPromise<string>;
focus(): void;
accept(): TPromise<void>;
cancel(): TPromise<void>;
}
......@@ -365,13 +365,16 @@ export class QuickInputService extends Component implements IQuickInputService {
if (this.controller) {
const resolved = this.controller.resolve(ok);
if (resolved) {
resolved
.then(() => this.container.style.display = 'none')
.then(null, onUnexpectedError);
return;
const result = resolved
.then(() => {
this.container.style.display = 'none';
});
result.then(null, onUnexpectedError);
return result;
}
}
this.container.style.display = 'none';
return TPromise.as(undefined);
}
pick<T extends IPickOpenEntry>(picks: TPromise<T[]>, options: IPickOptions = {}, token?: CancellationToken): TPromise<T[]> {
......@@ -449,7 +452,21 @@ export class QuickInputService extends Component implements IQuickInputService {
return this.controller.result;
}
public layout(dimension: dom.Dimension): void {
focus() {
if (this.ui) {
this.ui.inputBox.setFocus();
}
}
accept() {
return this.close(true);
}
cancel() {
return this.close();
}
layout(dimension: dom.Dimension): void {
this.layoutDimensions = dimension;
this.updateLayout();
}
......
......@@ -12,6 +12,7 @@ import { IWorkbenchActionRegistry, Extensions as ActionExtensions } from 'vs/wor
import { KeybindingsRegistry } from 'vs/platform/keybinding/common/keybindingsRegistry';
import { RemoveFromEditorHistoryAction } from 'vs/workbench/browser/parts/quickopen/quickOpenController';
import { QuickOpenSelectNextAction, QuickOpenSelectPreviousAction, inQuickOpenContext, getQuickNavigateHandler, QuickOpenNavigateNextAction, QuickOpenNavigatePreviousAction, defaultQuickOpenContext, QUICKOPEN_ACTION_ID, QUICKOPEN_ACION_LABEL } from 'vs/workbench/browser/parts/quickopen/quickopen';
import { IQuickInputService } from 'vs/platform/quickinput/common/quickInput';
KeybindingsRegistry.registerCommandAndKeybindingRule({
id: 'workbench.action.closeQuickOpen',
......@@ -21,6 +22,8 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
handler: accessor => {
const quickOpenService = accessor.get(IQuickOpenService);
quickOpenService.close();
const quickInputService = accessor.get(IQuickInputService);
return quickInputService.cancel();
}
});
......@@ -32,6 +35,8 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
handler: accessor => {
const quickOpenService = accessor.get(IQuickOpenService);
quickOpenService.accept();
const quickInputService = accessor.get(IQuickInputService);
return quickInputService.accept();
}
});
......@@ -43,6 +48,8 @@ KeybindingsRegistry.registerCommandAndKeybindingRule({
handler: accessor => {
const quickOpenService = accessor.get(IQuickOpenService);
quickOpenService.focus();
const quickInputService = accessor.get(IQuickInputService);
quickInputService.focus();
}
});
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册