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

Side by Side Diff: chromeos/dbus/ibus/ibus_object_unittest.cc

Issue 10384141: Extends IBusObject. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Introduce Pop/AppendIBusText as member function. Created 8 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // TODO(nona): Add more test case, especially fail case. 4 // TODO(nona): Add more test case, especially fail case.
5 5
6 #include "chromeos/dbus/ibus/ibus_object.h" 6 #include "chromeos/dbus/ibus/ibus_object.h"
7 7
8 #include <string> 8 #include <string>
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/scoped_ptr.h" 10 #include "base/memory/scoped_ptr.h"
11 #include "dbus/message.h" 11 #include "dbus/message.h"
12 #include "testing/gtest/include/gtest/gtest.h" 12 #include "testing/gtest/include/gtest/gtest.h"
13 13
14 namespace chromeos { 14 namespace chromeos {
15 15
16 // TODO(nona): Remove after complete libibus removal.
17 using chromeos::ibus::IBusText;
satorux1 2012/05/21 19:58:14 use ibus namespace here too.
Seigo Nonaka 2012/05/21 20:12:00 Done.
18
16 TEST(IBusObjectTest, WriteReadTest) { 19 TEST(IBusObjectTest, WriteReadTest) {
17 scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty()); 20 scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty());
18 dbus::MessageWriter writer(message.get()); 21 dbus::MessageWriter writer(message.get());
19 22
20 const char kSampleTypeName1[] = "Sample Type Name 1"; 23 const char kSampleTypeName1[] = "Sample Type Name 1";
21 const char kSampleTypeName2[] = "Sample Type Name 2"; 24 const char kSampleTypeName2[] = "Sample Type Name 2";
22 const char kSampleText1[] = "Sample Text 1"; 25 const char kSampleText1[] = "Sample Text 1";
23 const char kSampleText2[] = "Sample Text 2"; 26 const char kSampleText2[] = "Sample Text 2";
24 const uint32 kSampleUint32 = 12345UL; 27 const uint32 kSampleUint32 = 12345UL;
25 const int32 kSampleInt32 = 54321; 28 const int32 kSampleInt32 = 54321;
(...skipping 18 matching lines...) Expand all
44 47
45 // Read ibus_object. 48 // Read ibus_object.
46 dbus::MessageReader reader(message.get()); 49 dbus::MessageReader reader(message.get());
47 IBusObjectReader ibus_object_reader(kSampleTypeName1, &reader); 50 IBusObjectReader ibus_object_reader(kSampleTypeName1, &reader);
48 ASSERT_TRUE(ibus_object_reader.Init()); 51 ASSERT_TRUE(ibus_object_reader.Init());
49 // Check the first string value. 52 // Check the first string value.
50 std::string expected_string; 53 std::string expected_string;
51 ASSERT_TRUE(ibus_object_reader.PopString(&expected_string)); 54 ASSERT_TRUE(ibus_object_reader.PopString(&expected_string));
52 EXPECT_EQ(kSampleText1, expected_string); 55 EXPECT_EQ(kSampleText1, expected_string);
53 // Check the second uint32 value. 56 // Check the second uint32 value.
54 uint32 expected_uint32; 57 uint32 expected_uint32 = 0UL;
55 ASSERT_TRUE(ibus_object_reader.PopUint32(&expected_uint32)); 58 ASSERT_TRUE(ibus_object_reader.PopUint32(&expected_uint32));
56 EXPECT_EQ(kSampleUint32, expected_uint32); 59 EXPECT_EQ(kSampleUint32, expected_uint32);
57 // Check the third int value. 60 // Check the third int value.
58 int32 expected_int32; 61 int32 expected_int32 = 0;
59 ASSERT_TRUE(ibus_object_reader.PopInt32(&expected_int32)); 62 ASSERT_TRUE(ibus_object_reader.PopInt32(&expected_int32));
60 EXPECT_EQ(kSampleInt32, expected_int32); 63 EXPECT_EQ(kSampleInt32, expected_int32);
61 // Check the fourth boolean value. 64 // Check the fourth boolean value.
62 bool expected_bool; 65 bool expected_bool = true;
63 ASSERT_TRUE(ibus_object_reader.PopBool(&expected_bool)); 66 ASSERT_TRUE(ibus_object_reader.PopBool(&expected_bool));
64 EXPECT_EQ(kSampleBool, expected_bool); 67 EXPECT_EQ(kSampleBool, expected_bool);
65 // Check the fifth value which is array of uint32. 68 // Check the fifth value which is array of uint32.
66 dbus::MessageReader array_reader(NULL); 69 dbus::MessageReader array_reader(NULL);
67 ASSERT_TRUE(ibus_object_reader.PopArray(&array_reader)); 70 ASSERT_TRUE(ibus_object_reader.PopArray(&array_reader));
68 for (uint32 i = 0; i < kSampleArrayOfUint32Count; ++i) { 71 for (uint32 i = 0; i < kSampleArrayOfUint32Count; ++i) {
69 uint32 expected_uint32; 72 uint32 expected_uint32 = 0;
70 ASSERT_TRUE(array_reader.PopUint32(&expected_uint32)); 73 ASSERT_TRUE(array_reader.PopUint32(&expected_uint32));
71 EXPECT_EQ(i, expected_uint32); 74 EXPECT_EQ(i, expected_uint32);
72 } 75 }
73 // Check the sixth value which is IBusObject. 76 // Check the sixth value which is IBusObject.
74 IBusObjectReader ibus_nested_object_reader(kSampleTypeName2, NULL); 77 IBusObjectReader ibus_nested_object_reader(kSampleTypeName2, NULL);
75 ibus_object_reader.PopIBusObject(&ibus_nested_object_reader); 78 ibus_object_reader.PopIBusObject(&ibus_nested_object_reader);
76 std::string expected_text2; 79 std::string expected_text2;
77 ASSERT_TRUE(ibus_nested_object_reader.PopString(&expected_text2)); 80 ASSERT_TRUE(ibus_nested_object_reader.PopString(&expected_text2));
78 EXPECT_EQ(kSampleText2, expected_text2); 81 EXPECT_EQ(kSampleText2, expected_text2);
79 82
(...skipping 12 matching lines...) Expand all
92 IBusObjectWriter ibus_object_writer(kSampleTypeName, "", &writer); 95 IBusObjectWriter ibus_object_writer(kSampleTypeName, "", &writer);
93 ibus_object_writer.CloseAll(); 96 ibus_object_writer.CloseAll();
94 97
95 // Read empty IBusObject. 98 // Read empty IBusObject.
96 dbus::MessageReader reader(message.get()); 99 dbus::MessageReader reader(message.get());
97 IBusObjectReader ibus_object_reader(kSampleTypeName, &reader); 100 IBusObjectReader ibus_object_reader(kSampleTypeName, &reader);
98 ASSERT_TRUE(ibus_object_reader.Init()); 101 ASSERT_TRUE(ibus_object_reader.Init());
99 EXPECT_FALSE(ibus_object_reader.HasMoreData()); 102 EXPECT_FALSE(ibus_object_reader.HasMoreData());
100 } 103 }
101 104
102 TEST(IBusObjctTest, WriteWithGetContentsWriterTest) { 105 TEST(IBusObjectTest, PopAppendIBusTextTest) {
103 const char kSampleTypeName[] = "IBusObject Name"; 106 const char kSampleTypeName[] = "Empty IBusObject Name";
104 const char kSampleText[] = "Sample Text 1"; 107 const char kSampleString[] = "Sapmle String";
108 IBusText::SelectionAttribute selection_attribute;
109 selection_attribute.start_index = 0UL;
110 selection_attribute.end_index = 10UL;
105 scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty()); 111 scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty());
106 112
107 // Write string by writer given by GetContentsWriter. 113 // Write IBusText.
108 dbus::MessageWriter writer(message.get()); 114 dbus::MessageWriter writer(message.get());
109 IBusObjectWriter ibus_object_writer(kSampleTypeName, "s", &writer); 115 IBusObjectWriter ibus_object_writer(kSampleTypeName, "v", &writer);
110 dbus::MessageWriter* contents_writer = ibus_object_writer.GetContentsWriter(); 116 IBusText ibus_text;
111 ASSERT_TRUE(contents_writer); 117 ibus_text.mutable_selection_attributes()->push_back(selection_attribute);
112 contents_writer->AppendString(kSampleText); 118 ibus_text.set_text(kSampleString);
119 ibus_object_writer.AppendIBusText(ibus_text);
113 ibus_object_writer.CloseAll(); 120 ibus_object_writer.CloseAll();
114 121
115 // Read by IBusObjectReader to make sure string exists in same field. 122 // Read IBusText;
116 dbus::MessageReader reader(message.get()); 123 dbus::MessageReader reader(message.get());
117 IBusObjectReader ibus_object_reader(kSampleTypeName, &reader); 124 IBusObjectReader ibus_object_reader(kSampleTypeName, &reader);
125 IBusText result_text;
118 ASSERT_TRUE(ibus_object_reader.Init()); 126 ASSERT_TRUE(ibus_object_reader.Init());
119 std::string actual_value; 127 ASSERT_TRUE(ibus_object_reader.PopIBusText(&result_text));
120 ASSERT_TRUE(ibus_object_reader.PopString(&actual_value)); 128 EXPECT_FALSE(ibus_object_reader.HasMoreData());
121 EXPECT_EQ(kSampleText, actual_value); 129 EXPECT_EQ(kSampleString, result_text.text());
130 const std::vector<IBusText::SelectionAttribute>& selection_attributes =
131 result_text.selection_attributes();
132 ASSERT_EQ(1UL, selection_attributes.size());
133 EXPECT_EQ(selection_attribute.start_index,
134 selection_attributes[0].start_index);
135 EXPECT_EQ(selection_attribute.end_index,
136 selection_attributes[0].end_index);
122 } 137 }
123 138
124 TEST(IBusObjctTest, ReadWithGetContentsReaderTest) { 139 TEST(IBusObjectTest, PopAppendStringAsIBusText) {
125 const char kSampleTypeName[] = "IBusObject Name"; 140 const char kSampleTypeName[] = "Empty IBusObject Name";
126 const char kSampleText[] = "Sample Text 1"; 141 const char kSampleString[] = "Sapmle String";
127 scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty()); 142 scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty());
128 143
129 // Write string by IBusObject. 144 // Write string as IBusText.
130 dbus::MessageWriter writer(message.get()); 145 dbus::MessageWriter writer(message.get());
131 IBusObjectWriter ibus_object_writer(kSampleTypeName, "s", &writer); 146 IBusObjectWriter ibus_object_writer(kSampleTypeName, "v", &writer);
132 ibus_object_writer.AppendString(kSampleText); 147 ibus_object_writer.AppendStringAsIBusText(kSampleString);
133 ibus_object_writer.CloseAll(); 148 ibus_object_writer.CloseAll();
134 149
135 // Read string by reader given by GetContentsReader. 150 // Read string from IBusText;
136 dbus::MessageReader reader(message.get()); 151 dbus::MessageReader reader(message.get());
137 IBusObjectReader ibus_object_reader(kSampleTypeName, &reader); 152 IBusObjectReader ibus_object_reader(kSampleTypeName, &reader);
153 std::string result_str;
138 ASSERT_TRUE(ibus_object_reader.Init()); 154 ASSERT_TRUE(ibus_object_reader.Init());
139 dbus::MessageReader* contents_reader = ibus_object_reader.GetContentsReader(); 155 ASSERT_TRUE(ibus_object_reader.PopStringFromIBusText(&result_str));
140 ASSERT_TRUE(contents_reader); 156 EXPECT_FALSE(ibus_object_reader.HasMoreData());
141 std::string actual_value; 157 EXPECT_EQ(kSampleString, result_str);
142 ASSERT_TRUE(contents_reader->PopString(&actual_value));
143 EXPECT_EQ(kSampleText, actual_value);
144 } 158 }
145 159
146 } // namespace chromeos 160 } // namespace chromeos
OLDNEW
« chromeos/dbus/ibus/ibus_object.cc ('K') | « chromeos/dbus/ibus/ibus_object.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698