| Index: base/win/scoped_comptr_unittest.cc
|
| ===================================================================
|
| --- base/win/scoped_comptr_unittest.cc (revision 159813)
|
| +++ base/win/scoped_comptr_unittest.cc (working copy)
|
| @@ -7,6 +7,7 @@
|
| #include <shlobj.h>
|
|
|
| #include "base/memory/scoped_ptr.h"
|
| +#include "base/win/scoped_com_initializer.h"
|
| #include "testing/gtest/include/gtest/gtest.h"
|
|
|
| namespace base {
|
| @@ -33,50 +34,47 @@
|
| EXPECT_TRUE(memcmp(&ScopedComPtr<IUnknown>::iid(), &IID_IUnknown,
|
| sizeof(IID)) == 0);
|
|
|
| - EXPECT_TRUE(SUCCEEDED(::CoInitialize(NULL)));
|
| + base::win::ScopedCOMInitializer com_initializer;
|
| + EXPECT_TRUE(com_initializer.succeeded());
|
|
|
| - {
|
| - ScopedComPtr<IUnknown> unk;
|
| - EXPECT_TRUE(SUCCEEDED(unk.CreateInstance(CLSID_ShellLink)));
|
| - ScopedComPtr<IUnknown> unk2;
|
| - unk2.Attach(unk.Detach());
|
| - EXPECT_TRUE(unk == NULL);
|
| - EXPECT_TRUE(unk2 != NULL);
|
| + ScopedComPtr<IUnknown> unk;
|
| + EXPECT_TRUE(SUCCEEDED(unk.CreateInstance(CLSID_ShellLink)));
|
| + ScopedComPtr<IUnknown> unk2;
|
| + unk2.Attach(unk.Detach());
|
| + EXPECT_TRUE(unk == NULL);
|
| + EXPECT_TRUE(unk2 != NULL);
|
|
|
| - ScopedComPtr<IMalloc> mem_alloc;
|
| - EXPECT_TRUE(SUCCEEDED(CoGetMalloc(1, mem_alloc.Receive())));
|
| + ScopedComPtr<IMalloc> mem_alloc;
|
| + EXPECT_TRUE(SUCCEEDED(CoGetMalloc(1, mem_alloc.Receive())));
|
|
|
| - ScopedComPtr<IUnknown> qi_test;
|
| - EXPECT_HRESULT_SUCCEEDED(mem_alloc.QueryInterface(IID_IUnknown,
|
| - reinterpret_cast<void**>(qi_test.Receive())));
|
| - EXPECT_TRUE(qi_test.get() != NULL);
|
| - qi_test.Release();
|
| + ScopedComPtr<IUnknown> qi_test;
|
| + EXPECT_HRESULT_SUCCEEDED(mem_alloc.QueryInterface(IID_IUnknown,
|
| + reinterpret_cast<void**>(qi_test.Receive())));
|
| + EXPECT_TRUE(qi_test.get() != NULL);
|
| + qi_test.Release();
|
|
|
| - // test ScopedComPtr& constructor
|
| - ScopedComPtr<IMalloc> copy1(mem_alloc);
|
| - EXPECT_TRUE(copy1.IsSameObject(mem_alloc));
|
| - EXPECT_FALSE(copy1.IsSameObject(unk2)); // unk2 is valid but different
|
| - EXPECT_FALSE(copy1.IsSameObject(unk)); // unk is NULL
|
| + // test ScopedComPtr& constructor
|
| + ScopedComPtr<IMalloc> copy1(mem_alloc);
|
| + EXPECT_TRUE(copy1.IsSameObject(mem_alloc));
|
| + EXPECT_FALSE(copy1.IsSameObject(unk2)); // unk2 is valid but different
|
| + EXPECT_FALSE(copy1.IsSameObject(unk)); // unk is NULL
|
|
|
| - IMalloc* naked_copy = copy1.Detach();
|
| - copy1 = naked_copy; // Test the =(T*) operator.
|
| - naked_copy->Release();
|
| + IMalloc* naked_copy = copy1.Detach();
|
| + copy1 = naked_copy; // Test the =(T*) operator.
|
| + naked_copy->Release();
|
|
|
| - copy1.Release();
|
| - EXPECT_FALSE(copy1.IsSameObject(unk2)); // unk2 is valid, copy1 is not
|
| + copy1.Release();
|
| + EXPECT_FALSE(copy1.IsSameObject(unk2)); // unk2 is valid, copy1 is not
|
|
|
| - // test Interface* constructor
|
| - ScopedComPtr<IMalloc> copy2(static_cast<IMalloc*>(mem_alloc));
|
| - EXPECT_TRUE(copy2.IsSameObject(mem_alloc));
|
| + // test Interface* constructor
|
| + ScopedComPtr<IMalloc> copy2(static_cast<IMalloc*>(mem_alloc));
|
| + EXPECT_TRUE(copy2.IsSameObject(mem_alloc));
|
|
|
| - EXPECT_TRUE(SUCCEEDED(unk.QueryFrom(mem_alloc)));
|
| - EXPECT_TRUE(unk != NULL);
|
| - unk.Release();
|
| - EXPECT_TRUE(unk == NULL);
|
| - EXPECT_TRUE(unk.IsSameObject(copy1)); // both are NULL
|
| - }
|
| -
|
| - ::CoUninitialize();
|
| + EXPECT_TRUE(SUCCEEDED(unk.QueryFrom(mem_alloc)));
|
| + EXPECT_TRUE(unk != NULL);
|
| + unk.Release();
|
| + EXPECT_TRUE(unk == NULL);
|
| + EXPECT_TRUE(unk.IsSameObject(copy1)); // both are NULL
|
| }
|
|
|
| TEST(ScopedComPtrTest, ScopedComPtrVector) {
|
|
|