OLD | NEW |
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 <vector> | 9 #include <vector> |
10 #include "base/logging.h" | 10 #include "base/logging.h" |
11 #include "base/memory/scoped_ptr.h" | 11 #include "base/memory/scoped_ptr.h" |
12 #include "base/values.h" | 12 #include "base/values.h" |
13 #include "dbus/message.h" | 13 #include "dbus/message.h" |
14 #include "testing/gtest/include/gtest/gtest.h" | 14 #include "testing/gtest/include/gtest/gtest.h" |
15 | 15 |
16 namespace chromeos { | 16 namespace chromeos { |
17 // TODO(nona): Remove ibus namespace after complete libibus removal. | |
18 namespace ibus { | |
19 | 17 |
20 TEST(IBusObjectTest, WriteReadTest) { | 18 TEST(IBusObjectTest, WriteReadTest) { |
21 scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty()); | 19 scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty()); |
22 dbus::MessageWriter writer(message.get()); | 20 dbus::MessageWriter writer(message.get()); |
23 | 21 |
24 const char kSampleTypeName1[] = "Sample Type Name 1"; | 22 const char kSampleTypeName1[] = "Sample Type Name 1"; |
25 const char kSampleTypeName2[] = "Sample Type Name 2"; | 23 const char kSampleTypeName2[] = "Sample Type Name 2"; |
26 const char kSampleText1[] = "Sample Text 1"; | 24 const char kSampleText1[] = "Sample Text 1"; |
27 const char kSampleText2[] = "Sample Text 2"; | 25 const char kSampleText2[] = "Sample Text 2"; |
28 const uint32 kSampleUint32 = 12345UL; | 26 const uint32 kSampleUint32 = 12345UL; |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
184 const char kSampleKey[] = "Key"; | 182 const char kSampleKey[] = "Key"; |
185 const IBusProperty::IBusPropertyType kSampleType = | 183 const IBusProperty::IBusPropertyType kSampleType = |
186 IBusProperty::IBUS_PROPERTY_TYPE_MENU; | 184 IBusProperty::IBUS_PROPERTY_TYPE_MENU; |
187 const char kSampleLabel[] = "Label"; | 185 const char kSampleLabel[] = "Label"; |
188 const char kSampleTooltip[] = "Tooltip"; | 186 const char kSampleTooltip[] = "Tooltip"; |
189 const bool kSampleVisible = true; | 187 const bool kSampleVisible = true; |
190 const bool kSampleChecked = false; | 188 const bool kSampleChecked = false; |
191 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); | 189 scoped_ptr<dbus::Response> response(dbus::Response::CreateEmpty()); |
192 | 190 |
193 // Create IBusProperty. | 191 // Create IBusProperty. |
194 ibus::IBusProperty property; | 192 IBusProperty property; |
195 property.set_key(kSampleKey); | 193 property.set_key(kSampleKey); |
196 property.set_type(kSampleType); | 194 property.set_type(kSampleType); |
197 property.set_label(kSampleLabel); | 195 property.set_label(kSampleLabel); |
198 property.set_tooltip(kSampleTooltip); | 196 property.set_tooltip(kSampleTooltip); |
199 property.set_visible(kSampleVisible); | 197 property.set_visible(kSampleVisible); |
200 property.set_checked(kSampleChecked); | 198 property.set_checked(kSampleChecked); |
201 | 199 |
202 // Write a IBusProperty. | 200 // Write a IBusProperty. |
203 dbus::MessageWriter writer(response.get()); | 201 dbus::MessageWriter writer(response.get()); |
204 IBusObjectWriter ibus_object_writer(kSampleTypeName, "v", &writer); | 202 IBusObjectWriter ibus_object_writer(kSampleTypeName, "v", &writer); |
205 ibus_object_writer.CloseHeader(); | 203 ibus_object_writer.CloseHeader(); |
206 ibus_object_writer.AppendIBusProperty(property); | 204 ibus_object_writer.AppendIBusProperty(property); |
207 ibus_object_writer.CloseAll(); | 205 ibus_object_writer.CloseAll(); |
208 | 206 |
209 // Read string from IBusText. | 207 // Read string from IBusText. |
210 dbus::MessageReader reader(response.get()); | 208 dbus::MessageReader reader(response.get()); |
211 IBusObjectReader ibus_object_reader(kSampleTypeName, &reader); | 209 IBusObjectReader ibus_object_reader(kSampleTypeName, &reader); |
212 ibus::IBusProperty result_property; | 210 IBusProperty result_property; |
213 ASSERT_TRUE(ibus_object_reader.Init()); | 211 ASSERT_TRUE(ibus_object_reader.Init()); |
214 ASSERT_TRUE(ibus_object_reader.PopIBusProperty(&result_property)); | 212 ASSERT_TRUE(ibus_object_reader.PopIBusProperty(&result_property)); |
215 EXPECT_EQ(kSampleKey, result_property.key()); | 213 EXPECT_EQ(kSampleKey, result_property.key()); |
216 EXPECT_EQ(kSampleType, result_property.type()); | 214 EXPECT_EQ(kSampleType, result_property.type()); |
217 EXPECT_EQ(kSampleLabel, result_property.label()); | 215 EXPECT_EQ(kSampleLabel, result_property.label()); |
218 EXPECT_EQ(kSampleTooltip, result_property.tooltip()); | 216 EXPECT_EQ(kSampleTooltip, result_property.tooltip()); |
219 EXPECT_EQ(kSampleVisible, result_property.visible()); | 217 EXPECT_EQ(kSampleVisible, result_property.visible()); |
220 EXPECT_EQ(kSampleChecked, result_property.checked()); | 218 EXPECT_EQ(kSampleChecked, result_property.checked()); |
221 } | 219 } |
222 | 220 |
223 } // namespace ibus | |
224 } // namespace chromeos | 221 } // namespace chromeos |
OLD | NEW |