From 954ae979fb758b3c6514839ebd320fac8318045c Mon Sep 17 00:00:00 2001 From: tonycheang Date: Wed, 17 Feb 2021 12:26:13 -0800 Subject: [PATCH] Clear Decoration on Disable (#379) * fix: always clear decoration when not enabled * fix: enableLineDecoration test --- src/codenav-decoration.ts | 3 ++- test/codenav-decoration.test.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) 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(); });