summaryrefslogtreecommitdiffstats
path: root/dbus/message_unittest.cc
diff options
context:
space:
mode:
authorsatorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-11 02:13:56 +0000
committersatorux@chromium.org <satorux@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-11-11 02:13:56 +0000
commit3ed062686e3cb3654ce101a5a2c409904e6ced8b (patch)
tree3b778eef59f969999da0631528b7ddbe6fc8cd32 /dbus/message_unittest.cc
parent106ad14cdd25ff6574a340b7b1c8182d70973723 (diff)
downloadchromium_src-3ed062686e3cb3654ce101a5a2c409904e6ced8b.zip
chromium_src-3ed062686e3cb3654ce101a5a2c409904e6ced8b.tar.gz
chromium_src-3ed062686e3cb3654ce101a5a2c409904e6ced8b.tar.bz2
dbus: Fix a bug where we rejected an empty array in PopArrayOfBytes()
An empty array should be allowed. Sometimes, you need to send an empty array from methods and signals. BUG=103793 TEST=added a test in dbus_unittests Review URL: http://codereview.chromium.org/8525012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@109561 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'dbus/message_unittest.cc')
-rw-r--r--dbus/message_unittest.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/dbus/message_unittest.cc b/dbus/message_unittest.cc
index 29fe888..9c76b0d 100644
--- a/dbus/message_unittest.cc
+++ b/dbus/message_unittest.cc
@@ -171,6 +171,21 @@ TEST(MessageTest, ArrayOfBytes) {
EXPECT_EQ(3, output_bytes[2]);
}
+TEST(MessageTest, ArrayOfBytes_Empty) {
+ scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty());
+ dbus::MessageWriter writer(message.get());
+ std::vector<uint8> bytes;
+ writer.AppendArrayOfBytes(bytes.data(), bytes.size());
+
+ dbus::MessageReader reader(message.get());
+ uint8* output_bytes = NULL;
+ size_t length = 0;
+ ASSERT_TRUE(reader.PopArrayOfBytes(&output_bytes, &length));
+ ASSERT_FALSE(reader.HasMoreData());
+ ASSERT_EQ(0U, length);
+ EXPECT_EQ(NULL, output_bytes);
+}
+
TEST(MessageTest, ArrayOfStrings) {
scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty());
dbus::MessageWriter writer(message.get());