| Index: services/ui/public/interfaces/ime/ime_struct_traits_unittest.cc
|
| diff --git a/services/ui/public/interfaces/ime/ime_struct_traits_unittest.cc b/services/ui/public/interfaces/ime/ime_struct_traits_unittest.cc
|
| index ebc6043e0b17a4758bef303a5e54ce38821c3908..cf7b4e66988411a0391fc19388d5bd4abfcee176 100644
|
| --- a/services/ui/public/interfaces/ime/ime_struct_traits_unittest.cc
|
| +++ b/services/ui/public/interfaces/ime/ime_struct_traits_unittest.cc
|
| @@ -26,6 +26,16 @@ class IMEStructTraitsTest : public testing::Test,
|
|
|
| private:
|
| // mojom::IMEStructTraitsTest:
|
| + void EchoCandidateWindowProperties(
|
| + const CandidateWindow::CandidateWindowProperty& in,
|
| + const EchoCandidateWindowPropertiesCallback& callback) override {
|
| + callback.Run(in);
|
| + }
|
| + void EchoCandidateWindowEntry(
|
| + const CandidateWindow::Entry& in,
|
| + const EchoCandidateWindowEntryCallback& callback) override {
|
| + callback.Run(in);
|
| + }
|
| void EchoCompositionText(
|
| const CompositionText& in,
|
| const EchoCompositionTextCallback& callback) override {
|
| @@ -48,6 +58,62 @@ class IMEStructTraitsTest : public testing::Test,
|
|
|
| } // namespace
|
|
|
| +TEST_F(IMEStructTraitsTest, CandidateWindowProperties) {
|
| + CandidateWindow::CandidateWindowProperty input;
|
| + input.page_size = 7;
|
| + input.cursor_position = 3;
|
| + input.is_cursor_visible = true;
|
| + input.is_vertical = false;
|
| + input.show_window_at_composition = true;
|
| + input.auxiliary_text = "abcdefghij";
|
| + input.is_auxiliary_text_visible = false;
|
| +
|
| + mojom::IMEStructTraitsTestPtr proxy = GetTraitsTestProxy();
|
| + CandidateWindow::CandidateWindowProperty output;
|
| + proxy->EchoCandidateWindowProperties(input, &output);
|
| +
|
| + EXPECT_EQ(input.page_size, output.page_size);
|
| + EXPECT_EQ(input.cursor_position, output.cursor_position);
|
| + EXPECT_EQ(input.is_cursor_visible, output.is_cursor_visible);
|
| + EXPECT_EQ(input.is_vertical, output.is_vertical);
|
| + EXPECT_EQ(input.show_window_at_composition,
|
| + output.show_window_at_composition);
|
| + EXPECT_EQ(input.auxiliary_text, output.auxiliary_text);
|
| + EXPECT_EQ(input.is_auxiliary_text_visible, output.is_auxiliary_text_visible);
|
| +
|
| + // Reverse boolean fields and check we still serialize/deserialize correctly.
|
| + input.is_cursor_visible = !input.is_cursor_visible;
|
| + input.is_vertical = !input.is_vertical;
|
| + input.show_window_at_composition = !input.show_window_at_composition;
|
| + input.is_auxiliary_text_visible = !input.is_auxiliary_text_visible;
|
| + proxy->EchoCandidateWindowProperties(input, &output);
|
| +
|
| + EXPECT_EQ(input.is_cursor_visible, output.is_cursor_visible);
|
| + EXPECT_EQ(input.is_vertical, output.is_vertical);
|
| + EXPECT_EQ(input.show_window_at_composition,
|
| + output.show_window_at_composition);
|
| + EXPECT_EQ(input.is_auxiliary_text_visible, output.is_auxiliary_text_visible);
|
| +}
|
| +
|
| +TEST_F(IMEStructTraitsTest, CandidateWindowEntry) {
|
| + CandidateWindow::Entry input;
|
| + input.value = base::UTF8ToUTF16("entry_value");
|
| + input.label = base::UTF8ToUTF16("entry_label");
|
| + input.annotation = base::UTF8ToUTF16("entry_annotation");
|
| + input.description_title = base::UTF8ToUTF16("entry_description_title");
|
| + input.description_body = base::UTF8ToUTF16("entry_description_body");
|
| +
|
| + mojom::IMEStructTraitsTestPtr proxy = GetTraitsTestProxy();
|
| + CandidateWindow::Entry output;
|
| + proxy->EchoCandidateWindowEntry(input, &output);
|
| +
|
| + EXPECT_EQ(input.value, output.value);
|
| + EXPECT_EQ(input.label, output.label);
|
| + EXPECT_EQ(input.annotation, output.annotation);
|
| + EXPECT_EQ(input.description_title, output.description_title);
|
| + EXPECT_EQ(input.description_body, output.description_body);
|
| +}
|
| +
|
| TEST_F(IMEStructTraitsTest, CompositionText) {
|
| CompositionText input;
|
| input.text = base::UTF8ToUTF16("abcdefghij");
|
|
|