c53fe1c2bf
## Summary of the Pull Request Follow-up for #10886. The new UIA movement tests found some failing cases. This PR fixes UiaTextRangeBase to have movement match that of MS Word. In total, this fixes 64 tests. ## PR Checklist * [X] Closes #10924 * [X] Tests added/passed ## Detailed Description of the Pull Request / Additional comments Root causes include... 1. if we were a non-degenerate range and we failed to move, we should still expand to enclose the unit 2. non-degenerate ranges are treated as if they already encompassed their given unit. - this one is a bit difficult to explain. Consider these examples: 1. document movement - state: you have a 1-cell wide range on the buffer, and you try to move by document - result: move by 0 (there is no next/prev document), but the range now encompasses the entire document 2. line movement - state: you have a 1-cell wide range on a line, and you try to move back by a line - result: you go to the previous line (not the beginning of this line) - conversely, a degenerate range successfully moves to the beginning/end of the current unit (i.e. document/line) - this (bizarre) behavior was confirmed using MS Word As a bonus, occasionally, Narrator would get stuck when navigating by line. This issue now seems to be fixed. ## Updates to existing tests - `CanMoveByCharacter` - `can't move backward from (0, 0)` --> misauthored, result should be one character wide. - `can't move past the last column in the last row` --> misauthored and already covered in generated tests - `CanMoveByLine` - `can't move backward from top row` --> misauthored, end should be on next line. Already covered by generated tests - `can't move forward from bottom row` --> misauthored, end should be on next line - `can't move backward when part of the top row is in the range` --> misauthored, should expand - `can't move forward when part of the bottom row is in the range` --> misauthored, degenerate range moves to end of buffer - `MovementAtExclusiveEnd` - populate the text buffer _before_ we do a move by word operation - update to match the now fixed behavior
3172 lines
98 KiB
C++
3172 lines
98 KiB
C++
// Copyright (c) Microsoft Corporation.
|
|
// Licensed under the MIT license.
|
|
|
|
// DO NOT MODIFY THESE TESTS DIRECTLY
|
|
// These were generated by tools\TestTableWriter\GenerateTests.ps1
|
|
// Read tools\TestTableWriter\README.md for more details
|
|
// Define a few helpful variables
|
|
constexpr til::rectangle bufferSize{ 0, 0, 80, 300 };
|
|
constexpr short midX{ 40 };
|
|
constexpr short midY{ 150 };
|
|
constexpr short midPopulatedY{ 75 };
|
|
constexpr til::point origin{ 0, 0 };
|
|
constexpr til::point midTop{ midX, 0 };
|
|
constexpr til::point midHistory{ midX, midPopulatedY };
|
|
constexpr til::point midDocEnd{ midX, midY };
|
|
constexpr til::point lastCharPos{ 79, midY };
|
|
constexpr til::point docEnd{ 0, midY + 1 };
|
|
constexpr til::point midEmptySpace{ midX, midY + midPopulatedY };
|
|
constexpr til::point bufferEnd{ 79, 299 };
|
|
constexpr til::point endExclusive{ 0, 300 };
|
|
|
|
constexpr til::point bufferEndLeft{ bufferSize.left(), bufferEnd.y() };
|
|
constexpr auto bufferEndM1C{ point_offset_by_char(bufferEnd, bufferSize, -1) };
|
|
constexpr auto bufferEndM1L{ point_offset_by_line(bufferEnd, bufferSize, -1) };
|
|
constexpr auto bufferEndM4C{ point_offset_by_char(bufferEnd, bufferSize, -4) };
|
|
constexpr auto bufferEndM4L{ point_offset_by_line(bufferEnd, bufferSize, -4) };
|
|
constexpr auto bufferEndM5C{ point_offset_by_char(bufferEnd, bufferSize, -5) };
|
|
constexpr auto bufferEndM5L{ point_offset_by_line(bufferEnd, bufferSize, -5) };
|
|
constexpr til::point docEndLeft{ bufferSize.left(), docEnd.y() };
|
|
constexpr auto docEndM1C{ point_offset_by_char(docEnd, bufferSize, -1) };
|
|
constexpr auto docEndM4L{ point_offset_by_line(docEnd, bufferSize, -4) };
|
|
constexpr auto docEndM5C{ point_offset_by_char(docEnd, bufferSize, -5) };
|
|
constexpr auto docEndP1C{ point_offset_by_char(docEnd, bufferSize, 1) };
|
|
|
|
constexpr til::point lastCharPosLeft{ bufferSize.left(), lastCharPos.y() };
|
|
constexpr auto lastCharPosM1C{ point_offset_by_char(lastCharPos, bufferSize, -1) };
|
|
constexpr auto lastCharPosM1L{ point_offset_by_line(lastCharPos, bufferSize, -1) };
|
|
constexpr auto lastCharPosM4C{ point_offset_by_char(lastCharPos, bufferSize, -4) };
|
|
constexpr auto lastCharPosM4L{ point_offset_by_line(lastCharPos, bufferSize, -4) };
|
|
constexpr auto lastCharPosM5C{ point_offset_by_char(lastCharPos, bufferSize, -5) };
|
|
constexpr auto lastCharPosM5L{ point_offset_by_line(lastCharPos, bufferSize, -5) };
|
|
constexpr auto lastCharPosP1C{ point_offset_by_char(lastCharPos, bufferSize, 1) };
|
|
|
|
constexpr til::point midDocEndLeft{ bufferSize.left(), midDocEnd.y() };
|
|
constexpr auto midDocEndM1C{ point_offset_by_char(midDocEnd, bufferSize, -1) };
|
|
constexpr auto midDocEndM1L{ point_offset_by_line(midDocEnd, bufferSize, -1) };
|
|
constexpr auto midDocEndM4C{ point_offset_by_char(midDocEnd, bufferSize, -4) };
|
|
constexpr auto midDocEndM4L{ point_offset_by_line(midDocEnd, bufferSize, -4) };
|
|
constexpr auto midDocEndM5C{ point_offset_by_char(midDocEnd, bufferSize, -5) };
|
|
constexpr auto midDocEndM5L{ point_offset_by_line(midDocEnd, bufferSize, -5) };
|
|
constexpr auto midDocEndP1C{ point_offset_by_char(midDocEnd, bufferSize, 1) };
|
|
constexpr auto midDocEndP2C{ point_offset_by_char(midDocEnd, bufferSize, 2) };
|
|
constexpr auto midDocEndP5C{ point_offset_by_char(midDocEnd, bufferSize, 5) };
|
|
constexpr auto midDocEndP6C{ point_offset_by_char(midDocEnd, bufferSize, 6) };
|
|
|
|
constexpr auto midEmptySpaceP1C{ point_offset_by_char(midEmptySpace, bufferSize, 1) };
|
|
constexpr til::point midHistoryLeft{ bufferSize.left(), midHistory.y() };
|
|
constexpr auto midHistoryM1C{ point_offset_by_char(midHistory, bufferSize, -1) };
|
|
constexpr auto midHistoryM1L{ point_offset_by_line(midHistory, bufferSize, -1) };
|
|
constexpr auto midHistoryM4C{ point_offset_by_char(midHistory, bufferSize, -4) };
|
|
constexpr auto midHistoryM4L{ point_offset_by_line(midHistory, bufferSize, -4) };
|
|
constexpr auto midHistoryM5C{ point_offset_by_char(midHistory, bufferSize, -5) };
|
|
constexpr auto midHistoryM5L{ point_offset_by_line(midHistory, bufferSize, -5) };
|
|
constexpr auto midHistoryP1C{ point_offset_by_char(midHistory, bufferSize, 1) };
|
|
constexpr auto midHistoryP1L{ point_offset_by_line(midHistory, bufferSize, 1) };
|
|
constexpr auto midHistoryP2C{ point_offset_by_char(midHistory, bufferSize, 2) };
|
|
constexpr auto midHistoryP2L{ point_offset_by_line(midHistory, bufferSize, 2) };
|
|
constexpr auto midHistoryP5C{ point_offset_by_char(midHistory, bufferSize, 5) };
|
|
constexpr auto midHistoryP5L{ point_offset_by_line(midHistory, bufferSize, 5) };
|
|
constexpr auto midHistoryP6C{ point_offset_by_char(midHistory, bufferSize, 6) };
|
|
constexpr auto midHistoryP6L{ point_offset_by_line(midHistory, bufferSize, 6) };
|
|
constexpr auto midTopM1C{ point_offset_by_char(midTop, bufferSize, -1) };
|
|
constexpr auto midTopM4C{ point_offset_by_char(midTop, bufferSize, -4) };
|
|
constexpr auto midTopM5C{ point_offset_by_char(midTop, bufferSize, -5) };
|
|
constexpr auto midTopP1C{ point_offset_by_char(midTop, bufferSize, 1) };
|
|
constexpr auto midTopP1L{ point_offset_by_line(midTop, bufferSize, 1) };
|
|
constexpr auto midTopP2C{ point_offset_by_char(midTop, bufferSize, 2) };
|
|
constexpr auto midTopP5C{ point_offset_by_char(midTop, bufferSize, 5) };
|
|
constexpr auto midTopP5L{ point_offset_by_line(midTop, bufferSize, 5) };
|
|
constexpr auto midTopP6C{ point_offset_by_char(midTop, bufferSize, 6) };
|
|
constexpr auto originP1C{ point_offset_by_char(origin, bufferSize, 1) };
|
|
constexpr auto originP1L{ point_offset_by_line(origin, bufferSize, 1) };
|
|
constexpr auto originP2C{ point_offset_by_char(origin, bufferSize, 2) };
|
|
constexpr auto originP2L{ point_offset_by_line(origin, bufferSize, 2) };
|
|
constexpr auto originP5C{ point_offset_by_char(origin, bufferSize, 5) };
|
|
constexpr auto originP5L{ point_offset_by_line(origin, bufferSize, 5) };
|
|
constexpr auto originP6C{ point_offset_by_char(origin, bufferSize, 6) };
|
|
constexpr auto originP6L{ point_offset_by_line(origin, bufferSize, 6) };
|
|
struct GeneratedMovementTestInput
|
|
{
|
|
TextUnit unit;
|
|
int moveAmount;
|
|
til::point start;
|
|
til::point end;
|
|
};
|
|
struct GeneratedMovementTestExpected
|
|
{
|
|
int moveAmount;
|
|
til::point start;
|
|
til::point end;
|
|
};
|
|
struct GeneratedMovementTest
|
|
{
|
|
std::wstring_view name;
|
|
GeneratedMovementTestInput input;
|
|
GeneratedMovementTestExpected expected;
|
|
bool skip;
|
|
};
|
|
|
|
static constexpr std::array<GeneratedMovementTest, 255> s_movementTests{
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
originP1C,
|
|
originP1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
originP5C,
|
|
originP5C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
originP1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
originP1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
originP1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
originP1C,
|
|
originP2C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
originP5C,
|
|
originP6C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midTopM5C,
|
|
midTopM5C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midTopM1C,
|
|
midTopM1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midTop,
|
|
midTop },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
midTopP1C,
|
|
midTopP1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
midTopP5C,
|
|
midTopP5C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midTopM5C,
|
|
midTopM4C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midTopM1C,
|
|
midTop },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midTop,
|
|
midTopP1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
midTopP1C,
|
|
midTopP2C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
midTopP5C,
|
|
midTopP6C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midHistoryM5C,
|
|
midHistoryM5C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midHistoryM1C,
|
|
midHistoryM1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midHistory,
|
|
midHistory },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
midHistoryP1C,
|
|
midHistoryP1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
midHistoryP5C,
|
|
midHistoryP5C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midHistoryM5C,
|
|
midHistoryM4C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midHistoryM1C,
|
|
midHistory },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
midHistoryP1C,
|
|
midHistoryP2C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
midHistoryP5C,
|
|
midHistoryP6C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
originP1L,
|
|
originP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
originP5L,
|
|
originP5L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
originP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
originP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
originP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
originP1L,
|
|
originP2L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
originP5L,
|
|
originP6L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midTop,
|
|
midTop },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
midTopP1L,
|
|
midTopP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
midTopP5L,
|
|
midTopP5L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
originP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
originP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
originP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
originP1L,
|
|
originP2L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
originP5L,
|
|
originP6L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midHistoryM4L,
|
|
midHistoryM4L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midHistoryLeft,
|
|
midHistoryLeft },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midHistory,
|
|
midHistory },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
midHistoryP1L,
|
|
midHistoryP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
midHistoryP5L,
|
|
midHistoryP5L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midHistoryM5L,
|
|
midHistoryM4L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midHistoryM1L,
|
|
midHistoryLeft },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midHistoryLeft,
|
|
midHistoryP1L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
midHistoryP1L,
|
|
midHistoryP2L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
midHistoryP5L,
|
|
midHistoryP6L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 1 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
origin,
|
|
origin },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 1 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
origin,
|
|
originP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midTop,
|
|
midTop },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 2 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
midTop,
|
|
midTop },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 2 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
midTop,
|
|
midTopP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midHistory,
|
|
midHistory },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 3 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
midHistory,
|
|
midHistory },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 3 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
midHistory,
|
|
midHistoryP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
bufferEndM5C,
|
|
bufferEndM5C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
bufferEndM1C,
|
|
bufferEndM1C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
bufferEndM5C,
|
|
bufferEndM4C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
bufferEndM1C,
|
|
bufferEnd },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
bufferEnd,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
bufferEnd,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
bufferEnd,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
bufferEndM4L,
|
|
bufferEndM4L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
bufferEndLeft,
|
|
bufferEndLeft },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
bufferEndM5L,
|
|
bufferEndM4L },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
bufferEndM1L,
|
|
bufferEndLeft },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
bufferEndLeft,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
bufferEndLeft,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
bufferEndLeft,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 8 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 8 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
bufferEnd,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
endExclusive },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
bufferEndM4C,
|
|
bufferEndM4C },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
bufferEnd,
|
|
bufferEnd },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
bufferEndM4L,
|
|
bufferEndM4L },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
bufferEndLeft,
|
|
bufferEndLeft },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 9 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
endExclusive,
|
|
endExclusive },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
endExclusive,
|
|
endExclusive },
|
|
false },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midDocEndM5C,
|
|
midDocEndM5C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midDocEndM1C,
|
|
midDocEndM1C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
midDocEndP1C,
|
|
midDocEndP1C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
midDocEndP5C,
|
|
midDocEndP5C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midDocEndM5C,
|
|
midDocEndM4C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midDocEndM1C,
|
|
midDocEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
midDocEndP1C,
|
|
midDocEndP2C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
5,
|
|
midDocEndP5C,
|
|
midDocEndP6C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midDocEndM4L,
|
|
midDocEndM4L },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midDocEndLeft,
|
|
midDocEndLeft },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
midDocEndM5L,
|
|
midDocEndM4L },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
midDocEndM1L,
|
|
midDocEndLeft },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midDocEndLeft,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midDocEndLeft,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midDocEndLeft,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 4 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
midDocEnd,
|
|
midDocEnd },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 4 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
midDocEnd,
|
|
midDocEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
lastCharPosM5C,
|
|
lastCharPosM5C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
lastCharPosM1C,
|
|
lastCharPosM1C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
lastCharPosM5C,
|
|
lastCharPosM4C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
lastCharPosM1C,
|
|
lastCharPos },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
lastCharPos,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
lastCharPos,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
lastCharPos,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
lastCharPosM4L,
|
|
lastCharPosM4L },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
lastCharPosLeft,
|
|
lastCharPosLeft },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
lastCharPosM5L,
|
|
lastCharPosM4L },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
lastCharPosM1L,
|
|
lastCharPosLeft },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
lastCharPosLeft,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
lastCharPosLeft,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
lastCharPosLeft,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 5 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
lastCharPos,
|
|
lastCharPos },
|
|
GeneratedMovementTestExpected{
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 5 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
lastCharPos,
|
|
lastCharPosP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
origin,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
docEndM5C,
|
|
docEndM5C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
docEndM1C,
|
|
docEndM1C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
docEndM5C,
|
|
docEndM5C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
docEndM1C,
|
|
docEndM1C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
docEndM4L,
|
|
docEndM4L },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
docEndLeft,
|
|
docEndLeft },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
docEndM4L,
|
|
docEndM4L },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
docEndLeft,
|
|
docEndLeft },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 6 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
docEnd,
|
|
docEnd },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 6 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
docEnd,
|
|
docEndP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
docEndM5C,
|
|
docEndM5C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
docEndM1C,
|
|
docEndM1C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 -5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-5,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
docEndM5C,
|
|
docEndM5C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 -1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
-1,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
docEndM1C,
|
|
docEndM1C },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 0 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
0,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 1 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
1,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 5 times by Character",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Character,
|
|
5,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
docEndM4L,
|
|
docEndM4L },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
docEndLeft,
|
|
docEndLeft },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 -5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-5,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
-5,
|
|
docEndM4L,
|
|
docEndM4L },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 -1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
-1,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
docEndLeft,
|
|
docEndLeft },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 0 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
0,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 1 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
1,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 5 times by Line",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Line,
|
|
5,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move degenerate range at position 7 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
midEmptySpace,
|
|
midEmptySpace },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 -5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-5,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 -1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
-1,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
-1,
|
|
origin,
|
|
origin },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 0 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
0,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 1 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
1,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
GeneratedMovementTest{
|
|
L"Move non-degenerate range at position 7 5 times by Document",
|
|
GeneratedMovementTestInput{
|
|
TextUnit::TextUnit_Document,
|
|
5,
|
|
midEmptySpace,
|
|
midEmptySpaceP1C },
|
|
GeneratedMovementTestExpected{
|
|
0,
|
|
docEnd,
|
|
docEnd },
|
|
true },
|
|
};
|