Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(236)

Side by Side Diff: third_party/WebKit/Source/core/editing/VisibleSelectionTest.cpp

Issue 2724333002: Get rid of VisibleSelection::firstRangeOf() (Closed)
Patch Set: 2017-03-03T13:18:27 DCHECK(!range) => DCHECK(range) Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "core/editing/VisibleSelection.h" 5 #include "core/editing/VisibleSelection.h"
6 6
7 #include "core/dom/Range.h" 7 #include "core/dom/Range.h"
8 #include "core/editing/EditingTestBase.h" 8 #include "core/editing/EditingTestBase.h"
9 #include "core/editing/SelectionAdjuster.h" 9 #include "core/editing/SelectionAdjuster.h"
10 10
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
201 VisibleSelection selection; 201 VisibleSelection selection;
202 VisibleSelectionInFlatTree selectionInFlatTree; 202 VisibleSelectionInFlatTree selectionInFlatTree;
203 setSelection(selection, 0); 203 setSelection(selection, 0);
204 setSelection(selectionInFlatTree, 0); 204 setSelection(selectionInFlatTree, 0);
205 205
206 EXPECT_FALSE(selection.isNone()); 206 EXPECT_FALSE(selection.isNone());
207 EXPECT_FALSE(selectionInFlatTree.isNone()); 207 EXPECT_FALSE(selectionInFlatTree.isNone());
208 EXPECT_TRUE(selection.isCaret()); 208 EXPECT_TRUE(selection.isCaret());
209 EXPECT_TRUE(selectionInFlatTree.isCaret()); 209 EXPECT_TRUE(selectionInFlatTree.isCaret());
210 210
211 Range* range = firstRangeOf(selection); 211 Range* range = createRange(firstEphemeralRangeOf(selection));
212 EXPECT_EQ(0u, range->startOffset()); 212 EXPECT_EQ(0u, range->startOffset());
213 EXPECT_EQ(0u, range->endOffset()); 213 EXPECT_EQ(0u, range->endOffset());
214 EXPECT_EQ("", range->text()); 214 EXPECT_EQ("", range->text());
215 testFlatTreePositionsToEqualToDOMTreePositions(selection, 215 testFlatTreePositionsToEqualToDOMTreePositions(selection,
216 selectionInFlatTree); 216 selectionInFlatTree);
217 217
218 const VisibleSelection noSelection = 218 const VisibleSelection noSelection =
219 createVisibleSelection(SelectionInDOMTree::Builder().build()); 219 createVisibleSelection(SelectionInDOMTree::Builder().build());
220 EXPECT_EQ(NoSelection, noSelection.getSelectionType()); 220 EXPECT_EQ(NoSelection, noSelection.getSelectionType());
221 } 221 }
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
374 VisibleSelectionInFlatTree selectionInFlatTree; 374 VisibleSelectionInFlatTree selectionInFlatTree;
375 375
376 // Beginning of a word. 376 // Beginning of a word.
377 { 377 {
378 setSelection(selection, 0); 378 setSelection(selection, 0);
379 setSelection(selectionInFlatTree, 0); 379 setSelection(selectionInFlatTree, 0);
380 selection = expandUsingGranularity(selection, WordGranularity); 380 selection = expandUsingGranularity(selection, WordGranularity);
381 selectionInFlatTree = 381 selectionInFlatTree =
382 expandUsingGranularity(selectionInFlatTree, WordGranularity); 382 expandUsingGranularity(selectionInFlatTree, WordGranularity);
383 383
384 Range* range = firstRangeOf(selection); 384 Range* range = createRange(firstEphemeralRangeOf(selection));
385 EXPECT_EQ(0u, range->startOffset()); 385 EXPECT_EQ(0u, range->startOffset());
386 EXPECT_EQ(5u, range->endOffset()); 386 EXPECT_EQ(5u, range->endOffset());
387 EXPECT_EQ("Lorem", range->text()); 387 EXPECT_EQ("Lorem", range->text());
388 testFlatTreePositionsToEqualToDOMTreePositions(selection, 388 testFlatTreePositionsToEqualToDOMTreePositions(selection,
389 selectionInFlatTree); 389 selectionInFlatTree);
390 } 390 }
391 391
392 // Middle of a word. 392 // Middle of a word.
393 { 393 {
394 setSelection(selection, 8); 394 setSelection(selection, 8);
395 setSelection(selectionInFlatTree, 8); 395 setSelection(selectionInFlatTree, 8);
396 selection = expandUsingGranularity(selection, WordGranularity); 396 selection = expandUsingGranularity(selection, WordGranularity);
397 selectionInFlatTree = 397 selectionInFlatTree =
398 expandUsingGranularity(selectionInFlatTree, WordGranularity); 398 expandUsingGranularity(selectionInFlatTree, WordGranularity);
399 399
400 Range* range = firstRangeOf(selection); 400 Range* range = createRange(firstEphemeralRangeOf(selection));
401 EXPECT_EQ(6u, range->startOffset()); 401 EXPECT_EQ(6u, range->startOffset());
402 EXPECT_EQ(11u, range->endOffset()); 402 EXPECT_EQ(11u, range->endOffset());
403 EXPECT_EQ("ipsum", range->text()); 403 EXPECT_EQ("ipsum", range->text());
404 testFlatTreePositionsToEqualToDOMTreePositions(selection, 404 testFlatTreePositionsToEqualToDOMTreePositions(selection,
405 selectionInFlatTree); 405 selectionInFlatTree);
406 } 406 }
407 407
408 // End of a word. 408 // End of a word.
409 // FIXME: that sounds buggy, we might want to select the word _before_ instead 409 // FIXME: that sounds buggy, we might want to select the word _before_ instead
410 // of the space... 410 // of the space...
411 { 411 {
412 setSelection(selection, 5); 412 setSelection(selection, 5);
413 setSelection(selectionInFlatTree, 5); 413 setSelection(selectionInFlatTree, 5);
414 selection = expandUsingGranularity(selection, WordGranularity); 414 selection = expandUsingGranularity(selection, WordGranularity);
415 selectionInFlatTree = 415 selectionInFlatTree =
416 expandUsingGranularity(selectionInFlatTree, WordGranularity); 416 expandUsingGranularity(selectionInFlatTree, WordGranularity);
417 417
418 Range* range = firstRangeOf(selection); 418 Range* range = createRange(firstEphemeralRangeOf(selection));
419 EXPECT_EQ(5u, range->startOffset()); 419 EXPECT_EQ(5u, range->startOffset());
420 EXPECT_EQ(6u, range->endOffset()); 420 EXPECT_EQ(6u, range->endOffset());
421 EXPECT_EQ(" ", range->text()); 421 EXPECT_EQ(" ", range->text());
422 testFlatTreePositionsToEqualToDOMTreePositions(selection, 422 testFlatTreePositionsToEqualToDOMTreePositions(selection,
423 selectionInFlatTree); 423 selectionInFlatTree);
424 } 424 }
425 425
426 // Before comma. 426 // Before comma.
427 // FIXME: that sounds buggy, we might want to select the word _before_ instead 427 // FIXME: that sounds buggy, we might want to select the word _before_ instead
428 // of the comma. 428 // of the comma.
429 { 429 {
430 setSelection(selection, 26); 430 setSelection(selection, 26);
431 setSelection(selectionInFlatTree, 26); 431 setSelection(selectionInFlatTree, 26);
432 selection = expandUsingGranularity(selection, WordGranularity); 432 selection = expandUsingGranularity(selection, WordGranularity);
433 selectionInFlatTree = 433 selectionInFlatTree =
434 expandUsingGranularity(selectionInFlatTree, WordGranularity); 434 expandUsingGranularity(selectionInFlatTree, WordGranularity);
435 435
436 Range* range = firstRangeOf(selection); 436 Range* range = createRange(firstEphemeralRangeOf(selection));
437 EXPECT_EQ(26u, range->startOffset()); 437 EXPECT_EQ(26u, range->startOffset());
438 EXPECT_EQ(27u, range->endOffset()); 438 EXPECT_EQ(27u, range->endOffset());
439 EXPECT_EQ(",", range->text()); 439 EXPECT_EQ(",", range->text());
440 testFlatTreePositionsToEqualToDOMTreePositions(selection, 440 testFlatTreePositionsToEqualToDOMTreePositions(selection,
441 selectionInFlatTree); 441 selectionInFlatTree);
442 } 442 }
443 443
444 // After comma. 444 // After comma.
445 { 445 {
446 setSelection(selection, 27); 446 setSelection(selection, 27);
447 setSelection(selectionInFlatTree, 27); 447 setSelection(selectionInFlatTree, 27);
448 selection = expandUsingGranularity(selection, WordGranularity); 448 selection = expandUsingGranularity(selection, WordGranularity);
449 selectionInFlatTree = 449 selectionInFlatTree =
450 expandUsingGranularity(selectionInFlatTree, WordGranularity); 450 expandUsingGranularity(selectionInFlatTree, WordGranularity);
451 451
452 Range* range = firstRangeOf(selection); 452 Range* range = createRange(firstEphemeralRangeOf(selection));
453 EXPECT_EQ(27u, range->startOffset()); 453 EXPECT_EQ(27u, range->startOffset());
454 EXPECT_EQ(28u, range->endOffset()); 454 EXPECT_EQ(28u, range->endOffset());
455 EXPECT_EQ(" ", range->text()); 455 EXPECT_EQ(" ", range->text());
456 testFlatTreePositionsToEqualToDOMTreePositions(selection, 456 testFlatTreePositionsToEqualToDOMTreePositions(selection,
457 selectionInFlatTree); 457 selectionInFlatTree);
458 } 458 }
459 459
460 // When selecting part of a word. 460 // When selecting part of a word.
461 { 461 {
462 setSelection(selection, 0, 1); 462 setSelection(selection, 0, 1);
463 setSelection(selectionInFlatTree, 0, 1); 463 setSelection(selectionInFlatTree, 0, 1);
464 selection = expandUsingGranularity(selection, WordGranularity); 464 selection = expandUsingGranularity(selection, WordGranularity);
465 selectionInFlatTree = 465 selectionInFlatTree =
466 expandUsingGranularity(selectionInFlatTree, WordGranularity); 466 expandUsingGranularity(selectionInFlatTree, WordGranularity);
467 467
468 Range* range = firstRangeOf(selection); 468 Range* range = createRange(firstEphemeralRangeOf(selection));
469 EXPECT_EQ(0u, range->startOffset()); 469 EXPECT_EQ(0u, range->startOffset());
470 EXPECT_EQ(5u, range->endOffset()); 470 EXPECT_EQ(5u, range->endOffset());
471 EXPECT_EQ("Lorem", range->text()); 471 EXPECT_EQ("Lorem", range->text());
472 testFlatTreePositionsToEqualToDOMTreePositions(selection, 472 testFlatTreePositionsToEqualToDOMTreePositions(selection,
473 selectionInFlatTree); 473 selectionInFlatTree);
474 } 474 }
475 475
476 // When selecting part of two words. 476 // When selecting part of two words.
477 { 477 {
478 setSelection(selection, 2, 8); 478 setSelection(selection, 2, 8);
479 setSelection(selectionInFlatTree, 2, 8); 479 setSelection(selectionInFlatTree, 2, 8);
480 selection = expandUsingGranularity(selection, WordGranularity); 480 selection = expandUsingGranularity(selection, WordGranularity);
481 selectionInFlatTree = 481 selectionInFlatTree =
482 expandUsingGranularity(selectionInFlatTree, WordGranularity); 482 expandUsingGranularity(selectionInFlatTree, WordGranularity);
483 483
484 Range* range = firstRangeOf(selection); 484 Range* range = createRange(firstEphemeralRangeOf(selection));
485 EXPECT_EQ(0u, range->startOffset()); 485 EXPECT_EQ(0u, range->startOffset());
486 EXPECT_EQ(11u, range->endOffset()); 486 EXPECT_EQ(11u, range->endOffset());
487 EXPECT_EQ("Lorem ipsum", range->text()); 487 EXPECT_EQ("Lorem ipsum", range->text());
488 testFlatTreePositionsToEqualToDOMTreePositions(selection, 488 testFlatTreePositionsToEqualToDOMTreePositions(selection,
489 selectionInFlatTree); 489 selectionInFlatTree);
490 } 490 }
491 } 491 }
492 492
493 // This is for crbug.com/627783, simulating restoring selection 493 // This is for crbug.com/627783, simulating restoring selection
494 // in undo stack. 494 // in undo stack.
(...skipping 13 matching lines...) Expand all
508 Element* host = document().getElementById("host"); 508 Element* host = document().getElementById("host");
509 host->appendChild(sample); 509 host->appendChild(sample);
510 document().updateStyleAndLayout(); 510 document().updateStyleAndLayout();
511 511
512 // Simulates to restore selection from undo stack. 512 // Simulates to restore selection from undo stack.
513 selection = createVisibleSelection(selection.asSelection()); 513 selection = createVisibleSelection(selection.asSelection());
514 EXPECT_EQ(Position(sample->firstChild(), 0), selection.start()); 514 EXPECT_EQ(Position(sample->firstChild(), 0), selection.start());
515 } 515 }
516 516
517 } // namespace blink 517 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698