Skip to content

Commit

Permalink
Fixes #135440
Browse files Browse the repository at this point in the history
  • Loading branch information
hediet committed Nov 12, 2021
1 parent 2e0f560 commit 4e8450a
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -190,13 +190,13 @@ export class SuggestWidgetInlineCompletionProvider extends Disposable {
}
}

function rangeStartsWith(rangeToTest: Range, prefix: Range): boolean {
export function rangeStartsWith(rangeToTest: Range, prefix: Range): boolean {
return (
rangeToTest.startLineNumber === prefix.startLineNumber &&
rangeToTest.startColumn === prefix.startColumn &&
(rangeToTest.endLineNumber < prefix.endLineNumber ||
(rangeToTest.endLineNumber === prefix.endLineNumber &&
rangeToTest.endColumn <= prefix.endColumn))
prefix.startLineNumber === rangeToTest.startLineNumber &&
prefix.startColumn === rangeToTest.startColumn &&
(prefix.endLineNumber < rangeToTest.endLineNumber ||
(prefix.endLineNumber === rangeToTest.endLineNumber &&
prefix.endColumn <= rangeToTest.endColumn))
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,20 @@ import { createTextModel } from 'vs/editor/test/common/editorTestUtils';
import { ILabelService } from 'vs/platform/label/common/label';
import { IWorkspaceContextService } from 'vs/platform/workspace/common/workspace';
import { minimizeInlineCompletion } from 'vs/editor/contrib/inlineCompletions/inlineCompletionsModel';
import { rangeStartsWith } from 'vs/editor/contrib/inlineCompletions/suggestWidgetInlineCompletionProvider';

suite('Suggest Widget Model', () => {
test('rangeStartsWith', () => {
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 1, 1)), true);
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 10, 5)), true);
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 10, 4)), true);
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 9, 6)), true);

assert.strictEqual(rangeStartsWith(new Range(2, 1, 10, 5), new Range(1, 1, 10, 5)), false);
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 10, 6)), false);
assert.strictEqual(rangeStartsWith(new Range(1, 1, 10, 5), new Range(1, 1, 11, 4)), false);
});

test('Active', async () => {
await withAsyncTestCodeEditorAndInlineCompletionsModel('',
{ fakeClock: true, provider, },
Expand Down

0 comments on commit 4e8450a

Please sign in to comment.