summaryrefslogtreecommitdiffstats
path: root/dbus/bus_unittest.cc
diff options
context:
space:
mode:
authorkeybuk@google.com <keybuk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-14 21:29:06 +0000
committerkeybuk@google.com <keybuk@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2012-02-14 21:29:06 +0000
commit216ed0bef820f496f853510c6fb274a817257ea6 (patch)
tree04f3091bce4100749e7d167d033a69a61b9a6a90 /dbus/bus_unittest.cc
parentd8f0b2d5f854cde9556fb4a9bc1a61e636aeba8e (diff)
downloadchromium_src-216ed0bef820f496f853510c6fb274a817257ea6.zip
chromium_src-216ed0bef820f496f853510c6fb274a817257ea6.tar.gz
chromium_src-216ed0bef820f496f853510c6fb274a817257ea6.tar.bz2
dbus: add ObjectPath type
Rather than use std::string for object paths, add a dbus::ObjectPath type that wraps one while allowing more type-safety. This solves all sorts of issues with confusing object paths for strings, and allows us to do Properties code using templates disambiguating them from strings. BUG=chromium:109194 TEST=built and run tests Change-Id: Icaf6f19daea4af23a9d2ec0ed76d2cbd379d680e Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=121920 Review URL: https://chromiumcodereview.appspot.com/9378039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121941 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'dbus/bus_unittest.cc')
-rw-r--r--dbus/bus_unittest.cc25
1 files changed, 14 insertions, 11 deletions
diff --git a/dbus/bus_unittest.cc b/dbus/bus_unittest.cc
index c21044b..c66a05b 100644
--- a/dbus/bus_unittest.cc
+++ b/dbus/bus_unittest.cc
@@ -9,6 +9,7 @@
#include "base/memory/ref_counted.h"
#include "base/threading/thread.h"
#include "dbus/exported_object.h"
+#include "dbus/object_path.h"
#include "dbus/object_proxy.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -30,20 +31,21 @@ TEST(BusTest, GetObjectProxy) {
dbus::ObjectProxy* object_proxy1 =
bus->GetObjectProxy("org.chromium.TestService",
- "/org/chromium/TestObject");
+ dbus::ObjectPath("/org/chromium/TestObject"));
ASSERT_TRUE(object_proxy1);
// This should return the same object.
dbus::ObjectProxy* object_proxy2 =
bus->GetObjectProxy("org.chromium.TestService",
- "/org/chromium/TestObject");
+ dbus::ObjectPath("/org/chromium/TestObject"));
ASSERT_TRUE(object_proxy2);
EXPECT_EQ(object_proxy1, object_proxy2);
// This should not.
dbus::ObjectProxy* object_proxy3 =
- bus->GetObjectProxy("org.chromium.TestService",
- "/org/chromium/DifferentTestObject");
+ bus->GetObjectProxy(
+ "org.chromium.TestService",
+ dbus::ObjectPath("/org/chromium/DifferentTestObject"));
ASSERT_TRUE(object_proxy3);
EXPECT_NE(object_proxy1, object_proxy3);
@@ -57,7 +59,7 @@ TEST(BusTest, GetObjectProxyIgnoreUnknownService) {
dbus::ObjectProxy* object_proxy1 =
bus->GetObjectProxyWithOptions(
"org.chromium.TestService",
- "/org/chromium/TestObject",
+ dbus::ObjectPath("/org/chromium/TestObject"),
dbus::ObjectProxy::IGNORE_SERVICE_UNKNOWN_ERRORS);
ASSERT_TRUE(object_proxy1);
@@ -65,7 +67,7 @@ TEST(BusTest, GetObjectProxyIgnoreUnknownService) {
dbus::ObjectProxy* object_proxy2 =
bus->GetObjectProxyWithOptions(
"org.chromium.TestService",
- "/org/chromium/TestObject",
+ dbus::ObjectPath("/org/chromium/TestObject"),
dbus::ObjectProxy::IGNORE_SERVICE_UNKNOWN_ERRORS);
ASSERT_TRUE(object_proxy2);
EXPECT_EQ(object_proxy1, object_proxy2);
@@ -74,7 +76,7 @@ TEST(BusTest, GetObjectProxyIgnoreUnknownService) {
dbus::ObjectProxy* object_proxy3 =
bus->GetObjectProxyWithOptions(
"org.chromium.TestService",
- "/org/chromium/DifferentTestObject",
+ dbus::ObjectPath("/org/chromium/DifferentTestObject"),
dbus::ObjectProxy::IGNORE_SERVICE_UNKNOWN_ERRORS);
ASSERT_TRUE(object_proxy3);
EXPECT_NE(object_proxy1, object_proxy3);
@@ -88,20 +90,21 @@ TEST(BusTest, GetExportedObject) {
dbus::ExportedObject* object_proxy1 =
bus->GetExportedObject("org.chromium.TestService",
- "/org/chromium/TestObject");
+ dbus::ObjectPath("/org/chromium/TestObject"));
ASSERT_TRUE(object_proxy1);
// This should return the same object.
dbus::ExportedObject* object_proxy2 =
bus->GetExportedObject("org.chromium.TestService",
- "/org/chromium/TestObject");
+ dbus::ObjectPath("/org/chromium/TestObject"));
ASSERT_TRUE(object_proxy2);
EXPECT_EQ(object_proxy1, object_proxy2);
// This should not.
dbus::ExportedObject* object_proxy3 =
- bus->GetExportedObject("org.chromium.TestService",
- "/org/chromium/DifferentTestObject");
+ bus->GetExportedObject(
+ "org.chromium.TestService",
+ dbus::ObjectPath("/org/chromium/DifferentTestObject"));
ASSERT_TRUE(object_proxy3);
EXPECT_NE(object_proxy1, object_proxy3);