Index: ui/base/ime/composition_text_util_pango_unittest.cc |
diff --git a/ui/base/ime/composition_text_util_pango_unittest.cc b/ui/base/ime/composition_text_util_pango_unittest.cc |
index 957adf1d4a7287bf453fec2ac2b9e3d34cfe9ee8..a2056cfc0e9164431ba40280731f8de56387f671 100644 |
--- a/ui/base/ime/composition_text_util_pango_unittest.cc |
+++ b/ui/base/ime/composition_text_util_pango_unittest.cc |
@@ -28,6 +28,7 @@ struct Underline { |
unsigned end_offset; |
uint32 color; |
bool thick; |
+ uint32 background_color; |
}; |
struct TestData { |
@@ -37,64 +38,59 @@ struct TestData { |
}; |
const TestData kTestData[] = { |
- // Normal case |
- { "One Two Three", |
- { { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 0, 3 }, |
- { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_DOUBLE, 4, 7 }, |
- { PANGO_ATTR_BACKGROUND, 0, 4, 7 }, |
- { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 8, 13 }, |
- { 0, 0, 0, 0 } }, |
- { { 0, 3, SK_ColorBLACK, false }, |
- { 4, 7, SK_ColorBLACK, true }, |
- { 8, 13, SK_ColorBLACK, false }, |
- { 0, 0, 0, false } } |
- }, |
- |
- // Offset overflow. |
- { "One Two Three", |
- { { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 0, 3 }, |
- { PANGO_ATTR_BACKGROUND, 0, 4, 7 }, |
- { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 8, 20 }, |
- { 0, 0, 0, 0 } }, |
- { { 0, 3, SK_ColorBLACK, false }, |
- { 4, 7, SK_ColorBLACK, true }, |
- { 8, 13, SK_ColorBLACK, false }, |
- { 0, 0, 0, false} } |
- }, |
- |
- // Error underline. |
- { "One Two Three", |
- { { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 0, 3 }, |
- { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_ERROR, 4, 7 }, |
- { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 8, 13 }, |
- { 0, 0, 0, 0 } }, |
- { { 0, 3, SK_ColorBLACK, false }, |
- { 4, 7, SK_ColorRED, false }, |
- { 8, 13, SK_ColorBLACK, false }, |
- { 0, 0, 0, false} } |
- }, |
- |
- // Default underline. |
- { "One Two Three", |
- { { 0, 0, 0, 0 } }, |
- { { 0, 13, SK_ColorBLACK, false }, |
- { 0, 0, 0, false } } |
- }, |
- |
- // Unicode, including non-BMP characters: "123你好𠀀𠀁一丁 456" |
- { "123\xE4\xBD\xA0\xE5\xA5\xBD\xF0\xA0\x80\x80\xF0\xA0\x80\x81\xE4\xB8\x80" |
- "\xE4\xB8\x81 456", |
- { { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 0, 3 }, |
- { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 3, 5 }, |
- { PANGO_ATTR_BACKGROUND, 0, 5, 7 }, |
- { PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 7, 13 }, |
- { 0, 0, 0, 0 } }, |
- { { 0, 3, SK_ColorBLACK, false }, |
- { 3, 5, SK_ColorBLACK, false }, |
- { 5, 9, SK_ColorBLACK, true }, |
- { 9, 15, SK_ColorBLACK, false }, |
- { 0, 0, 0, false } } |
- }, |
+ // Normal case |
+ {"One Two Three", |
+ {{PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 0, 3}, |
+ {PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_DOUBLE, 4, 7}, |
+ {PANGO_ATTR_BACKGROUND, 0, 4, 7}, |
+ {PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 8, 13}, |
+ {0, 0, 0, 0}}, |
+ {{0, 3, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {4, 7, SK_ColorBLACK, true, SK_ColorTRANSPARENT}, |
+ {8, 13, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {0, 0, 0, false, SK_ColorTRANSPARENT}}}, |
+ |
+ // Offset overflow. |
+ {"One Two Three", |
+ {{PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 0, 3}, |
+ {PANGO_ATTR_BACKGROUND, 0, 4, 7}, |
+ {PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 8, 20}, |
+ {0, 0, 0, 0}}, |
+ {{0, 3, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {4, 7, SK_ColorBLACK, true, SK_ColorTRANSPARENT}, |
+ {8, 13, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {0, 0, 0, false, SK_ColorTRANSPARENT}}}, |
+ |
+ // Error underline. |
+ {"One Two Three", |
+ {{PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 0, 3}, |
+ {PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_ERROR, 4, 7}, |
+ {PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 8, 13}, |
+ {0, 0, 0, 0}}, |
+ {{0, 3, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {4, 7, SK_ColorRED, false, SK_ColorTRANSPARENT}, |
+ {8, 13, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {0, 0, 0, false, SK_ColorTRANSPARENT}}}, |
+ |
+ // Default underline. |
+ {"One Two Three", |
+ {{0, 0, 0, 0}}, |
+ {{0, 13, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {0, 0, 0, false, SK_ColorTRANSPARENT}}}, |
+ |
+ // Unicode, including non-BMP characters: "123你好𠀀𠀁一丁 456" |
+ {"123\xE4\xBD\xA0\xE5\xA5\xBD\xF0\xA0\x80\x80\xF0\xA0\x80\x81\xE4\xB8\x80" |
+ "\xE4\xB8\x81 456", |
+ {{PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 0, 3}, |
+ {PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 3, 5}, |
+ {PANGO_ATTR_BACKGROUND, 0, 5, 7}, |
+ {PANGO_ATTR_UNDERLINE, PANGO_UNDERLINE_SINGLE, 7, 13}, |
+ {0, 0, 0, 0}}, |
+ {{0, 3, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {3, 5, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {5, 9, SK_ColorBLACK, true, SK_ColorTRANSPARENT}, |
+ {9, 15, SK_ColorBLACK, false, SK_ColorTRANSPARENT}, |
+ {0, 0, 0, false, SK_ColorTRANSPARENT}}}, |
}; |
void CompareUnderline(const Underline& a, |
@@ -103,6 +99,7 @@ void CompareUnderline(const Underline& a, |
EXPECT_EQ(a.end_offset, b.end_offset); |
EXPECT_EQ(a.color, b.color); |
EXPECT_EQ(a.thick, b.thick); |
+ EXPECT_EQ(a.background_color, b.background_color); |
} |
TEST(CompositionTextUtilPangoTest, ExtractCompositionText) { |