| Index: ui/gfx/render_text_unittest.cc
|
| diff --git a/ui/gfx/render_text_unittest.cc b/ui/gfx/render_text_unittest.cc
|
| index fb889f4b1b80b9a0f509922a09a22d58a77d907b..dca5b811c155a676db451030b2f9cdcbae9a5d8e 100644
|
| --- a/ui/gfx/render_text_unittest.cc
|
| +++ b/ui/gfx/render_text_unittest.cc
|
| @@ -1370,6 +1370,42 @@ TEST_F(RenderTextTest, CaretWidth) {
|
| EXPECT_GE(render_text->GetUpdatedCursorBounds().width(), 1);
|
| }
|
|
|
| +TEST_F(RenderTextTest, SelectWord) {
|
| + scoped_ptr<RenderText> render_text(RenderText::CreateInstance());
|
| + render_text->SetText(ASCIIToUTF16(" foo a.bc.d bar"));
|
| +
|
| + struct {
|
| + size_t cursor;
|
| + size_t selection_start;
|
| + size_t selection_end;
|
| + } cases[] = {
|
| + { 0, 0, 1 },
|
| + { 1, 1, 4 },
|
| + { 2, 1, 4 },
|
| + { 3, 1, 4 },
|
| + { 4, 4, 6 },
|
| + { 5, 4, 6 },
|
| + { 6, 6, 7 },
|
| + { 7, 7, 8 },
|
| + { 8, 8, 10 },
|
| + { 9, 8, 10 },
|
| + { 10, 10, 11 },
|
| + { 11, 11, 12 },
|
| + { 12, 12, 13 },
|
| + { 13, 13, 16 },
|
| + { 14, 13, 16 },
|
| + { 15, 13, 16 },
|
| + { 16, 13, 16 },
|
| + };
|
| +
|
| + for (size_t i = 0; i < ARRAYSIZE_UNSAFE(cases); ++i) {
|
| + render_text->SetCursorPosition(cases[i].cursor);
|
| + render_text->SelectWord();
|
| + EXPECT_EQ(ui::Range(cases[i].selection_start, cases[i].selection_end),
|
| + render_text->selection());
|
| + }
|
| +}
|
| +
|
| // Make sure the last word is selected when the cursor is at text.length().
|
| TEST_F(RenderTextTest, LastWordSelected) {
|
| const std::string kTestURL1 = "http://www.google.com";
|
|
|