提交 96af1d44 编写于 作者: I isidor

fix accessibility word operatoins and tests

上级 cf7fb776
......@@ -40,7 +40,7 @@ export const enum WordNavigationType {
WordStart = 0,
WordStartFast = 1,
WordEnd = 2,
WordAcessibility = 3 // Respect chrome defintion of a word
WordAccessibility = 3 // Respect chrome defintion of a word
}
export class WordOperations {
......@@ -203,13 +203,12 @@ export class WordOperations {
return new Position(lineNumber, prevWordOnLine ? prevWordOnLine.start + 1 : 1);
}
if (wordNavigationType === WordNavigationType.WordAcessibility) {
if (wordNavigationType === WordNavigationType.WordAccessibility) {
while (
prevWordOnLine
&& prevWordOnLine.wordType === WordType.Separator
&& prevWordOnLine.end - prevWordOnLine.start === 1
) {
// Skip over a word made up of one single separator
// Skip over words made up of only separators
prevWordOnLine = WordOperations._findPreviousWordOnLine(wordSeparators, model, new Position(lineNumber, prevWordOnLine.start + 1));
}
......@@ -289,19 +288,18 @@ export class WordOperations {
} else {
column = model.getLineMaxColumn(lineNumber);
}
} else if (wordNavigationType === WordNavigationType.WordAcessibility) {
} else if (wordNavigationType === WordNavigationType.WordAccessibility) {
while (
nextWordOnLine
&& nextWordOnLine.wordType === WordType.Separator
&& nextWordOnLine.end - nextWordOnLine.start === 1
) {
// Skip over a word made up of one single separator
nextWordOnLine = WordOperations._findPreviousWordOnLine(wordSeparators, model, new Position(lineNumber, nextWordOnLine.end + 1));
nextWordOnLine = WordOperations._findNextWordOnLine(wordSeparators, model, new Position(lineNumber, nextWordOnLine.end + 1));
}
if (nextWordOnLine) {
column = nextWordOnLine.start + 1;
column = nextWordOnLine.end + 1;
} else {
column = model.getLineMaxColumn(lineNumber);
}
......
......@@ -337,7 +337,7 @@ suite('WordOperations', () => {
});
test('cursorWordAccessibilityLeft', () => {
const EXPECTED = ['| |/* |Just |some |more |text |a|+= |3 |+|5|-|3 |+ |7 |*/| '].join('\n');
const EXPECTED = ['| /* |Just |some |more |text |a+= |3 +|5-|3 + |7 */ '].join('\n');
const [text,] = deserializePipePositions(EXPECTED);
const actualStops = testRepeatedActionAndExtractPositions(
text,
......@@ -351,16 +351,14 @@ suite('WordOperations', () => {
});
test('cursorWordAccessibilityRight', () => {
const EXPECTED = [
'console|.log|(err|)|',
].join('\n');
const EXPECTED = [' /* Just| some| more| text| a|+= 3| +5|-3| + 7| */ |'].join('\n');
const [text,] = deserializePipePositions(EXPECTED);
const actualStops = testRepeatedActionAndExtractPositions(
text,
new Position(1, 1),
ed => cursorWordAccessibilityRight(ed),
ed => ed.getPosition()!,
ed => ed.getPosition()!.equals(new Position(1, 17))
ed => ed.getPosition()!.equals(new Position(1, 50))
);
const actual = serializePipePositions(text, actualStops);
assert.deepEqual(actual, EXPECTED);
......
......@@ -177,7 +177,7 @@ export class CursorWordAccessibilityLeft extends WordLeftCommand {
constructor() {
super({
inSelectionMode: false,
wordNavigationType: WordNavigationType.WordAcessibility,
wordNavigationType: WordNavigationType.WordAccessibility,
id: 'cursorWordAccessibilityLeft',
precondition: undefined,
kbOpts: {
......@@ -198,7 +198,7 @@ export class CursorWordAccessibilityLeftSelect extends WordLeftCommand {
constructor() {
super({
inSelectionMode: true,
wordNavigationType: WordNavigationType.WordAcessibility,
wordNavigationType: WordNavigationType.WordAccessibility,
id: 'cursorWordAccessibilitLeftSelecty',
precondition: undefined,
kbOpts: {
......@@ -297,7 +297,7 @@ export class CursorWordAccessibilityRight extends WordRightCommand {
constructor() {
super({
inSelectionMode: false,
wordNavigationType: WordNavigationType.WordAcessibility,
wordNavigationType: WordNavigationType.WordAccessibility,
id: 'cursorWordAccessibilityRight',
precondition: undefined,
kbOpts: {
......@@ -318,7 +318,7 @@ export class CursorWordAccessibilityRightSelect extends WordRightCommand {
constructor() {
super({
inSelectionMode: true,
wordNavigationType: WordNavigationType.WordAcessibility,
wordNavigationType: WordNavigationType.WordAccessibility,
id: 'cursorWordAccessibilityRightSelect',
precondition: undefined,
kbOpts: {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册