From a8a920e2fc8636d0830f99dfd92103b7b3862270 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Fri, 12 Aug 2016 12:32:15 +0200 Subject: [PATCH] don't push code without tests... #8093 --- .../vscode-api-tests/src/window.test.ts | 22 ++++++++++++++++++- src/vs/workbench/api/node/extHost.api.impl.ts | 2 ++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/extensions/vscode-api-tests/src/window.test.ts b/extensions/vscode-api-tests/src/window.test.ts index 9a02325e47a..c65d5cbd718 100644 --- a/extensions/vscode-api-tests/src/window.test.ts +++ b/extensions/vscode-api-tests/src/window.test.ts @@ -6,7 +6,7 @@ 'use strict'; import * as assert from 'assert'; -import {workspace, window, ViewColumn, TextEditorViewColumnChangeEvent, Uri, Selection, Position, CancellationTokenSource} from 'vscode'; +import {workspace, window, ViewColumn, TextEditorViewColumnChangeEvent, Uri, Selection, Position, CancellationTokenSource, TextEditorSelectionChangeKind} from 'vscode'; import {join} from 'path'; import {cleanUp, pathEquals} from './utils'; @@ -189,4 +189,24 @@ suite('window namespace tests', () => { assert.equal(value, undefined); }); }); + + test('editor, selection change kind', () => { + return workspace.openTextDocument(join(workspace.rootPath, './far.js')).then(doc => window.showTextDocument(doc)).then(editor => { + + + return new Promise((resolve, reject) => { + + let subscription = window.onDidChangeTextEditorSelection(e => { + assert.ok(e.textEditor === editor); + assert.equal(e.kind, TextEditorSelectionChangeKind.Command); + + subscription.dispose(); + resolve(); + }); + + editor.selection = new Selection(editor.selection.anchor, editor.selection.active.translate(2)); + }); + + }); + }); }); diff --git a/src/vs/workbench/api/node/extHost.api.impl.ts b/src/vs/workbench/api/node/extHost.api.impl.ts index 03c22e52f3f..00ff2824eca 100644 --- a/src/vs/workbench/api/node/extHost.api.impl.ts +++ b/src/vs/workbench/api/node/extHost.api.impl.ts @@ -80,6 +80,7 @@ export class ExtHostAPIImplementation { TextEditorRevealType: typeof vscode.TextEditorRevealType; EndOfLine: typeof vscode.EndOfLine; TextEditorCursorStyle: typeof vscode.TextEditorCursorStyle; + TextEditorSelectionChangeKind: typeof vscode.TextEditorSelectionChangeKind; commands: typeof vscode.commands; window: typeof vscode.window; workspace: typeof vscode.workspace; @@ -159,6 +160,7 @@ export class ExtHostAPIImplementation { this.TextEditorRevealType = extHostTypes.TextEditorRevealType; this.EndOfLine = extHostTypes.EndOfLine; this.TextEditorCursorStyle = EditorCommon.TextEditorCursorStyle; + this.TextEditorSelectionChangeKind = extHostTypes.TextEditorSelectionChangeKind; // env namespace let telemetryInfo: ITelemetryInfo;