Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(180)

Unified Diff: base/scoped_comptr_win_unittest.cc

Issue 149345: Adding a non-templatized version of QI for times when the IID and type aren't... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 11 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/scoped_comptr_win.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/scoped_comptr_win_unittest.cc
===================================================================
--- base/scoped_comptr_win_unittest.cc (revision 20158)
+++ base/scoped_comptr_win_unittest.cc (working copy)
@@ -2,9 +2,10 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "base/scoped_comptr_win.h"
+
#include <shlobj.h>
-#include "base/scoped_comptr_win.h"
#include "base/scoped_ptr.h"
#include "testing/gtest/include/gtest/gtest.h"
@@ -42,6 +43,12 @@
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();
+
// test ScopedComPtr& constructor
ScopedComPtr<IMalloc> copy1(mem_alloc);
EXPECT_TRUE(copy1.IsSameObject(mem_alloc));
@@ -73,6 +80,7 @@
// Verify we don't get error C2558.
typedef ScopedComPtr<Dummy, &dummy_iid> Ptr;
std::vector<Ptr> bleh;
+
scoped_ptr<Dummy> p(new Dummy);
{
Ptr p2(p.get());
@@ -84,14 +92,16 @@
p3 = p2;
EXPECT_EQ(p->adds, 3);
EXPECT_EQ(p->releases, 1);
+ // To avoid hitting a reallocation.
+ bleh.reserve(1);
bleh.push_back(p2);
- EXPECT_EQ(p->adds, 5);
- EXPECT_EQ(p->releases, 2);
+ EXPECT_EQ(p->adds, 4);
+ EXPECT_EQ(p->releases, 1);
EXPECT_EQ(bleh[0], p.get());
bleh.pop_back();
- EXPECT_EQ(p->adds, 5);
- EXPECT_EQ(p->releases, 3);
+ EXPECT_EQ(p->adds, 4);
+ EXPECT_EQ(p->releases, 2);
}
- EXPECT_EQ(p->adds, 5);
- EXPECT_EQ(p->releases, 5);
+ EXPECT_EQ(p->adds, 4);
+ EXPECT_EQ(p->releases, 4);
}
« no previous file with comments | « base/scoped_comptr_win.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698