Index: dbus/bus_unittest.cc |
diff --git a/dbus/bus_unittest.cc b/dbus/bus_unittest.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5cd198d9f50757f4bf614c5ce17b9d7b14fcf38d |
--- /dev/null |
+++ b/dbus/bus_unittest.cc |
@@ -0,0 +1,59 @@ |
+// Copyright (c) 2011 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "dbus/bus.h" |
+ |
+#include "base/memory/ref_counted.h" |
+#include "dbus/exported_object.h" |
+#include "dbus/object_proxy.h" |
+ |
+#include "testing/gtest/include/gtest/gtest.h" |
+ |
+TEST(BusTest, GetObjectProxy) { |
+ dbus::Bus::Options options; |
+ scoped_refptr<dbus::Bus> bus = new dbus::Bus(options); |
+ |
+ dbus::ObjectProxy* object_proxy1 = |
+ bus->GetObjectProxy("org.chromium.TestService", |
+ "/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"); |
+ 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"); |
+ ASSERT_TRUE(object_proxy3); |
+ EXPECT_NE(object_proxy1, object_proxy3); |
+} |
+ |
+TEST(BusTest, GetExportedObject) { |
+ dbus::Bus::Options options; |
+ scoped_refptr<dbus::Bus> bus = new dbus::Bus(options); |
+ |
+ dbus::ExportedObject* object_proxy1 = |
+ bus->GetExportedObject("org.chromium.TestService", |
+ "/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"); |
+ 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"); |
+ ASSERT_TRUE(object_proxy3); |
+ EXPECT_NE(object_proxy1, object_proxy3); |
+} |