Files
vscode/extensions/vscode-api-tests/src/singlefolder-tests/quickInput.test.ts
2018-06-12 18:23:25 +02:00

54 lines
1.6 KiB
TypeScript

/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
'use strict';
import * as assert from 'assert';
import { window, commands } from 'vscode';
import { closeAllEditors } from '../utils';
suite('window namespace tests', function () {
suite('QuickInput tests', function () {
teardown(closeAllEditors);
test('createQuickPick, select second', function (_done) {
let done = (err?: any) => {
done = () => {};
_done(err);
};
const quickPick = window.createQuickPick();
const expectedFocusChanges = [['eins'], ['zwei']];
quickPick.onDidChangeActive(items => {
try {
assert.deepEqual(items.map(item => item.label), expectedFocusChanges.shift());
} catch (err) {
done(err);
}
});
quickPick.onDidAccept(() => {
try {
const items = quickPick.activeItems;
quickPick.dispose();
assert.equal(items.length, 1);
assert.equal(items[0].label, 'zwei');
assert.equal(expectedFocusChanges.length, 0);
done();
} catch (err) {
done(err);
}
});
quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label }));
quickPick.show();
(async () => {
await commands.executeCommand('workbench.action.quickOpenSelectNext');
await commands.executeCommand('workbench.action.acceptSelectedQuickOpenItem');
})()
.catch(err => done(err));
});
});
});