• Home
  • Raw
  • Download

Lines Matching full:engine

58   CFDE_TextEditEngine* engine() const { return engine_.get(); }  in engine()  function in pdfium::CFDETextEditEngineTest
66 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
68 engine()->Insert(0, L""); in TEST_F()
69 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
70 EXPECT_EQ(0U, engine()->GetLength()); in TEST_F()
72 engine()->Insert(0, L"Hello"); in TEST_F()
73 EXPECT_EQ(L"Hello", engine()->GetText()); in TEST_F()
74 EXPECT_EQ(5U, engine()->GetLength()); in TEST_F()
76 engine()->Insert(5, L" World"); in TEST_F()
77 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
78 EXPECT_EQ(11U, engine()->GetLength()); in TEST_F()
80 engine()->Insert(5, L" New"); in TEST_F()
81 EXPECT_EQ(L"Hello New World", engine()->GetText()); in TEST_F()
83 engine()->Insert(100, L" Cat"); in TEST_F()
84 EXPECT_EQ(L"Hello New World Cat", engine()->GetText()); in TEST_F()
86 engine()->Clear(); in TEST_F()
88 engine()->SetHasCharacterLimit(true); in TEST_F()
89 engine()->SetCharacterLimit(5); in TEST_F()
90 engine()->Insert(0, L"Hello"); in TEST_F()
93 engine()->Insert(5, L" World"); in TEST_F()
94 EXPECT_EQ(L"Hello", engine()->GetText()); in TEST_F()
96 engine()->SetCharacterLimit(8); in TEST_F()
97 engine()->Insert(5, L" World"); in TEST_F()
98 EXPECT_EQ(L"Hello Wo", engine()->GetText()); in TEST_F()
100 engine()->Clear(); in TEST_F()
104 engine()->SetDelegate(delegate.get()); in TEST_F()
106 engine()->SetCharacterLimit(5); in TEST_F()
107 engine()->Insert(0, L"Hello"); in TEST_F()
110 engine()->Insert(5, L" World"); in TEST_F()
112 EXPECT_EQ(L"Hello", engine()->GetText()); in TEST_F()
115 engine()->SetCharacterLimit(8); in TEST_F()
116 engine()->Insert(5, L" World"); in TEST_F()
118 EXPECT_EQ(L"Hello Wo", engine()->GetText()); in TEST_F()
120 engine()->SetHasCharacterLimit(false); in TEST_F()
122 engine()->Clear(); in TEST_F()
123 engine()->Insert(0, L"Hello"); in TEST_F()
127 engine()->EnableValidation(true); in TEST_F()
128 engine()->Insert(5, L" World"); in TEST_F()
129 EXPECT_EQ(L"Hello", engine()->GetText()); in TEST_F()
132 engine()->Insert(5, L" World"); in TEST_F()
133 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
134 engine()->EnableValidation(false); in TEST_F()
136 engine()->Clear(); in TEST_F()
138 engine()->Insert(0, L"Hello\nWorld"); in TEST_F()
140 EXPECT_EQ(L"Hello\nWorld", engine()->GetText()); in TEST_F()
142 engine()->Clear(); in TEST_F()
145 engine()->LimitHorizontalScroll(true); in TEST_F()
146 engine()->SetAvailableWidth(52.0f); // Fits 'Hello Wo'. in TEST_F()
147 engine()->Insert(0, L"Hello"); in TEST_F()
149 engine()->Insert(5, L" World"); in TEST_F()
151 EXPECT_EQ(L"Hello Wo", engine()->GetText()); in TEST_F()
152 engine()->LimitHorizontalScroll(false); in TEST_F()
155 engine()->Clear(); in TEST_F()
157 engine()->SetLineSpace(12.0f); in TEST_F()
158 engine()->LimitVerticalScroll(true); in TEST_F()
160 engine()->Insert(0, L"Hello"); in TEST_F()
162 engine()->Insert(5, L" Wo\nrld"); in TEST_F()
164 EXPECT_EQ(L"Hello Wo\n", engine()->GetText()); in TEST_F()
165 engine()->LimitVerticalScroll(false); in TEST_F()
167 engine()->SetDelegate(nullptr); in TEST_F()
171 engine()->SetHasCharacterLimit(true); in TEST_F()
172 engine()->Insert(0, L"Hello World"); in TEST_F()
173 engine()->SetCharacterLimit(5); in TEST_F()
174 engine()->Insert(0, L"Not Inserted before "); in TEST_F()
175 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
177 engine()->SetHasCharacterLimit(false); in TEST_F()
178 engine()->Insert(0, L"Inserted before "); in TEST_F()
179 engine()->SetHasCharacterLimit(true); in TEST_F()
180 engine()->Insert(0, L"Not Inserted before "); in TEST_F()
181 EXPECT_EQ(L"Inserted before Hello World", engine()->GetText()); in TEST_F()
185 engine()->SetHasCharacterLimit(true); in TEST_F()
186 engine()->SetCharacterLimit(8); in TEST_F()
187 engine()->Insert(0, L"Hello"); in TEST_F()
188 engine()->Insert(5, L" World", in TEST_F()
190 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
192 engine()->Insert(0, L"Not inserted"); in TEST_F()
193 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
195 engine()->Delete(5, 1); in TEST_F()
196 EXPECT_EQ(L"HelloWorld", engine()->GetText()); in TEST_F()
198 engine()->Insert(0, L"****"); in TEST_F()
199 EXPECT_EQ(L"*HelloWorld", engine()->GetText()); in TEST_F()
203 engine()->Insert(0, L"||"); in TEST_F()
205 engine()->Insert(i, L"a"); in TEST_F()
207 WideString result = engine()->GetText(); in TEST_F()
218 EXPECT_EQ(L"", engine()->Delete(0, 50)); in TEST_F()
219 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
221 engine()->Insert(0, L"Hello World"); in TEST_F()
222 EXPECT_EQ(L" World", engine()->Delete(5, 6)); in TEST_F()
223 EXPECT_EQ(L"Hello", engine()->GetText()); in TEST_F()
225 engine()->Clear(); in TEST_F()
226 engine()->Insert(0, L"Hello World"); in TEST_F()
227 EXPECT_EQ(L" ", engine()->Delete(5, 1)); in TEST_F()
228 EXPECT_EQ(L"HelloWorld", engine()->GetText()); in TEST_F()
230 EXPECT_EQ(L"elloWorld", engine()->Delete(1, 50)); in TEST_F()
231 EXPECT_EQ(L"H", engine()->GetText()); in TEST_F()
235 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
237 engine()->Clear(); in TEST_F()
238 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
240 engine()->Insert(0, L"Hello World"); in TEST_F()
241 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
243 engine()->Clear(); in TEST_F()
244 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
245 EXPECT_EQ(0U, engine()->GetLength()); in TEST_F()
250 EXPECT_EQ(L'\0', engine()->GetChar(0)); in TEST_F()
252 engine()->Insert(0, L"Hello World"); in TEST_F()
253 EXPECT_EQ(L'H', engine()->GetChar(0)); in TEST_F()
254 EXPECT_EQ(L'd', engine()->GetChar(engine()->GetLength() - 1)); in TEST_F()
255 EXPECT_EQ(L' ', engine()->GetChar(5)); in TEST_F()
257 engine()->Insert(5, L" A"); in TEST_F()
258 EXPECT_EQ(L"Hello A World", engine()->GetText()); in TEST_F()
259 EXPECT_EQ(L'W', engine()->GetChar(8)); in TEST_F()
261 engine()->EnablePasswordMode(true); in TEST_F()
262 EXPECT_EQ(L'*', engine()->GetChar(8)); in TEST_F()
264 engine()->SetAliasChar(L'+'); in TEST_F()
265 EXPECT_EQ(L'+', engine()->GetChar(8)); in TEST_F()
270 EXPECT_EQ(0, engine()->GetWidthOfChar(0)); in TEST_F()
272 engine()->Insert(0, L"Hello World"); in TEST_F()
273 EXPECT_EQ(173280, engine()->GetWidthOfChar(0)); in TEST_F()
274 EXPECT_EQ(133440, engine()->GetWidthOfChar(1)); in TEST_F()
276 engine()->Insert(0, L"\t"); in TEST_F()
277 EXPECT_EQ(0, engine()->GetWidthOfChar(0)); in TEST_F()
281 EXPECT_EQ(0U, engine()->GetDisplayPos(FDE_TEXTEDITPIECE()).size()); in TEST_F()
285 EXPECT_FALSE(engine()->HasSelection()); in TEST_F()
286 engine()->SelectAll(); in TEST_F()
287 EXPECT_FALSE(engine()->HasSelection()); in TEST_F()
289 engine()->Insert(0, L"Hello World"); in TEST_F()
290 EXPECT_EQ(L"", engine()->DeleteSelectedText()); in TEST_F()
292 EXPECT_FALSE(engine()->HasSelection()); in TEST_F()
293 engine()->SelectAll(); in TEST_F()
294 EXPECT_TRUE(engine()->HasSelection()); in TEST_F()
295 EXPECT_EQ(L"Hello World", engine()->GetSelectedText()); in TEST_F()
297 engine()->ClearSelection(); in TEST_F()
298 EXPECT_FALSE(engine()->HasSelection()); in TEST_F()
299 EXPECT_EQ(L"", engine()->GetSelectedText()); in TEST_F()
301 engine()->SelectAll(); in TEST_F()
302 auto [start_idx, count] = engine()->GetSelection(); in TEST_F()
307 EXPECT_EQ(L"Hello World", engine()->GetSelectedText()); in TEST_F()
308 EXPECT_TRUE(engine()->HasSelection()); in TEST_F()
309 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
311 engine()->Insert(5, L" A"); in TEST_F()
312 EXPECT_FALSE(engine()->HasSelection()); in TEST_F()
313 EXPECT_EQ(L"", engine()->GetSelectedText()); in TEST_F()
316 engine()->SelectAll(); in TEST_F()
317 EXPECT_TRUE(engine()->HasSelection()); in TEST_F()
318 EXPECT_EQ(L"Hello A World", engine()->GetSelectedText()); in TEST_F()
319 engine()->Clear(); in TEST_F()
321 engine()->Insert(0, L"Hello World"); in TEST_F()
322 engine()->SelectAll(); in TEST_F()
324 EXPECT_EQ(L"Hello World", engine()->DeleteSelectedText()); in TEST_F()
325 EXPECT_FALSE(engine()->HasSelection()); in TEST_F()
326 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
328 engine()->Insert(0, L"Hello World"); in TEST_F()
329 engine()->SetSelection(5, 5); in TEST_F()
330 EXPECT_EQ(L" Worl", engine()->DeleteSelectedText()); in TEST_F()
331 EXPECT_FALSE(engine()->HasSelection()); in TEST_F()
332 EXPECT_EQ(L"Hellod", engine()->GetText()); in TEST_F()
334 engine()->Clear(); in TEST_F()
335 engine()->Insert(0, L"Hello World"); in TEST_F()
336 engine()->SelectAll(); in TEST_F()
337 engine()->ReplaceSelectedText(L"Goodbye Everybody"); in TEST_F()
338 EXPECT_FALSE(engine()->HasSelection()); in TEST_F()
339 EXPECT_EQ(L"Goodbye Everybody", engine()->GetText()); in TEST_F()
341 engine()->Clear(); in TEST_F()
342 engine()->Insert(0, L"Hello World"); in TEST_F()
343 engine()->SetSelection(1, 4); in TEST_F()
344 engine()->ReplaceSelectedText(L"i,"); in TEST_F()
345 EXPECT_FALSE(engine()->HasSelection()); in TEST_F()
346 EXPECT_EQ(L"Hi, World", engine()->GetText()); in TEST_F()
349 engine()->Clear(); in TEST_F()
350 engine()->Insert(0, L"Hello"); in TEST_F()
351 engine()->Insert(0, L"A "); in TEST_F()
352 engine()->SetSelection(3, 6); in TEST_F()
353 EXPECT_EQ(L"ello", engine()->GetSelectedText()); in TEST_F()
355 engine()->Clear(); in TEST_F()
356 engine()->Insert(0, L"Hello World"); in TEST_F()
357 engine()->ClearSelection(); in TEST_F()
358 engine()->DeleteSelectedText(); in TEST_F()
359 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
363 EXPECT_FALSE(engine()->CanUndo()); in TEST_F()
364 EXPECT_FALSE(engine()->CanRedo()); in TEST_F()
365 EXPECT_FALSE(engine()->Undo()); in TEST_F()
366 EXPECT_FALSE(engine()->Redo()); in TEST_F()
368 engine()->Insert(0, L"Hello"); in TEST_F()
369 EXPECT_TRUE(engine()->CanUndo()); in TEST_F()
370 EXPECT_FALSE(engine()->CanRedo()); in TEST_F()
371 EXPECT_TRUE(engine()->Undo()); in TEST_F()
372 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
373 EXPECT_FALSE(engine()->CanUndo()); in TEST_F()
374 EXPECT_TRUE(engine()->CanRedo()); in TEST_F()
375 EXPECT_TRUE(engine()->Redo()); in TEST_F()
376 EXPECT_EQ(L"Hello", engine()->GetText()); in TEST_F()
377 EXPECT_TRUE(engine()->CanUndo()); in TEST_F()
378 EXPECT_FALSE(engine()->CanRedo()); in TEST_F()
380 engine()->Clear(); in TEST_F()
381 EXPECT_FALSE(engine()->CanUndo()); in TEST_F()
382 EXPECT_FALSE(engine()->CanRedo()); in TEST_F()
384 engine()->Insert(0, L"Hello World"); in TEST_F()
385 engine()->SelectAll(); in TEST_F()
386 engine()->DeleteSelectedText(); in TEST_F()
387 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
388 EXPECT_TRUE(engine()->CanUndo()); in TEST_F()
389 EXPECT_TRUE(engine()->Undo()); in TEST_F()
390 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
391 EXPECT_TRUE(engine()->CanRedo()); in TEST_F()
392 EXPECT_TRUE(engine()->Redo()); in TEST_F()
393 EXPECT_EQ(L"", engine()->GetText()); in TEST_F()
394 EXPECT_TRUE(engine()->CanUndo()); in TEST_F()
395 EXPECT_FALSE(engine()->CanRedo()); in TEST_F()
397 engine()->Insert(0, L"Hello World"); in TEST_F()
398 engine()->SelectAll(); in TEST_F()
399 engine()->ReplaceSelectedText(L"Goodbye Friend"); in TEST_F()
400 EXPECT_EQ(L"Goodbye Friend", engine()->GetText()); in TEST_F()
401 EXPECT_TRUE(engine()->CanUndo()); in TEST_F()
402 EXPECT_TRUE(engine()->Undo()); in TEST_F()
403 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
404 EXPECT_TRUE(engine()->CanRedo()); in TEST_F()
405 EXPECT_TRUE(engine()->Redo()); in TEST_F()
406 EXPECT_EQ(L"Goodbye Friend", engine()->GetText()); in TEST_F()
408 engine()->Clear(); in TEST_F()
409 engine()->SetMaxEditOperationsForTesting(3); in TEST_F()
410 engine()->Insert(0, L"First "); in TEST_F()
411 engine()->Insert(engine()->GetLength(), L"Second "); in TEST_F()
412 engine()->Insert(engine()->GetLength(), L"Third"); in TEST_F()
414 EXPECT_TRUE(engine()->CanUndo()); in TEST_F()
415 EXPECT_TRUE(engine()->Undo()); in TEST_F()
416 EXPECT_EQ(L"First Second ", engine()->GetText()); in TEST_F()
417 EXPECT_TRUE(engine()->CanUndo()); in TEST_F()
418 EXPECT_TRUE(engine()->Undo()); in TEST_F()
420 engine()->CanUndo()); // Can't undo First; undo buffer too small. in TEST_F()
421 EXPECT_EQ(L"First ", engine()->GetText()); in TEST_F()
423 EXPECT_TRUE(engine()->CanRedo()); in TEST_F()
424 EXPECT_TRUE(engine()->Redo()); in TEST_F()
425 EXPECT_TRUE(engine()->CanRedo()); in TEST_F()
426 EXPECT_TRUE(engine()->Redo()); in TEST_F()
427 EXPECT_FALSE(engine()->CanRedo()); in TEST_F()
428 EXPECT_EQ(L"First Second Third", engine()->GetText()); in TEST_F()
430 engine()->Clear(); in TEST_F()
432 engine()->SetMaxEditOperationsForTesting(4); in TEST_F()
435 engine()->Insert(0, L"H"); in TEST_F()
436 engine()->Insert(1, L"e"); in TEST_F()
437 engine()->Insert(2, L"l"); in TEST_F()
438 engine()->Insert(3, L"l"); in TEST_F()
439 engine()->Insert(4, L"o"); in TEST_F()
440 engine()->Insert(5, L" World"); in TEST_F()
441 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
444 engine()->Delete(4, 3); in TEST_F()
445 EXPECT_EQ(L"Hellorld", engine()->GetText()); in TEST_F()
446 EXPECT_TRUE(engine()->Undo()); in TEST_F()
447 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
448 engine()->Delete(5, 6); in TEST_F()
449 EXPECT_EQ(L"Hello", engine()->GetText()); in TEST_F()
450 EXPECT_TRUE(engine()->Undo()); in TEST_F()
451 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
452 EXPECT_TRUE(engine()->Redo()); in TEST_F()
453 EXPECT_EQ(L"Hello", engine()->GetText()); in TEST_F()
456 EXPECT_TRUE(engine()->Undo()); in TEST_F()
457 EXPECT_EQ(L"Hello World", engine()->GetText()); in TEST_F()
458 EXPECT_TRUE(engine()->Undo()); in TEST_F()
459 EXPECT_EQ(L"Hello", engine()->GetText()); in TEST_F()
460 EXPECT_TRUE(engine()->Undo()); in TEST_F()
461 EXPECT_EQ(L"Hell", engine()->GetText()); in TEST_F()
462 EXPECT_FALSE(engine()->Undo()); in TEST_F()
463 EXPECT_EQ(L"Hell", engine()->GetText()); in TEST_F()
467 engine()->SetFontSize(10.0f); in TEST_F()
468 engine()->Insert(0, L"Hello World"); in TEST_F()
469 EXPECT_EQ(0U, engine()->GetIndexForPoint({0.0f, 0.0f})); in TEST_F()
470 EXPECT_EQ(11U, engine()->GetIndexForPoint({999999.0f, 9999999.0f})); in TEST_F()
471 EXPECT_EQ(11U, engine()->GetIndexForPoint({999999.0f, 0.0f})); in TEST_F()
472 EXPECT_EQ(1U, engine()->GetIndexForPoint({5.0f, 5.0f})); in TEST_F()
473 EXPECT_EQ(2U, engine()->GetIndexForPoint({10.0f, 5.0f})); in TEST_F()
477 engine()->SetFontSize(10.0f); in TEST_F()
478 engine()->Insert(0, in TEST_F()
481 EXPECT_EQ(0U, engine()->GetIndexForPoint({0.0f, 0.0f})); in TEST_F()
482 EXPECT_EQ(87U, engine()->GetIndexForPoint({999999.0f, 9999999.0f})); in TEST_F()
483 EXPECT_EQ(18U, engine()->GetIndexForPoint({999999.0f, 0.0f})); in TEST_F()
484 EXPECT_EQ(19U, engine()->GetIndexForPoint({1.0f, 10.0f})); in TEST_F()
485 EXPECT_EQ(1U, engine()->GetIndexForPoint({5.0f, 5.0f})); in TEST_F()
486 EXPECT_EQ(2U, engine()->GetIndexForPoint({10.0f, 5.0f})); in TEST_F()
490 engine()->SetFontSize(10.0f); in TEST_F()
491 engine()->Insert(0, L"Hello World "); in TEST_F()
492 EXPECT_EQ(0U, engine()->GetIndexForPoint({0.0f, 0.0f})); in TEST_F()
493 EXPECT_EQ(12U, engine()->GetIndexForPoint({999999.0f, 9999999.0f})); in TEST_F()
494 EXPECT_EQ(12U, engine()->GetIndexForPoint({999999.0f, 0.0f})); in TEST_F()
498 engine()->SetFontSize(10.0f); in TEST_F()
499 engine()->Insert(0, L"Hello\nWorld"); in TEST_F()
500 EXPECT_EQ(0U, engine()->GetIndexForPoint({0.0f, 0.0f})); in TEST_F()
501 EXPECT_EQ(5U, engine()->GetIndexForPoint({999999.0f, 0.0f})); in TEST_F()
502 EXPECT_EQ(6U, engine()->GetIndexForPoint({0.0f, 10.0f})); in TEST_F()
503 EXPECT_EQ(11U, engine()->GetIndexForPoint({999999.0f, 9999999.0f})); in TEST_F()
507 RetainPtr<CFGAS_GEFont> font = engine()->GetFont(); in TEST_F()
511 EXPECT_FALSE(engine()->CanGenerateCharacterInfo()); in TEST_F()
514 engine()->Insert(0, L"Hi!"); in TEST_F()
515 EXPECT_TRUE(engine()->CanGenerateCharacterInfo()); in TEST_F()
518 engine()->SetFont(nullptr); in TEST_F()
519 EXPECT_FALSE(engine()->CanGenerateCharacterInfo()); in TEST_F()
522 engine()->Clear(); in TEST_F()
523 EXPECT_FALSE(engine()->CanGenerateCharacterInfo()); in TEST_F()
529 engine()->Insert(0, L"Hi!"); in TEST_F()
530 ASSERT_EQ(3U, engine()->GetLength()); in TEST_F()
532 char_info = engine()->GetCharacterInfo(0); in TEST_F()
539 char_info = engine()->GetCharacterInfo(1); in TEST_F()
546 char_info = engine()->GetCharacterInfo(2); in TEST_F()
556 char_info = engine()->GetCharacterInfo(3); in TEST_F()
565 auto [start_idx, count] = engine()->BoundsForWordAt(100); in TEST_F()
568 engine()->SetSelection(start_idx, count); in TEST_F()
569 EXPECT_EQ(L"", engine()->GetSelectedText()); in TEST_F()
571 engine()->Clear(); in TEST_F()
572 engine()->Insert(0, L"Hello"); in TEST_F()
573 std::tie(start_idx, count) = engine()->BoundsForWordAt(0); in TEST_F()
576 engine()->SetSelection(start_idx, count); in TEST_F()
577 EXPECT_EQ(L"Hello", engine()->GetSelectedText()); in TEST_F()
579 engine()->Clear(); in TEST_F()
580 engine()->Insert(0, L"Hello World"); in TEST_F()
581 std::tie(start_idx, count) = engine()->BoundsForWordAt(100); in TEST_F()
584 engine()->SetSelection(start_idx, count); in TEST_F()
585 EXPECT_EQ(L"", engine()->GetSelectedText()); in TEST_F()
587 std::tie(start_idx, count) = engine()->BoundsForWordAt(0); in TEST_F()
590 engine()->SetSelection(start_idx, count); in TEST_F()
591 EXPECT_EQ(L"Hello", engine()->GetSelectedText()); in TEST_F()
593 std::tie(start_idx, count) = engine()->BoundsForWordAt(1); in TEST_F()
596 engine()->SetSelection(start_idx, count); in TEST_F()
597 EXPECT_EQ(L"Hello", engine()->GetSelectedText()); in TEST_F()
599 std::tie(start_idx, count) = engine()->BoundsForWordAt(4); in TEST_F()
602 engine()->SetSelection(start_idx, count); in TEST_F()
603 EXPECT_EQ(L"Hello", engine()->GetSelectedText()); in TEST_F()
606 std::tie(start_idx, count) = engine()->BoundsForWordAt(5); in TEST_F()
609 engine()->SetSelection(start_idx, count); in TEST_F()
610 EXPECT_EQ(L" ", engine()->GetSelectedText()); in TEST_F()
612 std::tie(start_idx, count) = engine()->BoundsForWordAt(6); in TEST_F()
615 engine()->SetSelection(start_idx, count); in TEST_F()
616 EXPECT_EQ(L"World", engine()->GetSelectedText()); in TEST_F()
618 engine()->Clear(); in TEST_F()
619 engine()->Insert(0, L"123 456 789"); in TEST_F()
620 std::tie(start_idx, count) = engine()->BoundsForWordAt(5); in TEST_F()
621 engine()->SetSelection(start_idx, count); in TEST_F()
622 EXPECT_EQ(L"456", engine()->GetSelectedText()); in TEST_F()
624 engine()->Clear(); in TEST_F()
625 engine()->Insert(0, L"123def789"); in TEST_F()
626 std::tie(start_idx, count) = engine()->BoundsForWordAt(5); in TEST_F()
627 engine()->SetSelection(start_idx, count); in TEST_F()
628 EXPECT_EQ(L"123def789", engine()->GetSelectedText()); in TEST_F()
630 engine()->Clear(); in TEST_F()
631 engine()->Insert(0, L"abc456ghi"); in TEST_F()
632 std::tie(start_idx, count) = engine()->BoundsForWordAt(5); in TEST_F()
633 engine()->SetSelection(start_idx, count); in TEST_F()
634 EXPECT_EQ(L"abc456ghi", engine()->GetSelectedText()); in TEST_F()
636 engine()->Clear(); in TEST_F()
637 engine()->Insert(0, L"hello, world"); in TEST_F()
638 std::tie(start_idx, count) = engine()->BoundsForWordAt(0); in TEST_F()
639 engine()->SetSelection(start_idx, count); in TEST_F()
640 EXPECT_EQ(L"hello", engine()->GetSelectedText()); in TEST_F()
642 engine()->Clear(); in TEST_F()
643 engine()->Insert(0, L"hello, world"); in TEST_F()
644 std::tie(start_idx, count) = engine()->BoundsForWordAt(5); in TEST_F()
645 engine()->SetSelection(start_idx, count); in TEST_F()
646 EXPECT_EQ(L",", engine()->GetSelectedText()); in TEST_F()
648 engine()->Clear(); in TEST_F()
649 engine()->Insert(0, L"np-complete"); in TEST_F()
650 std::tie(start_idx, count) = engine()->BoundsForWordAt(6); in TEST_F()
651 engine()->SetSelection(start_idx, count); in TEST_F()
652 EXPECT_EQ(L"complete", engine()->GetSelectedText()); in TEST_F()
654 engine()->Clear(); in TEST_F()
655 engine()->Insert(0, L"(123) 456-7890"); in TEST_F()
656 std::tie(start_idx, count) = engine()->BoundsForWordAt(0); in TEST_F()
657 engine()->SetSelection(start_idx, count); in TEST_F()
658 EXPECT_EQ(L"(", engine()->GetSelectedText()); in TEST_F()
660 std::tie(start_idx, count) = engine()->BoundsForWordAt(1); in TEST_F()
661 engine()->SetSelection(start_idx, count); in TEST_F()
662 EXPECT_EQ(L"123", engine()->GetSelectedText()); in TEST_F()
664 std::tie(start_idx, count) = engine()->BoundsForWordAt(7); in TEST_F()
665 engine()->SetSelection(start_idx, count); in TEST_F()
666 EXPECT_EQ(L"456", engine()->GetSelectedText()); in TEST_F()
668 std::tie(start_idx, count) = engine()->BoundsForWordAt(11); in TEST_F()
669 engine()->SetSelection(start_idx, count); in TEST_F()
670 EXPECT_EQ(L"7890", engine()->GetSelectedText()); in TEST_F()
702 engine()->Clear(); in TEST_F()
703 engine()->Insert(0, t.str); in TEST_F()
707 std::tie(start_idx, count) = engine()->BoundsForWordAt(idx); in TEST_F()
708 engine()->SetSelection(start_idx, count); in TEST_F()
709 EXPECT_EQ(res, engine()->GetSelectedText()) << "Input: '" << t.str << "'"; in TEST_F()
716 engine()->Clear(); in TEST_F()
717 engine()->Insert(0, L"Hello"); in TEST_F()
719 EXPECT_EQ(0U, engine()->GetIndexLeft(0)); in TEST_F()
720 EXPECT_EQ(5U, engine()->GetIndexRight(5)); in TEST_F()
721 EXPECT_EQ(2U, engine()->GetIndexUp(2)); in TEST_F()
722 EXPECT_EQ(2U, engine()->GetIndexDown(2)); in TEST_F()
723 EXPECT_EQ(1U, engine()->GetIndexLeft(2)); in TEST_F()
724 EXPECT_EQ(3U, engine()->GetIndexRight(2)); in TEST_F()
725 EXPECT_EQ(0U, engine()->GetIndexAtStartOfLine(2)); in TEST_F()
726 EXPECT_EQ(5U, engine()->GetIndexAtEndOfLine(2)); in TEST_F()
728 engine()->Clear(); in TEST_F()
729 engine()->Insert(0, L"The book is \"مدخل إلى C++\""); in TEST_F()
730 EXPECT_FALSE(FX_IsOdd(engine()->GetCharacterInfo(3).first)); in TEST_F()
731 EXPECT_EQ(2U, engine()->GetIndexLeft(3)); in TEST_F()
732 EXPECT_EQ(4U, engine()->GetIndexRight(3)); in TEST_F()
733 EXPECT_TRUE(FX_IsOdd(engine()->GetCharacterInfo(15).first)); in TEST_F()
734 EXPECT_EQ(14U, engine()->GetIndexLeft(15)); in TEST_F()
735 EXPECT_EQ(16U, engine()->GetIndexRight(15)); in TEST_F()
736 EXPECT_FALSE(FX_IsOdd(engine()->GetCharacterInfo(23).first)); in TEST_F()
737 EXPECT_EQ(22U, engine()->GetIndexLeft(23)); in TEST_F()
738 EXPECT_EQ(24U, engine()->GetIndexRight(23)); in TEST_F()
740 engine()->Clear(); in TEST_F()
741 engine()->Insert(0, L"Hello\r\nWorld\r\nTest"); in TEST_F()
743 engine()->SetSelection(engine()->GetIndexLeft(7U), 7); in TEST_F()
744 EXPECT_EQ(L"\r\nWorld", engine()->GetSelectedText()); in TEST_F()
747 engine()->SetSelection(engine()->GetIndexUp(8U), 2); in TEST_F()
748 EXPECT_EQ(L"el", engine()->GetSelectedText()); in TEST_F()
751 engine()->SetSelection(engine()->GetIndexUp(15U), 2); in TEST_F()
752 EXPECT_EQ(L"or", engine()->GetSelectedText()); in TEST_F()
755 engine()->SetSelection(engine()->GetIndexDown(1U), 2); in TEST_F()
756 EXPECT_EQ(L"or", engine()->GetSelectedText()); in TEST_F()
759 engine()->SetSelection(engine()->GetIndexDown(8U), 2); in TEST_F()
760 EXPECT_EQ(L"es", engine()->GetSelectedText()); in TEST_F()
762 size_t start_idx = engine()->GetIndexAtStartOfLine(8U); in TEST_F()
763 size_t end_idx = engine()->GetIndexAtEndOfLine(8U); in TEST_F()
764 engine()->SetSelection(start_idx, end_idx - start_idx); in TEST_F()
765 EXPECT_EQ(L"World", engine()->GetSelectedText()); in TEST_F()
768 engine()->SetSelection(engine()->GetIndexRight(5U), 5); in TEST_F()
769 EXPECT_EQ(L"World", engine()->GetSelectedText()); in TEST_F()
771 engine()->Clear(); in TEST_F()
772 engine()->Insert(0, L"Short\nAnd a very long line"); in TEST_F()
773 engine()->SetSelection(engine()->GetIndexUp(14U), 11); in TEST_F()
774 EXPECT_EQ(L"\nAnd a very", engine()->GetSelectedText()); in TEST_F()
776 engine()->Clear(); in TEST_F()
777 engine()->Insert(0, L"A Very long line\nShort"); in TEST_F()
778 EXPECT_EQ(engine()->GetLength(), engine()->GetIndexDown(8U)); in TEST_F()
780 engine()->Clear(); in TEST_F()
781 engine()->Insert(0, L"Hello\rWorld\rTest"); in TEST_F()
783 engine()->SetSelection(engine()->GetIndexLeft(6U), 6); in TEST_F()
784 EXPECT_EQ(L"\rWorld", engine()->GetSelectedText()); in TEST_F()
787 engine()->SetSelection(engine()->GetIndexUp(7U), 2); in TEST_F()
788 EXPECT_EQ(L"el", engine()->GetSelectedText()); in TEST_F()
791 engine()->SetSelection(engine()->GetIndexUp(13U), 2); in TEST_F()
792 EXPECT_EQ(L"or", engine()->GetSelectedText()); in TEST_F()
795 engine()->SetSelection(engine()->GetIndexDown(1U), 2); in TEST_F()
796 EXPECT_EQ(L"or", engine()->GetSelectedText()); in TEST_F()
799 engine()->SetSelection(engine()->GetIndexDown(7U), 2); in TEST_F()
800 EXPECT_EQ(L"es", engine()->GetSelectedText()); in TEST_F()
802 start_idx = engine()->GetIndexAtStartOfLine(7U); in TEST_F()
803 end_idx = engine()->GetIndexAtEndOfLine(7U); in TEST_F()
804 engine()->SetSelection(start_idx, end_idx - start_idx); in TEST_F()
805 EXPECT_EQ(L"World", engine()->GetSelectedText()); in TEST_F()
808 engine()->SetSelection(engine()->GetIndexRight(5U), 5); in TEST_F()
809 EXPECT_EQ(L"World", engine()->GetSelectedText()); in TEST_F()
811 engine()->Clear(); in TEST_F()
812 engine()->Insert(0, L"Hello\nWorld\nTest"); in TEST_F()
814 engine()->SetSelection(engine()->GetIndexLeft(6U), 6); in TEST_F()
815 EXPECT_EQ(L"\nWorld", engine()->GetSelectedText()); in TEST_F()
818 engine()->SetSelection(engine()->GetIndexUp(7U), 2); in TEST_F()
819 EXPECT_EQ(L"el", engine()->GetSelectedText()); in TEST_F()
822 engine()->SetSelection(engine()->GetIndexUp(13U), 2); in TEST_F()
823 EXPECT_EQ(L"or", engine()->GetSelectedText()); in TEST_F()
826 engine()->SetSelection(engine()->GetIndexDown(1U), 2); in TEST_F()
827 EXPECT_EQ(L"or", engine()->GetSelectedText()); in TEST_F()
830 engine()->SetSelection(engine()->GetIndexDown(7U), 2); in TEST_F()
831 EXPECT_EQ(L"es", engine()->GetSelectedText()); in TEST_F()
833 start_idx = engine()->GetIndexAtStartOfLine(7U); in TEST_F()
834 end_idx = engine()->GetIndexAtEndOfLine(7U); in TEST_F()
835 engine()->SetSelection(start_idx, end_idx - start_idx); in TEST_F()
836 EXPECT_EQ(L"World", engine()->GetSelectedText()); in TEST_F()
839 engine()->SetSelection(engine()->GetIndexRight(5U), 5); in TEST_F()
840 EXPECT_EQ(L"World", engine()->GetSelectedText()); in TEST_F()