| Index: dbus/message_unittest.cc
|
| diff --git a/dbus/message_unittest.cc b/dbus/message_unittest.cc
|
| index 9d87c2ad51fc395f5e649544745b799cc51650a8..d78d90f2de579ee3a31f6a9c27f3c22e08097422 100644
|
| --- a/dbus/message_unittest.cc
|
| +++ b/dbus/message_unittest.cc
|
| @@ -565,12 +565,12 @@ TEST(MessageTest, GetAndSetHeaders) {
|
| EXPECT_EQ(0U, message->GetSerial());
|
| EXPECT_EQ(0U, message->GetReplySerial());
|
|
|
| - message->SetDestination("org.chromium.destination");
|
| - message->SetPath(dbus::ObjectPath("/org/chromium/path"));
|
| - message->SetInterface("org.chromium.interface");
|
| - message->SetMember("member");
|
| - message->SetErrorName("org.chromium.error");
|
| - message->SetSender(":1.2");
|
| + EXPECT_TRUE(message->SetDestination("org.chromium.destination"));
|
| + EXPECT_TRUE(message->SetPath(dbus::ObjectPath("/org/chromium/path")));
|
| + EXPECT_TRUE(message->SetInterface("org.chromium.interface"));
|
| + EXPECT_TRUE(message->SetMember("member"));
|
| + EXPECT_TRUE(message->SetErrorName("org.chromium.error"));
|
| + EXPECT_TRUE(message->SetSender(":1.2"));
|
| message->SetSerial(123);
|
| message->SetReplySerial(456);
|
|
|
| @@ -583,3 +583,33 @@ TEST(MessageTest, GetAndSetHeaders) {
|
| EXPECT_EQ(123U, message->GetSerial());
|
| EXPECT_EQ(456U, message->GetReplySerial());
|
| }
|
| +
|
| +TEST(MessageTest, SetInvalidHeaders) {
|
| + scoped_ptr<dbus::Response> message(dbus::Response::CreateEmpty());
|
| + EXPECT_EQ("", message->GetDestination());
|
| + EXPECT_EQ(dbus::ObjectPath(""), message->GetPath());
|
| + EXPECT_EQ("", message->GetInterface());
|
| + EXPECT_EQ("", message->GetMember());
|
| + EXPECT_EQ("", message->GetErrorName());
|
| + EXPECT_EQ("", message->GetSender());
|
| +
|
| + // Empty element between periods.
|
| + EXPECT_FALSE(message->SetDestination("org..chromium"));
|
| + // Trailing '/' is only allowed for the root path.
|
| + EXPECT_FALSE(message->SetPath(dbus::ObjectPath("/org/chromium/")));
|
| + // Interface name cannot contain '/'.
|
| + EXPECT_FALSE(message->SetInterface("org/chromium/interface"));
|
| + // Member name cannot begin with a digit.
|
| + EXPECT_FALSE(message->SetMember("1member"));
|
| + // Error name cannot begin with a period.
|
| + EXPECT_FALSE(message->SetErrorName(".org.chromium.error"));
|
| + // Disallowed characters.
|
| + EXPECT_FALSE(message->SetSender("?!#*"));
|
| +
|
| + EXPECT_EQ("", message->GetDestination());
|
| + EXPECT_EQ(dbus::ObjectPath(""), message->GetPath());
|
| + EXPECT_EQ("", message->GetInterface());
|
| + EXPECT_EQ("", message->GetMember());
|
| + EXPECT_EQ("", message->GetErrorName());
|
| + EXPECT_EQ("", message->GetSender());
|
| +}
|
|
|