// 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 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 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); }