| Index: ui/views/controls/textfield/textfield_model_unittest.cc
|
| diff --git a/ui/views/controls/textfield/textfield_model_unittest.cc b/ui/views/controls/textfield/textfield_model_unittest.cc
|
| index be0a344f5a31dd00520eae84e69d5055d59fd7a0..25dcf338a4d9eb954ce8a99d331dd8f0cad8bae0 100644
|
| --- a/ui/views/controls/textfield/textfield_model_unittest.cc
|
| +++ b/ui/views/controls/textfield/textfield_model_unittest.cc
|
| @@ -893,14 +893,23 @@ TEST_F(TextfieldModelTest, CompositionTextTest) {
|
| composition_text_confirmed_or_cleared_ = false;
|
|
|
| // Restart composition with targeting "67" in "678".
|
| - composition.selection = gfx::Range(0, 2);
|
| + composition.selection = gfx::Range(1, 3);
|
| composition.underlines.clear();
|
| composition.underlines.push_back(ui::CompositionUnderline(0, 2, 0, true));
|
| composition.underlines.push_back(ui::CompositionUnderline(2, 3, 0, false));
|
| model.SetCompositionText(composition);
|
| EXPECT_TRUE(model.HasCompositionText());
|
| EXPECT_TRUE(model.HasSelection());
|
| +#if !defined(OS_CHROMEOS)
|
| + // |composition.selection| is ignored because SetCompositionText checks
|
| + // if a bold underline exists first.
|
| EXPECT_EQ(gfx::Range(5, 7), model.render_text()->selection());
|
| + EXPECT_EQ(7U, model.render_text()->cursor_position());
|
| +#else
|
| + // See SelectRangeInCompositionText().
|
| + EXPECT_EQ(gfx::Range(7, 5), model.render_text()->selection());
|
| + EXPECT_EQ(5U, model.render_text()->cursor_position());
|
| +#endif
|
|
|
| model.GetTextRange(&range);
|
| EXPECT_EQ(10U, range.end());
|
| @@ -910,7 +919,6 @@ TEST_F(TextfieldModelTest, CompositionTextTest) {
|
| EXPECT_EQ(gfx::Range(5, 8), range);
|
| // Check the composition text.
|
| EXPECT_STR_EQ("456", model.GetTextFromRange(gfx::Range(3, 6)));
|
| - EXPECT_EQ(gfx::Range(5, 7), model.render_text()->selection());
|
|
|
| EXPECT_FALSE(composition_text_confirmed_or_cleared_);
|
| model.CancelCompositionText();
|
| @@ -927,8 +935,20 @@ TEST_F(TextfieldModelTest, CompositionTextTest) {
|
| composition_text_confirmed_or_cleared_ = false;
|
| model.MoveCursor(gfx::LINE_BREAK, gfx::CURSOR_RIGHT, gfx::SELECTION_NONE);
|
|
|
| + // Also test the case where a selection exists but a bold underline doesn't.
|
| + composition.selection = gfx::Range(0, 1);
|
| + composition.underlines.clear();
|
| model.SetCompositionText(composition);
|
| EXPECT_STR_EQ("1234567890678", model.text());
|
| + EXPECT_TRUE(model.HasSelection());
|
| +#if !defined(OS_CHROMEOS)
|
| + EXPECT_EQ(gfx::Range(10, 11), model.render_text()->selection());
|
| + EXPECT_EQ(11U, model.render_text()->cursor_position());
|
| +#else
|
| + // See SelectRangeInCompositionText().
|
| + EXPECT_EQ(gfx::Range(11, 10), model.render_text()->selection());
|
| + EXPECT_EQ(10U, model.render_text()->cursor_position());
|
| +#endif
|
|
|
| model.InsertText(base::UTF8ToUTF16("-"));
|
| EXPECT_TRUE(composition_text_confirmed_or_cleared_);
|
|
|