mirror of
https://github.com/microsoft/vscode.git
synced 2026-04-20 00:28:52 +01:00
Do not clear selection in single-select case (fixes #57850)
This commit is contained in:
@@ -16,6 +16,7 @@ interface QuickPickExpected {
|
||||
acceptedItems: {
|
||||
active: string[][];
|
||||
selection: string[][];
|
||||
dispose: boolean[];
|
||||
};
|
||||
}
|
||||
|
||||
@@ -36,7 +37,8 @@ suite('window namespace tests', function () {
|
||||
selectionItems: [['zwei']],
|
||||
acceptedItems: {
|
||||
active: [['zwei']],
|
||||
selection: [['zwei']]
|
||||
selection: [['zwei']],
|
||||
dispose: [true]
|
||||
},
|
||||
}, (err?: any) => done(err));
|
||||
quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label }));
|
||||
@@ -61,7 +63,8 @@ suite('window namespace tests', function () {
|
||||
selectionItems: [['zwei']],
|
||||
acceptedItems: {
|
||||
active: [['zwei']],
|
||||
selection: [['zwei']]
|
||||
selection: [['zwei']],
|
||||
dispose: [true]
|
||||
},
|
||||
}, (err?: any) => done(err));
|
||||
quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label }));
|
||||
@@ -86,7 +89,8 @@ suite('window namespace tests', function () {
|
||||
selectionItems: [['eins'], ['eins', 'zwei']],
|
||||
acceptedItems: {
|
||||
active: [['zwei']],
|
||||
selection: [['eins', 'zwei']]
|
||||
selection: [['eins', 'zwei']],
|
||||
dispose: [true]
|
||||
},
|
||||
}, (err?: any) => done(err));
|
||||
quickPick.canSelectMany = true;
|
||||
@@ -102,6 +106,31 @@ suite('window namespace tests', function () {
|
||||
})()
|
||||
.catch(err => done(err));
|
||||
});
|
||||
|
||||
test('createQuickPick, selection events', function (_done) {
|
||||
let done = (err?: any) => {
|
||||
done = () => {};
|
||||
_done(err);
|
||||
};
|
||||
|
||||
const quickPick = createQuickPick({
|
||||
events: ['active', 'selection', 'accept', 'selection', 'accept', 'hide'],
|
||||
activeItems: [['eins']],
|
||||
selectionItems: [['zwei'], ['drei']],
|
||||
acceptedItems: {
|
||||
active: [['eins'], ['eins']],
|
||||
selection: [['zwei'], ['drei']],
|
||||
dispose: [false, true]
|
||||
},
|
||||
}, (err?: any) => done(err));
|
||||
quickPick.items = ['eins', 'zwei', 'drei'].map(label => ({ label }));
|
||||
quickPick.show();
|
||||
|
||||
quickPick.selectedItems = [quickPick.items[1]];
|
||||
setTimeout(() => {
|
||||
quickPick.selectedItems = [quickPick.items[2]];
|
||||
}, 0);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
@@ -134,7 +163,9 @@ function createQuickPick(expected: QuickPickExpected, done: (err?: any) => void)
|
||||
assert.deepEqual(quickPick.activeItems.map(item => item.label), expectedActive);
|
||||
const expectedSelection = expected.acceptedItems.selection.shift();
|
||||
assert.deepEqual(quickPick.selectedItems.map(item => item.label), expectedSelection);
|
||||
quickPick.dispose();
|
||||
if (expected.acceptedItems.dispose.shift()) {
|
||||
quickPick.dispose();
|
||||
}
|
||||
} catch (err) {
|
||||
done(err);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user