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

Unified Diff: chromeos/dbus/ibus/ibus_object_unittest.cc

Issue 11361210: Extends IBusObject to handle attachment field. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix include order Created 8 years, 1 month 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 | « chromeos/dbus/ibus/ibus_object.cc ('k') | chromeos/dbus/ibus/ibus_property.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/ibus/ibus_object_unittest.cc
diff --git a/chromeos/dbus/ibus/ibus_object_unittest.cc b/chromeos/dbus/ibus/ibus_object_unittest.cc
index 468e268edb68cbb2115d97e6cb3ca1030a09e5a2..0d1a2e255ea822c593bf0b6367b4a50362e7c0ac 100644
--- a/chromeos/dbus/ibus/ibus_object_unittest.cc
+++ b/chromeos/dbus/ibus/ibus_object_unittest.cc
@@ -9,6 +9,7 @@
#include <vector>
#include "base/logging.h"
#include "base/memory/scoped_ptr.h"
+#include "base/values.h"
#include "dbus/message.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -28,9 +29,19 @@ TEST(IBusObjectTest, WriteReadTest) {
const int32 kSampleInt32 = 54321;
const bool kSampleBool = false;
const uint32 kSampleArrayOfUint32Count = 10UL;
+ const char kAttachmentKey[] = "key";
+ const char kStringAttachment[] = "Attachment String Value";
// Create ibus object.
IBusObjectWriter ibus_object_writer(kSampleTypeName1, "suibauv", &writer);
+
+ // Write attachment field.
+ scoped_ptr<base::Value> write_value(
+ base::Value::CreateStringValue(kStringAttachment));
+ ibus_object_writer.AddAttachment(kAttachmentKey, *write_value.get());
+ ibus_object_writer.CloseHeader();
+
+ // Write contents values.
ibus_object_writer.AppendString(kSampleText1);
ibus_object_writer.AppendUint32(kSampleUint32);
ibus_object_writer.AppendInt32(kSampleInt32);
@@ -42,6 +53,7 @@ TEST(IBusObjectTest, WriteReadTest) {
ibus_object_writer.CloseContainer(&array_writer);
IBusObjectWriter ibus_nested_object_writer(kSampleTypeName2, "s", NULL);
ibus_object_writer.AppendIBusObject(&ibus_nested_object_writer);
+ ibus_nested_object_writer.CloseHeader();
ibus_nested_object_writer.AppendString(kSampleText2);
ibus_object_writer.CloseAll();
@@ -49,6 +61,13 @@ TEST(IBusObjectTest, WriteReadTest) {
dbus::MessageReader reader(message.get());
IBusObjectReader ibus_object_reader(kSampleTypeName1, &reader);
ASSERT_TRUE(ibus_object_reader.Init());
+ // Check the attachment value;
+ const base::Value* read_value =
+ ibus_object_reader.GetAttachment(kAttachmentKey);
+ ASSERT_TRUE(read_value);
+ std::string attachment_value;
+ ASSERT_TRUE(read_value->GetAsString(&attachment_value));
+ EXPECT_EQ(kStringAttachment, attachment_value);
// Check the first string value.
std::string expected_string;
ASSERT_TRUE(ibus_object_reader.PopString(&expected_string));
@@ -93,6 +112,7 @@ TEST(IBusObjectTest, EmptyEntryTest) {
// Write empty IBusObject.
dbus::MessageWriter writer(message.get());
IBusObjectWriter ibus_object_writer(kSampleTypeName, "", &writer);
+ ibus_object_writer.CloseHeader();
ibus_object_writer.CloseAll();
// Read empty IBusObject.
@@ -113,6 +133,7 @@ TEST(IBusObjectTest, PopAppendIBusTextTest) {
// Write IBusText.
dbus::MessageWriter writer(message.get());
IBusObjectWriter ibus_object_writer(kSampleTypeName, "v", &writer);
+ ibus_object_writer.CloseHeader();
IBusText ibus_text;
ibus_text.mutable_selection_attributes()->push_back(selection_attribute);
ibus_text.set_text(kSampleString);
@@ -144,6 +165,7 @@ TEST(IBusObjectTest, PopAppendStringAsIBusText) {
// Write string as IBusText.
dbus::MessageWriter writer(message.get());
IBusObjectWriter ibus_object_writer(kSampleTypeName, "v", &writer);
+ ibus_object_writer.CloseHeader();
ibus_object_writer.AppendStringAsIBusText(kSampleString);
ibus_object_writer.CloseAll();
@@ -157,60 +179,6 @@ TEST(IBusObjectTest, PopAppendStringAsIBusText) {
EXPECT_EQ(kSampleString, result_str);
}
-TEST(IBusObjectTest, AttachmentTest) {
- // The IBusObjectWriter does not support attachment field writing, so crate
- // IBusObject with attachment field manually.
- const char kSampleTypeName[] = "IBusObject Name";
- const char kSampleDictKey[] = "Sample Key";
- const char kSampleText[] = "SampleText";
- scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty());
- dbus::MessageWriter writer(message.get());
-
- // Create IBusObject header.
- dbus::MessageWriter top_variant_writer(NULL);
- writer.OpenVariant("(sa{sv})", &top_variant_writer);
- dbus::MessageWriter contents_writer(NULL);
- top_variant_writer.OpenStruct(&contents_writer);
- contents_writer.AppendString(kSampleTypeName);
-
- // Write values into attachment field.
- dbus::MessageWriter attachment_array_writer(NULL);
- contents_writer.OpenArray("{sv}", &attachment_array_writer);
- dbus::MessageWriter entry_writer(NULL);
- attachment_array_writer.OpenDictEntry(&entry_writer);
- entry_writer.AppendString(kSampleDictKey);
- dbus::MessageWriter variant_writer(NULL);
- entry_writer.OpenVariant("s",&variant_writer);
- variant_writer.AppendString(kSampleText);
-
- // Close all containers.
- entry_writer.CloseContainer(&variant_writer);
- attachment_array_writer.CloseContainer(&entry_writer);
- contents_writer.CloseContainer(&attachment_array_writer);
- top_variant_writer.CloseContainer(&contents_writer);
- writer.CloseContainer(&top_variant_writer);
-
- // Read with IBusObjectReader.
- dbus::MessageReader reader(message.get());
- IBusObjectReader ibus_object_reader(kSampleTypeName, &reader);
- dbus::MessageReader attr_reader(NULL);
- ASSERT_TRUE(ibus_object_reader.InitWithAttachmentReader(&attr_reader));
- dbus::MessageReader dict_reader(NULL);
-
- // Check the values.
- ASSERT_TRUE(attr_reader.PopDictEntry(&dict_reader));
- std::string key;
- std::string value;
-
- ASSERT_TRUE(dict_reader.PopString(&key));
- EXPECT_EQ(kSampleDictKey, key);
-
- dbus::MessageReader variant_reader(NULL);
- ASSERT_TRUE(dict_reader.PopVariant(&variant_reader));
- ASSERT_TRUE(variant_reader.PopString(&value));
- EXPECT_EQ(kSampleText, value);
-}
-
TEST(IBusObjectTest, PopAppendIBusPropertyTest) {
const char kSampleTypeName[] = "Empty IBusObject Name";
const char kSampleKey[] = "Key";
@@ -234,6 +202,7 @@ TEST(IBusObjectTest, PopAppendIBusPropertyTest) {
// Write a IBusProperty.
dbus::MessageWriter writer(response.get());
IBusObjectWriter ibus_object_writer(kSampleTypeName, "v", &writer);
+ ibus_object_writer.CloseHeader();
ibus_object_writer.AppendIBusProperty(property);
ibus_object_writer.CloseAll();
« no previous file with comments | « chromeos/dbus/ibus/ibus_object.cc ('k') | chromeos/dbus/ibus/ibus_property.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698