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

Unified Diff: services/ui/public/interfaces/ime/ime_struct_traits_unittest.cc

Issue 2839243002: IME for Mus: Structs and StructTraits for IME Candidate Window. (Closed)
Patch Set: Check for deserialization success. Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « services/ui/public/interfaces/ime/ime_struct_traits.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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..8041d4bf6d032af1ec84ddcb691e4f78658611ae 100644
--- a/services/ui/public/interfaces/ime/ime_struct_traits_unittest.cc
+++ b/services/ui/public/interfaces/ime/ime_struct_traits_unittest.cc
@@ -2,6 +2,8 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "services/ui/public/interfaces/ime/ime_struct_traits.h"
+
#include "base/message_loop/message_loop.h"
#include "base/strings/utf_string_conversions.h"
#include "mojo/public/cpp/bindings/binding_set.h"
@@ -48,6 +50,63 @@ 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;
+
+ CandidateWindow::CandidateWindowProperty output;
+ EXPECT_TRUE(mojom::CandidateWindowProperties::Deserialize(
+ mojom::CandidateWindowProperties::Serialize(&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;
+ EXPECT_TRUE(mojom::CandidateWindowProperties::Deserialize(
+ mojom::CandidateWindowProperties::Serialize(&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");
+
+ CandidateWindow::Entry output;
+ EXPECT_TRUE(mojom::CandidateWindowEntry::Deserialize(
+ mojom::CandidateWindowEntry::Serialize(&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");
« no previous file with comments | « services/ui/public/interfaces/ime/ime_struct_traits.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698