terminal/tools/TestTableWriter/UiaTests.csv
Carlos Zamora d08afc4e88
[A11y] Treat last character as 'end of buffer' (#11122)
## Summary of the Pull Request
Updates our `UiaTextRange` to no longer treat the end of the buffer as the "document end". Instead, we consider the "document end" to be the line beneath the cursor or last legible character (whichever is further down). In the event where the last legible character is on the last line of the buffer, we use the "end exclusive" position (left-most point on a line one past the end of the buffer). 

When movement of any kind occurs, we clamp each endpoint to the document end. Since the document end is an actual spot in the buffer (most of the time), this should improve stability because we shouldn't be pointing out-of-bounds anymore.

The biggest benefit is that this significantly improves the performance of word navigation because screen readers no longer have to take into account the whitespace following the end of the prompt.

Word navigation tests were added to the `TestTableWriter` (see #10886). 24 of the 85 tests were failing, however, they don't seem to interact with the document end, so I've marked them as skip and will fix them in a follow-up. This PR is large enough as-is, so I'm hoping I can take time in the follow-up to clean some things on the side (aka `preventBoundary` and `allowBottomExclusive` being used interchangeably).

## References
#7000 - Epic
Closes #6986 
Closes #10925

## Validation Steps Performed
- [X] Tests pass
- [X] @codeofdusk has been personally testing this build (and others)
2021-09-16 20:44:29 +00:00

26 KiB

1DegeneratePositionTextUnitMoveAmountStartEndResult_MoveAmountResult_StartResult_EndSkip
2TRUE1TextUnit_Character-5originorigin0originoriginFALSE
3TRUE1TextUnit_Character-1originorigin0originoriginFALSE
4TRUE1TextUnit_Character0originorigin0originoriginFALSE
5TRUE1TextUnit_Character1originorigin1originP1CoriginP1CFALSE
6TRUE1TextUnit_Character5originorigin5originP5CoriginP5CFALSE
7FALSE1TextUnit_Character-5originoriginP1C0originoriginP1CFALSE
8FALSE1TextUnit_Character-1originoriginP1C0originoriginP1CFALSE
9FALSE1TextUnit_Character0originoriginP1C0originoriginP1CFALSE
10FALSE1TextUnit_Character1originoriginP1C1originP1CoriginP2CFALSE
11FALSE1TextUnit_Character5originoriginP1C5originP5CoriginP6CFALSE
12TRUE2TextUnit_Character-5midTopmidTop-5midTopM5CmidTopM5CFALSE
13TRUE2TextUnit_Character-1midTopmidTop-1midTopM1CmidTopM1CFALSE
14TRUE2TextUnit_Character0midTopmidTop0midTopmidTopFALSE
15TRUE2TextUnit_Character1midTopmidTop1midTopP1CmidTopP1CFALSE
16TRUE2TextUnit_Character5midTopmidTop5midTopP5CmidTopP5CFALSE
17FALSE2TextUnit_Character-5midTopmidTopP1C-5midTopM5CmidTopM4CFALSE
18FALSE2TextUnit_Character-1midTopmidTopP1C-1midTopM1CmidTopFALSE
19FALSE2TextUnit_Character0midTopmidTopP1C0midTopmidTopP1CFALSE
20FALSE2TextUnit_Character1midTopmidTopP1C1midTopP1CmidTopP2CFALSE
21FALSE2TextUnit_Character5midTopmidTopP1C5midTopP5CmidTopP6CFALSE
22TRUE3TextUnit_Character-5midHistorymidHistory-5midHistoryM5CmidHistoryM5CFALSE
23TRUE3TextUnit_Character-1midHistorymidHistory-1midHistoryM1CmidHistoryM1CFALSE
24TRUE3TextUnit_Character0midHistorymidHistory0midHistorymidHistoryFALSE
25TRUE3TextUnit_Character1midHistorymidHistory1midHistoryP1CmidHistoryP1CFALSE
26TRUE3TextUnit_Character5midHistorymidHistory5midHistoryP5CmidHistoryP5CFALSE
27FALSE3TextUnit_Character-5midHistorymidHistoryP1C-5midHistoryM5CmidHistoryM4CFALSE
28FALSE3TextUnit_Character-1midHistorymidHistoryP1C-1midHistoryM1CmidHistoryFALSE
29FALSE3TextUnit_Character0midHistorymidHistoryP1C0midHistorymidHistoryP1CFALSE
30FALSE3TextUnit_Character1midHistorymidHistoryP1C1midHistoryP1CmidHistoryP2CFALSE
31FALSE3TextUnit_Character5midHistorymidHistoryP1C5midHistoryP5CmidHistoryP6CFALSE
32TRUE1TextUnit_Line-5originorigin0originoriginFALSE
33TRUE1TextUnit_Line-1originorigin0originoriginFALSE
34TRUE1TextUnit_Line0originorigin0originoriginFALSE
35TRUE1TextUnit_Line1originorigin1originP1LoriginP1LFALSE
36TRUE1TextUnit_Line5originorigin5originP5LoriginP5LFALSE
37FALSE1TextUnit_Line-5originoriginP1C0originoriginP1LFALSE
38FALSE1TextUnit_Line-1originoriginP1C0originoriginP1LFALSE
39FALSE1TextUnit_Line0originoriginP1C0originoriginP1LFALSE
40FALSE1TextUnit_Line1originoriginP1C1originP1LoriginP2LFALSE
41FALSE1TextUnit_Line5originoriginP1C5originP5LoriginP6LFALSE
42TRUE2TextUnit_Line-5midTopmidTop-1originoriginFALSE
43TRUE2TextUnit_Line-1midTopmidTop-1originoriginFALSE
44TRUE2TextUnit_Line0midTopmidTop0midTopmidTopFALSE
45TRUE2TextUnit_Line1midTopmidTop1midTopP1LmidTopP1LFALSE
46TRUE2TextUnit_Line5midTopmidTop5midTopP5LmidTopP5LFALSE
47FALSE2TextUnit_Line-5midTopmidTopP1C0originoriginP1LFALSE
48FALSE2TextUnit_Line-1midTopmidTopP1C0originoriginP1LFALSE
49FALSE2TextUnit_Line0midTopmidTopP1C0originoriginP1LFALSE
50FALSE2TextUnit_Line1midTopmidTopP1C1originP1LoriginP2LFALSE
51FALSE2TextUnit_Line5midTopmidTopP1C5originP5LoriginP6LFALSE
52TRUE3TextUnit_Line-5midHistorymidHistory-5midHistoryM4LmidHistoryM4LFALSE
53TRUE3TextUnit_Line-1midHistorymidHistory-1midHistoryLeftmidHistoryLeftFALSE
54TRUE3TextUnit_Line0midHistorymidHistory0midHistorymidHistoryFALSE
55TRUE3TextUnit_Line1midHistorymidHistory1midHistoryP1LmidHistoryP1LFALSE
56TRUE3TextUnit_Line5midHistorymidHistory5midHistoryP5LmidHistoryP5LFALSE
57FALSE3TextUnit_Line-5midHistorymidHistoryP1C-5midHistoryM5LmidHistoryM4LFALSE
58FALSE3TextUnit_Line-1midHistorymidHistoryP1C-1midHistoryM1LmidHistoryLeftFALSE
59FALSE3TextUnit_Line0midHistorymidHistoryP1C0midHistoryLeftmidHistoryP1LFALSE
60FALSE3TextUnit_Line1midHistorymidHistoryP1C1midHistoryP1LmidHistoryP2LFALSE
61FALSE3TextUnit_Line5midHistorymidHistoryP1C5midHistoryP5LmidHistoryP6LFALSE
62TRUE1TextUnit_Document-5originorigin0originoriginFALSE
63TRUE1TextUnit_Document-1originorigin0originoriginFALSE
64TRUE1TextUnit_Document0originorigin0originoriginFALSE
65TRUE1TextUnit_Document1originorigin1docEnddocEndFALSE
66TRUE1TextUnit_Document5originorigin1docEnddocEndFALSE
67FALSE1TextUnit_Document-5originoriginP1C0origindocEndFALSE
68FALSE1TextUnit_Document-1originoriginP1C0origindocEndFALSE
69FALSE1TextUnit_Document0originoriginP1C0origindocEndFALSE
70FALSE1TextUnit_Document1originoriginP1C0origindocEndFALSE
71FALSE1TextUnit_Document5originoriginP1C0origindocEndFALSE
72TRUE2TextUnit_Document-5midTopmidTop-1originoriginFALSE
73TRUE2TextUnit_Document-1midTopmidTop-1originoriginFALSE
74TRUE2TextUnit_Document0midTopmidTop0midTopmidTopFALSE
75TRUE2TextUnit_Document1midTopmidTop1docEnddocEndFALSE
76TRUE2TextUnit_Document5midTopmidTop1docEnddocEndFALSE
77FALSE2TextUnit_Document-5midTopmidTopP1C0origindocEndFALSE
78FALSE2TextUnit_Document-1midTopmidTopP1C0origindocEndFALSE
79FALSE2TextUnit_Document0midTopmidTopP1C0origindocEndFALSE
80FALSE2TextUnit_Document1midTopmidTopP1C0origindocEndFALSE
81FALSE2TextUnit_Document5midTopmidTopP1C0origindocEndFALSE
82TRUE3TextUnit_Document-5midHistorymidHistory-1originoriginFALSE
83TRUE3TextUnit_Document-1midHistorymidHistory-1originoriginFALSE
84TRUE3TextUnit_Document0midHistorymidHistory0midHistorymidHistoryFALSE
85TRUE3TextUnit_Document1midHistorymidHistory1docEnddocEndFALSE
86TRUE3TextUnit_Document5midHistorymidHistory1docEnddocEndFALSE
87FALSE3TextUnit_Document-5midHistorymidHistoryP1C0origindocEndFALSE
88FALSE3TextUnit_Document-1midHistorymidHistoryP1C0origindocEndFALSE
89FALSE3TextUnit_Document0midHistorymidHistoryP1C0origindocEndFALSE
90FALSE3TextUnit_Document1midHistorymidHistoryP1C0origindocEndFALSE
91FALSE3TextUnit_Document5midHistorymidHistoryP1C0origindocEndFALSE
92TRUE8TextUnit_Character-5bufferEndbufferEnd-5docEndM5CdocEndM5CFALSE
93TRUE8TextUnit_Character-1bufferEndbufferEnd-1docEndM1CdocEndM1CFALSE
94TRUE8TextUnit_Character0bufferEndbufferEnd0docEnddocEndFALSE
95TRUE8TextUnit_Character1bufferEndbufferEnd0docEnddocEndFALSE
96TRUE8TextUnit_Character5bufferEndbufferEnd0docEnddocEndFALSE
97FALSE8TextUnit_Character-5bufferEndendExclusive-5docEndM5CdocEndM5CFALSE
98FALSE8TextUnit_Character-1bufferEndendExclusive-1docEndM1CdocEndM1CFALSE
99FALSE8TextUnit_Character0bufferEndendExclusive0docEnddocEndFALSE
100FALSE8TextUnit_Character1bufferEndendExclusive0docEnddocEndFALSE
101FALSE8TextUnit_Character5bufferEndendExclusive0docEnddocEndFALSE
102TRUE8TextUnit_Line-5bufferEndbufferEnd-5docEndM5LdocEndM5LFALSE
103TRUE8TextUnit_Line-1bufferEndbufferEnd-1docEndM1LdocEndM1LFALSE
104TRUE8TextUnit_Line0bufferEndbufferEnd0docEnddocEndFALSE
105TRUE8TextUnit_Line1bufferEndbufferEnd0docEnddocEndFALSE
106TRUE8TextUnit_Line5bufferEndbufferEnd0docEnddocEndFALSE
107FALSE8TextUnit_Line-5bufferEndendExclusive-5docEndM5LdocEndM5LFALSE
108FALSE8TextUnit_Line-1bufferEndendExclusive-1docEndM1LdocEndM1LFALSE
109FALSE8TextUnit_Line0bufferEndendExclusive0docEnddocEndFALSE
110FALSE8TextUnit_Line1bufferEndendExclusive0docEnddocEndFALSE
111FALSE8TextUnit_Line5bufferEndendExclusive0docEnddocEndFALSE
112TRUE8TextUnit_Document-5bufferEndbufferEnd-1originoriginFALSE
113TRUE8TextUnit_Document-1bufferEndbufferEnd-1originoriginFALSE
114TRUE8TextUnit_Document0bufferEndbufferEnd0docEnddocEndFALSE
115TRUE8TextUnit_Document1bufferEndbufferEnd0docEnddocEndFALSE
116TRUE8TextUnit_Document5bufferEndbufferEnd0docEnddocEndFALSE
117FALSE8TextUnit_Document-5bufferEndendExclusive-1originoriginFALSE
118FALSE8TextUnit_Document-1bufferEndendExclusive-1originoriginFALSE
119FALSE8TextUnit_Document0bufferEndendExclusive0docEnddocEndFALSE
120FALSE8TextUnit_Document1bufferEndendExclusive0docEnddocEndFALSE
121FALSE8TextUnit_Document5bufferEndendExclusive0docEnddocEndFALSE
122TRUE9TextUnit_Character-5endExclusiveendExclusive-5docEndM5CdocEndM5CFALSE
123TRUE9TextUnit_Character-1endExclusiveendExclusive-1docEndM1CdocEndM1CFALSE
124TRUE9TextUnit_Character0endExclusiveendExclusive0docEnddocEndFALSE
125TRUE9TextUnit_Character1endExclusiveendExclusive0docEnddocEndFALSE
126TRUE9TextUnit_Character5endExclusiveendExclusive0docEnddocEndFALSE
127TRUE9TextUnit_Line-5endExclusiveendExclusive-5docEndM5LdocEndM5LFALSE
128TRUE9TextUnit_Line-1endExclusiveendExclusive-1docEndM1LdocEndM1LFALSE
129TRUE9TextUnit_Line0endExclusiveendExclusive0docEnddocEndFALSE
130TRUE9TextUnit_Line1endExclusiveendExclusive0docEnddocEndFALSE
131TRUE9TextUnit_Line5endExclusiveendExclusive0docEnddocEndFALSE
132TRUE9TextUnit_Document-5endExclusiveendExclusive-1originoriginFALSE
133TRUE9TextUnit_Document-1endExclusiveendExclusive-1originoriginFALSE
134TRUE9TextUnit_Document0endExclusiveendExclusive0docEnddocEndFALSE
135TRUE9TextUnit_Document1endExclusiveendExclusive0docEnddocEndFALSE
136TRUE9TextUnit_Document5endExclusiveendExclusive0docEnddocEndFALSE
137TRUE4TextUnit_Character-5midDocEndmidDocEnd-5midDocEndM5CmidDocEndM5CFALSE
138TRUE4TextUnit_Character-1midDocEndmidDocEnd-1midDocEndM1CmidDocEndM1CFALSE
139TRUE4TextUnit_Character0midDocEndmidDocEnd0midDocEndmidDocEndFALSE
140TRUE4TextUnit_Character1midDocEndmidDocEnd1midDocEndP1CmidDocEndP1CFALSE
141TRUE4TextUnit_Character5midDocEndmidDocEnd5midDocEndP5CmidDocEndP5CFALSE
142FALSE4TextUnit_Character-5midDocEndmidDocEndP1C-5midDocEndM5CmidDocEndM4CFALSE
143FALSE4TextUnit_Character-1midDocEndmidDocEndP1C-1midDocEndM1CmidDocEndFALSE
144FALSE4TextUnit_Character0midDocEndmidDocEndP1C0midDocEndmidDocEndP1CFALSE
145FALSE4TextUnit_Character1midDocEndmidDocEndP1C1midDocEndP1CmidDocEndP2CFALSE
146FALSE4TextUnit_Character5midDocEndmidDocEndP1C5midDocEndP5CmidDocEndP6CFALSE
147TRUE4TextUnit_Line-5midDocEndmidDocEnd-5midDocEndM4LmidDocEndM4LFALSE
148TRUE4TextUnit_Line-1midDocEndmidDocEnd-1midDocEndLeftmidDocEndLeftFALSE
149TRUE4TextUnit_Line0midDocEndmidDocEnd0midDocEndmidDocEndFALSE
150TRUE4TextUnit_Line1midDocEndmidDocEnd1docEnddocEndFALSE
151TRUE4TextUnit_Line5midDocEndmidDocEnd1docEnddocEndFALSE
152FALSE4TextUnit_Line-5midDocEndmidDocEndP1C-5midDocEndM5LmidDocEndM4LFALSE
153FALSE4TextUnit_Line-1midDocEndmidDocEndP1C-1midDocEndM1LmidDocEndLeftFALSE
154FALSE4TextUnit_Line0midDocEndmidDocEndP1C0midDocEndLeftdocEndFALSE
155FALSE4TextUnit_Line1midDocEndmidDocEndP1C0midDocEndLeftdocEndFALSE
156FALSE4TextUnit_Line5midDocEndmidDocEndP1C0midDocEndLeftdocEndFALSE
157TRUE4TextUnit_Document-5midDocEndmidDocEnd-1originoriginFALSE
158TRUE4TextUnit_Document-1midDocEndmidDocEnd-1originoriginFALSE
159TRUE4TextUnit_Document0midDocEndmidDocEnd0midDocEndmidDocEndFALSE
160TRUE4TextUnit_Document1midDocEndmidDocEnd1docEnddocEndFALSE
161TRUE4TextUnit_Document5midDocEndmidDocEnd1docEnddocEndFALSE
162FALSE4TextUnit_Document-5midDocEndmidDocEndP1C0origindocEndFALSE
163FALSE4TextUnit_Document-1midDocEndmidDocEndP1C0origindocEndFALSE
164FALSE4TextUnit_Document0midDocEndmidDocEndP1C0origindocEndFALSE
165FALSE4TextUnit_Document1midDocEndmidDocEndP1C0origindocEndFALSE
166FALSE4TextUnit_Document5midDocEndmidDocEndP1C0origindocEndFALSE
167TRUE5TextUnit_Character-5lastCharPoslastCharPos-5lastCharPosM5ClastCharPosM5CFALSE
168TRUE5TextUnit_Character-1lastCharPoslastCharPos-1lastCharPosM1ClastCharPosM1CFALSE
169TRUE5TextUnit_Character0lastCharPoslastCharPos0lastCharPoslastCharPosFALSE
170TRUE5TextUnit_Character1lastCharPoslastCharPos1lastCharPosP1ClastCharPosP1CFALSE
171TRUE5TextUnit_Character5lastCharPoslastCharPos5lastCharPosP5ClastCharPosP5CFALSE
172FALSE5TextUnit_Character-5lastCharPoslastCharPosP1C-5lastCharPosM5ClastCharPosM4CFALSE
173FALSE5TextUnit_Character-1lastCharPoslastCharPosP1C-1lastCharPosM1ClastCharPosFALSE
174FALSE5TextUnit_Character0lastCharPoslastCharPosP1C0lastCharPoslastCharPosP1CFALSE
175FALSE5TextUnit_Character1lastCharPoslastCharPosP1C1lastCharPosP1ClastCharPosP2CFALSE
176FALSE5TextUnit_Character5lastCharPoslastCharPosP1C5lastCharPosP5ClastCharPosP6CFALSE
177TRUE5TextUnit_Line-5lastCharPoslastCharPos-5lastCharPosM4LlastCharPosM4LFALSE
178TRUE5TextUnit_Line-1lastCharPoslastCharPos-1lastCharPosLeftlastCharPosLeftFALSE
179TRUE5TextUnit_Line0lastCharPoslastCharPos0lastCharPoslastCharPosFALSE
180TRUE5TextUnit_Line1lastCharPoslastCharPos1docEnddocEndFALSE
181TRUE5TextUnit_Line5lastCharPoslastCharPos1docEnddocEndFALSE
182FALSE5TextUnit_Line-5lastCharPoslastCharPosP1C-5lastCharPosM5LlastCharPosM4LFALSE
183FALSE5TextUnit_Line-1lastCharPoslastCharPosP1C-1lastCharPosM1LlastCharPosLeftFALSE
184FALSE5TextUnit_Line0lastCharPoslastCharPosP1C0lastCharPosLeftdocEndFALSE
185FALSE5TextUnit_Line1lastCharPoslastCharPosP1C0lastCharPosLeftdocEndFALSE
186FALSE5TextUnit_Line5lastCharPoslastCharPosP1C0lastCharPosLeftdocEndFALSE
187TRUE5TextUnit_Document-5lastCharPoslastCharPos-1originoriginFALSE
188TRUE5TextUnit_Document-1lastCharPoslastCharPos-1originoriginFALSE
189TRUE5TextUnit_Document0lastCharPoslastCharPos0lastCharPoslastCharPosFALSE
190TRUE5TextUnit_Document1lastCharPoslastCharPos1docEnddocEndFALSE
191TRUE5TextUnit_Document5lastCharPoslastCharPos1docEnddocEndFALSE
192FALSE5TextUnit_Document-5lastCharPoslastCharPosP1C0origindocEndFALSE
193FALSE5TextUnit_Document-1lastCharPoslastCharPosP1C0origindocEndFALSE
194FALSE5TextUnit_Document0lastCharPoslastCharPosP1C0origindocEndFALSE
195FALSE5TextUnit_Document1lastCharPoslastCharPosP1C0origindocEndFALSE
196FALSE5TextUnit_Document5lastCharPoslastCharPosP1C0origindocEndFALSE
197TRUE6TextUnit_Character-5docEnddocEnd-5docEndM5CdocEndM5CFALSE
198TRUE6TextUnit_Character-1docEnddocEnd-1docEndM1CdocEndM1CFALSE
199TRUE6TextUnit_Character0docEnddocEnd0docEnddocEndFALSE
200TRUE6TextUnit_Character1docEnddocEnd0docEnddocEndFALSE
201TRUE6TextUnit_Character5docEnddocEnd0docEnddocEndFALSE
202FALSE6TextUnit_Character-5docEnddocEndP1C-5docEndM5CdocEndM5CFALSE
203FALSE6TextUnit_Character-1docEnddocEndP1C-1docEndM1CdocEndM1CFALSE
204FALSE6TextUnit_Character0docEnddocEndP1C0docEnddocEndFALSE
205FALSE6TextUnit_Character1docEnddocEndP1C0docEnddocEndFALSE
206FALSE6TextUnit_Character5docEnddocEndP1C0docEnddocEndFALSE
207TRUE6TextUnit_Line-5docEnddocEnd-5docEndM5LdocEndM5LFALSE
208TRUE6TextUnit_Line-1docEnddocEnd-1docEndM1LdocEndM1LFALSE
209TRUE6TextUnit_Line0docEnddocEnd0docEnddocEndFALSE
210TRUE6TextUnit_Line1docEnddocEnd0docEnddocEndFALSE
211TRUE6TextUnit_Line5docEnddocEnd0docEnddocEndFALSE
212FALSE6TextUnit_Line-5docEnddocEndP1C-5docEndM5LdocEndM5LFALSE
213FALSE6TextUnit_Line-1docEnddocEndP1C-1docEndM1LdocEndM1LFALSE
214FALSE6TextUnit_Line0docEnddocEndP1C0docEnddocEndFALSE
215FALSE6TextUnit_Line1docEnddocEndP1C0docEnddocEndFALSE
216FALSE6TextUnit_Line5docEnddocEndP1C0docEnddocEndFALSE
217TRUE6TextUnit_Document-5docEnddocEnd-1originoriginFALSE
218TRUE6TextUnit_Document-1docEnddocEnd-1originoriginFALSE
219TRUE6TextUnit_Document0docEnddocEnd0docEnddocEndFALSE
220TRUE6TextUnit_Document1docEnddocEnd0docEnddocEndFALSE
221TRUE6TextUnit_Document5docEnddocEnd0docEnddocEndFALSE
222FALSE6TextUnit_Document-5docEnddocEndP1C-1originoriginFALSE
223FALSE6TextUnit_Document-1docEnddocEndP1C-1originoriginFALSE
224FALSE6TextUnit_Document0docEnddocEndP1C0docEnddocEndFALSE
225FALSE6TextUnit_Document1docEnddocEndP1C0docEnddocEndFALSE
226FALSE6TextUnit_Document5docEnddocEndP1C0docEnddocEndFALSE
227TRUE7TextUnit_Character-5midEmptySpacemidEmptySpace-5docEndM5CdocEndM5CFALSE
228TRUE7TextUnit_Character-1midEmptySpacemidEmptySpace-1docEndM1CdocEndM1CFALSE
229TRUE7TextUnit_Character0midEmptySpacemidEmptySpace0docEnddocEndFALSE
230TRUE7TextUnit_Character1midEmptySpacemidEmptySpace0docEnddocEndFALSE
231TRUE7TextUnit_Character5midEmptySpacemidEmptySpace0docEnddocEndFALSE
232FALSE7TextUnit_Character-5midEmptySpacemidEmptySpaceP1C-5docEndM5CdocEndM5CFALSE
233FALSE7TextUnit_Character-1midEmptySpacemidEmptySpaceP1C-1docEndM1CdocEndM1CFALSE
234FALSE7TextUnit_Character0midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
235FALSE7TextUnit_Character1midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
236FALSE7TextUnit_Character5midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
237TRUE7TextUnit_Line-5midEmptySpacemidEmptySpace-5docEndM5LdocEndM5LFALSE
238TRUE7TextUnit_Line-1midEmptySpacemidEmptySpace-1docEndM1LdocEndM1LFALSE
239TRUE7TextUnit_Line0midEmptySpacemidEmptySpace0docEnddocEndFALSE
240TRUE7TextUnit_Line1midEmptySpacemidEmptySpace0docEnddocEndFALSE
241TRUE7TextUnit_Line5midEmptySpacemidEmptySpace0docEnddocEndFALSE
242FALSE7TextUnit_Line-5midEmptySpacemidEmptySpaceP1C-5docEndM5LdocEndM5LFALSE
243FALSE7TextUnit_Line-1midEmptySpacemidEmptySpaceP1C-1docEndM1LdocEndM1LFALSE
244FALSE7TextUnit_Line0midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
245FALSE7TextUnit_Line1midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
246FALSE7TextUnit_Line5midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
247TRUE7TextUnit_Document-5midEmptySpacemidEmptySpace-1originoriginFALSE
248TRUE7TextUnit_Document-1midEmptySpacemidEmptySpace-1originoriginFALSE
249TRUE7TextUnit_Document0midEmptySpacemidEmptySpace0docEnddocEndFALSE
250TRUE7TextUnit_Document1midEmptySpacemidEmptySpace0docEnddocEndFALSE
251TRUE7TextUnit_Document5midEmptySpacemidEmptySpace0docEnddocEndFALSE
252FALSE7TextUnit_Document-5midEmptySpacemidEmptySpaceP1C-1originoriginFALSE
253FALSE7TextUnit_Document-1midEmptySpacemidEmptySpaceP1C-1originoriginFALSE
254FALSE7TextUnit_Document0midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
255FALSE7TextUnit_Document1midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
256FALSE7TextUnit_Document5midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
257TRUE1TextUnit_Word-5originorigin0originoriginFALSE
258TRUE1TextUnit_Word-1originorigin0originoriginFALSE
259TRUE1TextUnit_Word0originorigin0originoriginFALSE
260TRUE1TextUnit_Word1originorigin1segment1LmidTopsegment1LmidTopFALSE
261TRUE1TextUnit_Word5originorigin5segment0LmidTopP1Lsegment0LmidTopP1LFALSE
262FALSE1TextUnit_Word-5originoriginP1C0originsegment1LmidTopFALSE
263FALSE1TextUnit_Word-1originoriginP1C0originsegment1LmidTopFALSE
264FALSE1TextUnit_Word0originoriginP1C0originsegment1LmidTopFALSE
265FALSE1TextUnit_Word1originoriginP1C1segment1LmidTopsegment2LmidTopFALSE
266FALSE1TextUnit_Word5originoriginP1C5segment0LmidTopP1Lsegment1LmidTopP1LFALSE
267TRUE2TextUnit_Word-5midTopmidTop-3originoriginTRUE
268TRUE2TextUnit_Word-1midTopmidTop-1segment2LmidTopsegment2LmidTopTRUE
269TRUE2TextUnit_Word0midTopmidTop0midTopmidTopFALSE
270TRUE2TextUnit_Word1midTopmidTop1segment3LmidTopsegment3LmidTopFALSE
271TRUE2TextUnit_Word5midTopmidTop5segment2LmidTopP1Lsegment2LmidTopP1LFALSE
272FALSE2TextUnit_Word-5midTopmidTopP1C-2originsegment1LmidTopFALSE
273FALSE2TextUnit_Word-1midTopmidTopP1C-1segment1LmidTopsegment2LmidTopFALSE
274FALSE2TextUnit_Word0midTopmidTopP1C0segment2LmidTopsegment3LmidTopFALSE
275FALSE2TextUnit_Word1midTopmidTopP1C1segment3LmidTopsegment4LmidTopFALSE
276FALSE2TextUnit_Word5midTopmidTopP1C5segment2LmidTopP1Lsegment3LmidTopP1LFALSE
277TRUE3TextUnit_Word-5midHistorymidHistory-5segment3LmidHistoryM1Lsegment3LmidHistoryM1LTRUE
278TRUE3TextUnit_Word-1midHistorymidHistory-1segment2LmidHistorysegment2LmidHistoryTRUE
279TRUE3TextUnit_Word0midHistorymidHistory0midHistorymidHistoryFALSE
280TRUE3TextUnit_Word1midHistorymidHistory1segment3LmidHistorysegment3LmidHistoryFALSE
281TRUE3TextUnit_Word5midHistorymidHistory5segment2LmidHistoryP1Lsegment2LmidHistoryP1LFALSE
282FALSE3TextUnit_Word-5midHistorymidHistoryP1C-5segment3LmidHistoryM1Lsegment4LmidHistoryM1LTRUE
283FALSE3TextUnit_Word-1midHistorymidHistoryP1C-1segment1LmidHistorysegment2LmidHistoryFALSE
284FALSE3TextUnit_Word0midHistorymidHistoryP1C0segment2LmidHistorysegment3LmidHistoryFALSE
285FALSE3TextUnit_Word1midHistorymidHistoryP1C1segment3LmidHistorysegment4LmidHistoryFALSE
286FALSE3TextUnit_Word5midHistorymidHistoryP1C5segment2LmidHistoryP1Lsegment3LmidHistoryP1LFALSE
287TRUE4TextUnit_Word-5midDocEndmidDocEnd-5segment3LmidDocEndM1Lsegment3LmidDocEndM1LTRUE
288TRUE4TextUnit_Word-1midDocEndmidDocEnd-1segment2LmidDocEndsegment2LmidDocEndTRUE
289TRUE4TextUnit_Word0midDocEndmidDocEnd0midDocEndmidDocEndFALSE
290TRUE4TextUnit_Word1midDocEndmidDocEnd1segment3LmidDocEndsegment3LmidDocEndFALSE
291TRUE4TextUnit_Word5midDocEndmidDocEnd3docEnddocEndFALSE
292FALSE4TextUnit_Word-5midDocEndmidDocEndP1C-5segment3LmidDocEndM1Lsegment4LmidDocEndM1LTRUE
293FALSE4TextUnit_Word-1midDocEndmidDocEndP1C-1segment1LmidDocEndsegment2LmidDocEndFALSE
294FALSE4TextUnit_Word0midDocEndmidDocEndP1C0segment2LmidDocEndsegment3LmidDocEndFALSE
295FALSE4TextUnit_Word1midDocEndmidDocEndP1C1segment3LmidDocEndsegment4LmidDocEndFALSE
296FALSE4TextUnit_Word5midDocEndmidDocEndP1C2segment4LmidDocEnddocEndFALSE
297TRUE5TextUnit_Word-5lastCharPoslastCharPos-5lastCharPosLeftlastCharPosLeftTRUE
298TRUE5TextUnit_Word-1lastCharPoslastCharPos-1segment4LmidDocEndsegment4LmidDocEndTRUE
299TRUE5TextUnit_Word0lastCharPoslastCharPos0lastCharPoslastCharPosFALSE
300TRUE5TextUnit_Word1lastCharPoslastCharPos1docEnddocEndFALSE
301TRUE5TextUnit_Word5lastCharPoslastCharPos1docEnddocEndFALSE
302FALSE5TextUnit_Word-5lastCharPoslastCharPosP1C-5segment4LlastCharPosM1LlastCharPosLeftFALSE
303FALSE5TextUnit_Word-1lastCharPoslastCharPosP1C-1segment3LmidDocEndsegment4LmidDocEndFALSE
304FALSE5TextUnit_Word0lastCharPoslastCharPosP1C0segment4LmidDocEnddocEndFALSE
305FALSE5TextUnit_Word1lastCharPoslastCharPosP1C0segment4LmidDocEnddocEndFALSE
306FALSE5TextUnit_Word5lastCharPoslastCharPosP1C0segment4LmidDocEnddocEndFALSE
307TRUE6TextUnit_Word-5docEnddocEnd-5midDocEndLeftmidDocEndLeftTRUE
308TRUE6TextUnit_Word-1docEnddocEnd-1segment4LmidDocEndsegment4LmidDocEndTRUE
309TRUE6TextUnit_Word0docEnddocEnd0docEnddocEndFALSE
310TRUE6TextUnit_Word1docEnddocEnd0docEnddocEndFALSE
311TRUE6TextUnit_Word5docEnddocEnd0docEnddocEndFALSE
312FALSE6TextUnit_Word-5docEnddocEndP1C-5midDocEndLeftmidDocEndLeftTRUE
313FALSE6TextUnit_Word-1docEnddocEndP1C-1segment4LmidDocEndsegment4LmidDocEndTRUE
314FALSE6TextUnit_Word0docEnddocEndP1C0docEnddocEndFALSE
315FALSE6TextUnit_Word1docEnddocEndP1C0docEnddocEndFALSE
316FALSE6TextUnit_Word5docEnddocEndP1C0docEnddocEndFALSE
317TRUE7TextUnit_Word-5midEmptySpacemidEmptySpace-5midDocEndLeftmidDocEndLeftTRUE
318TRUE7TextUnit_Word-1midEmptySpacemidEmptySpace-1segment4LmidDocEndsegment4LmidDocEndTRUE
319TRUE7TextUnit_Word0midEmptySpacemidEmptySpace0docEnddocEndFALSE
320TRUE7TextUnit_Word1midEmptySpacemidEmptySpace0docEnddocEndFALSE
321TRUE7TextUnit_Word5midEmptySpacemidEmptySpace0docEnddocEndFALSE
322FALSE7TextUnit_Word-5midEmptySpacemidEmptySpaceP1C-5midDocEndLeftmidDocEndLeftTRUE
323FALSE7TextUnit_Word-1midEmptySpacemidEmptySpaceP1C-1segment4LmidDocEndsegment4LmidDocEndTRUE
324FALSE7TextUnit_Word0midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
325FALSE7TextUnit_Word1midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
326FALSE7TextUnit_Word5midEmptySpacemidEmptySpaceP1C0docEnddocEndFALSE
327TRUE8TextUnit_Word-5bufferEndbufferEnd-5midDocEndLeftmidDocEndLeftTRUE
328TRUE8TextUnit_Word-1bufferEndbufferEnd-1segment4LmidDocEndsegment4LmidDocEndTRUE
329TRUE8TextUnit_Word0bufferEndbufferEnd0docEnddocEndFALSE
330TRUE8TextUnit_Word1bufferEndbufferEnd0docEnddocEndFALSE
331TRUE8TextUnit_Word5bufferEndbufferEnd0docEnddocEndFALSE
332FALSE8TextUnit_Word-5bufferEndendExclusive-5midDocEndLeftmidDocEndLeftTRUE
333FALSE8TextUnit_Word-1bufferEndendExclusive-1segment4LmidDocEndsegment4LmidDocEndTRUE
334FALSE8TextUnit_Word0bufferEndendExclusive0docEnddocEndFALSE
335FALSE8TextUnit_Word1bufferEndendExclusive0docEnddocEndFALSE
336FALSE8TextUnit_Word5bufferEndendExclusive0docEnddocEndFALSE
337TRUE9TextUnit_Word-5endExclusiveendExclusive-5midDocEndLeftmidDocEndLeftTRUE
338TRUE9TextUnit_Word-1endExclusiveendExclusive-1segment4LmidDocEndsegment4LmidDocEndTRUE
339TRUE9TextUnit_Word0endExclusiveendExclusive0docEnddocEndFALSE
340TRUE9TextUnit_Word1endExclusiveendExclusive0docEnddocEndFALSE
341TRUE9TextUnit_Word5endExclusiveendExclusive0docEnddocEndFALSE