Skip to content

Commit eb0eb3c

Browse files
committed
Tweak tests
1 parent 9268d88 commit eb0eb3c

File tree

1 file changed

+24
-29
lines changed

1 file changed

+24
-29
lines changed

src/vs/workbench/contrib/terminalContrib/suggest/test/browser/terminalCompletionModel.test.ts

Lines changed: 24 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { ensureNoDisposablesAreLeakedInTestSuite } from '../../../../../../base/
77
import { TerminalCompletionModel } from '../../browser/terminalCompletionModel.js';
88
import { LineContext } from '../../../../../services/suggest/browser/simpleCompletionModel.js';
99
import { TerminalCompletionItem, TerminalCompletionItemKind, type ITerminalCompletion } from '../../browser/terminalCompletionItem.js';
10+
import type { CompletionItemLabel } from '../../../../../services/suggest/browser/simpleCompletionItem.js';
1011

1112
function createItem(options: Partial<ITerminalCompletion>): TerminalCompletionItem {
1213
return new TerminalCompletionItem({
@@ -41,7 +42,7 @@ function createFolderItemsModel(...labels: string[]): TerminalCompletionModel {
4142
);
4243
}
4344

44-
function assertItems(model: TerminalCompletionModel, labels: string[]): void {
45+
function assertItems(model: TerminalCompletionModel, labels: (string | CompletionItemLabel)[]): void {
4546
assert.deepStrictEqual(model.items.map(i => i.completion.label), labels);
4647
assert.strictEqual(model.items.length, labels.length); // sanity check
4748
}
@@ -300,64 +301,58 @@ suite('TerminalCompletionModel', function () {
300301
suite('git branch priority sorting', () => {
301302
test('should prioritize main and master branches for git commands', () => {
302303
const items = [
303-
createItem({ label: 'feature-branch', provider: 'terminal-suggest' }),
304-
createItem({ label: 'master', provider: 'terminal-suggest' }),
305-
createItem({ label: 'development', provider: 'terminal-suggest' }),
306-
createItem({ label: 'main', provider: 'terminal-suggest' })
304+
createItem({ label: 'feature-branch' }),
305+
createItem({ label: 'master' }),
306+
createItem({ label: 'development' }),
307+
createItem({ label: 'main' })
307308
];
308309
const model = new TerminalCompletionModel(items, new LineContext('git checkout ', 0));
309310
assertItems(model, ['main', 'master', 'development', 'feature-branch']);
310311
});
311312

312313
test('should prioritize main and master branches for git switch command', () => {
313314
const items = [
314-
createItem({ label: 'feature-branch', provider: 'terminal-suggest' }),
315-
createItem({ label: 'main', provider: 'terminal-suggest' }),
316-
createItem({ label: 'another-feature', provider: 'terminal-suggest' }),
317-
createItem({ label: 'master', provider: 'terminal-suggest' })
315+
createItem({ label: 'feature-branch' }),
316+
createItem({ label: 'main' }),
317+
createItem({ label: 'another-feature' }),
318+
createItem({ label: 'master' })
318319
];
319320
const model = new TerminalCompletionModel(items, new LineContext('git switch ', 0));
320321
assertItems(model, ['main', 'master', 'another-feature', 'feature-branch']);
321322
});
322323

323324
test('should not prioritize main and master for non-git commands', () => {
324325
const items = [
325-
createItem({ label: 'feature-branch', provider: 'terminal-suggest' }),
326-
createItem({ label: 'master', provider: 'terminal-suggest' }),
327-
createItem({ label: 'main', provider: 'terminal-suggest' })
326+
createItem({ label: 'feature-branch' }),
327+
createItem({ label: 'master' }),
328+
createItem({ label: 'main' })
328329
];
329330
const model = new TerminalCompletionModel(items, new LineContext('ls ', 0));
330331
assertItems(model, ['feature-branch', 'main', 'master']);
331332
});
332333

333-
test('should only apply to terminal-suggest provider', () => {
334-
const items = [
335-
createItem({ label: 'feature-branch', provider: 'other-provider' }),
336-
createItem({ label: 'master', provider: 'other-provider' }),
337-
createItem({ label: 'main', provider: 'other-provider' })
338-
];
339-
const model = new TerminalCompletionModel(items, new LineContext('git checkout ', 0));
340-
assertItems(model, ['feature-branch', 'main', 'master']);
341-
});
342-
343334
test('should handle git commands with leading whitespace', () => {
344335
const items = [
345-
createItem({ label: 'feature-branch', provider: 'terminal-suggest' }),
346-
createItem({ label: 'master', provider: 'terminal-suggest' }),
347-
createItem({ label: 'main', provider: 'terminal-suggest' })
336+
createItem({ label: 'feature-branch' }),
337+
createItem({ label: 'master' }),
338+
createItem({ label: 'main' })
348339
];
349340
const model = new TerminalCompletionModel(items, new LineContext(' git checkout ', 0));
350341
assertItems(model, ['main', 'master', 'feature-branch']);
351342
});
352343

353344
test('should work with complex label objects', () => {
354345
const items = [
355-
createItem({ label: { label: 'feature-branch', description: 'Feature branch' }, provider: 'terminal-suggest' }),
356-
createItem({ label: { label: 'master', description: 'Master branch' }, provider: 'terminal-suggest' }),
357-
createItem({ label: { label: 'main', description: 'Main branch' }, provider: 'terminal-suggest' })
346+
createItem({ label: { label: 'feature-branch', description: 'Feature branch' } }),
347+
createItem({ label: { label: 'master', description: 'Master branch' } }),
348+
createItem({ label: { label: 'main', description: 'Main branch' } })
358349
];
359350
const model = new TerminalCompletionModel(items, new LineContext('git checkout ', 0));
360-
assertItems(model, ['main', 'master', 'feature-branch']);
351+
assertItems(model, [
352+
{ label: "main", description: "Main branch" },
353+
{ label: "master", description: "Master branch" },
354+
{ label: "feature-branch", description: "Feature branch" },
355+
]);
361356
});
362357
});
363358
});

0 commit comments

Comments
 (0)