diff --git a/src/codenav-decoration.ts b/src/codenav-decoration.ts index e6f1b84..ad1f6ad 100644 --- a/src/codenav-decoration.ts +++ b/src/codenav-decoration.ts @@ -19,7 +19,7 @@ import { import * as KiteAPI from "kite-api"; -const relatedCodeLineDecoration: TextEditorDecorationType = window.createTextEditorDecorationType({ +export const relatedCodeLineDecoration: TextEditorDecorationType = window.createTextEditorDecorationType({ rangeBehavior: DecorationRangeBehavior.ClosedOpen, }); @@ -58,6 +58,7 @@ export default class KiteRelatedCodeDecorationsProvider { // Public for testing public async onDidChangeTextEditorSelection(event: TextEditorSelectionChangeEvent): Promise { if (!this.enabled()) { + this.clearDecorations(event.textEditor) return; } diff --git a/test/codenav-decoration.test.ts b/test/codenav-decoration.test.ts index 6119e17..f5b9355 100644 --- a/test/codenav-decoration.test.ts +++ b/test/codenav-decoration.test.ts @@ -14,7 +14,7 @@ import { assert } from 'chai'; import * as sinon from 'sinon'; import * as KiteAPI from 'kite-api'; -import KiteRelatedCodeDecorationsProvider from '../src/codenav-decoration'; +import KiteRelatedCodeDecorationsProvider, { relatedCodeLineDecoration } from '../src/codenav-decoration'; describe('KiteRelatedCodeDecorationsProvider', () => { @@ -66,7 +66,7 @@ describe('KiteRelatedCodeDecorationsProvider', () => { await fireEvent(); assert.isFalse(getLineDecorationStub.called); - assert.isFalse(setDecorationSpy.called); + assert.isTrue(setDecorationSpy.calledWith(relatedCodeLineDecoration, []), "clears the decoration when disabled"); getConfigurationStub.restore(); });