提交 84db2cb3 编写于 作者: S Sandeep Somavarapu

tests

上级 e2d3c45d
......@@ -13,7 +13,7 @@ import {Selection} from 'vs/editor/common/core/selection';
import {
EndOfLinePreference, EventType, Handler, IPosition, ISelection, IEditorOptions,
DefaultEndOfLine, ITextModelCreationOptions, ICommand,
ITokenizedModel, IEditOperationBuilder, ICursorStateComputerData
ITokenizedModel, IEditOperationBuilder, ICursorStateComputerData, ViewPosition
} from 'vs/editor/common/editorCommon';
import {Model} from 'vs/editor/common/model/model';
import {IMode, IndentAction} from 'vs/editor/common/modes';
......@@ -30,6 +30,20 @@ function cursorCommand(cursor: Cursor, command: string, extraData?: any, overwri
cursor.trigger(overwriteSource || 'tests', command, extraData);
}
// Move command
function move(cursor: Cursor, args: any) {
cursorCommand(cursor, H.CursorMove, args);
}
function moveToFirstCharacterOfLine(cursor: Cursor) {
move(cursor, {viewPosition: ViewPosition.FirstCharacterOfLine});
}
function moveToFirstNonWhiteSpaceCharacterOfLine(cursor: Cursor) {
move(cursor, {viewPosition: ViewPosition.FirstNonWhiteSpaceCharacterOfLine});
}
function moveTo(cursor: Cursor, lineNumber: number, column: number, inSelectionMode: boolean = false) {
cursorCommand(cursor, inSelectionMode ? H.MoveToSelect : H.MoveTo, { position: new Position(lineNumber, column) });
}
......@@ -191,6 +205,44 @@ suite('Editor Controller - Cursor', () => {
cursorEqual(thisCursor, 1, 1);
});
// --------- move to first character of line
test('move to first character of line from middle', () => {
moveTo(thisCursor, 1, 8);
moveToFirstCharacterOfLine(thisCursor);
cursorEqual(thisCursor, 1, 1);
});
test('move to first character of line from first non white space character', () => {
moveTo(thisCursor, 1, 6);
moveToFirstCharacterOfLine(thisCursor);
cursorEqual(thisCursor, 1, 1);
});
test('move to first character of line from first character', () => {
moveTo(thisCursor, 1, 1);
moveToFirstCharacterOfLine(thisCursor);
cursorEqual(thisCursor, 1, 1);
});
test('move to first non white space character of line from middle', () => {
moveTo(thisCursor, 1, 8);
moveToFirstNonWhiteSpaceCharacterOfLine(thisCursor);
cursorEqual(thisCursor, 1, 6);
});
test('move to first non white space character of line from first non white space character', () => {
moveTo(thisCursor, 1, 6);
moveToFirstNonWhiteSpaceCharacterOfLine(thisCursor);
cursorEqual(thisCursor, 1, 6);
});
test('move to first non white space character of line from first character', () => {
moveTo(thisCursor, 1, 1);
moveToFirstNonWhiteSpaceCharacterOfLine(thisCursor);
cursorEqual(thisCursor, 1, 6);
});
test('move', () => {
moveTo(thisCursor, 1, 2);
cursorEqual(thisCursor, 1, 2);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册