Streamline QuickInput API (#49340)

This commit is contained in:
Christof Marti
2018-06-14 18:51:14 +02:00
parent 78c0afb018
commit 47fc17712d
7 changed files with 148 additions and 104 deletions

View File

@@ -19,27 +19,52 @@ suite('window namespace tests', function () {
done = () => {};
_done(err);
};
const expectedEvents = ['active', 'active', 'selection', 'accept', 'hide'];
const expectedActiveItems = [['eins'], ['zwei']];
const expectedSelectionItems = [['zwei']];
const quickPick = window.createQuickPick();
const expectedFocusChanges = [['eins'], ['zwei']];
quickPick.onDidChangeActive(items => {
try {
assert.deepEqual(items.map(item => item.label), expectedFocusChanges.shift());
assert.equal('active', expectedEvents.shift());
const expected = expectedActiveItems.shift();
assert.deepEqual(items.map(item => item.label), expected);
assert.deepEqual(quickPick.activeItems.map(item => item.label), expected);
} catch (err) {
done(err);
}
});
quickPick.onDidChangeSelection(items => {
try {
assert.equal('selection', expectedEvents.shift());
const expected = expectedSelectionItems.shift();
assert.deepEqual(items.map(item => item.label), expected);
assert.deepEqual(quickPick.selectedItems.map(item => item.label), expected);
} catch (err) {
done(err);
}
});
quickPick.onDidAccept(() => {
try {
const items = quickPick.activeItems;
assert.equal('accept', expectedEvents.shift());
const expected = ['zwei'];
assert.deepEqual(quickPick.activeItems.map(item => item.label), expected);
assert.deepEqual(quickPick.selectedItems.map(item => item.label), expected);
quickPick.dispose();
assert.equal(items.length, 1);
assert.equal(items[0].label, 'zwei');
assert.equal(expectedFocusChanges.length, 0);
} catch (err) {
done(err);
}
});
quickPick.onDidHide(() => {
try {
assert.equal('hide', expectedEvents.shift());
done();
} catch (err) {
done(err);
}
});
quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label }));
quickPick.show();