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

Side by Side Diff: base/win/iunknown_impl_unittest.cc

Issue 8588036: Improve support for multiselect list box accessibility on Windows. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 9 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
(Empty)
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "base/win/iunknown_impl.h"
6
7 #include "testing/gtest/include/gtest/gtest.h"
8
9 namespace base {
10 namespace win {
11
12 class TestIUnknownImplSubclass : public IUnknownImpl {
13 public:
14 TestIUnknownImplSubclass() {
15 ++instance_count;
16 }
17 virtual ~TestIUnknownImplSubclass() {
18 --instance_count;
19 }
20 static int instance_count;
21 };
22
23 // static
24 int TestIUnknownImplSubclass::instance_count = 0;
25
26 TEST(IUnknownImplTest, IUnknownImpl) {
27 EXPECT_TRUE(SUCCEEDED(::CoInitialize(NULL)));
28
29 {
30 EXPECT_EQ(0, TestIUnknownImplSubclass::instance_count);
31 IUnknown* u = new TestIUnknownImplSubclass();
32
33 EXPECT_EQ(1, TestIUnknownImplSubclass::instance_count);
34
35 EXPECT_EQ(2, u->AddRef());
36
37 IUnknown* other = NULL;
38 EXPECT_EQ(E_NOINTERFACE, u->QueryInterface(
39 IID_IDispatch, reinterpret_cast<void**>(&other)));
40 EXPECT_EQ(S_OK, u->QueryInterface(
41 IID_IUnknown, reinterpret_cast<void**>(&other)));
42 other->Release();
43
44 EXPECT_EQ(1, u->Release());
45 EXPECT_EQ(0, u->Release());
46 EXPECT_EQ(0, TestIUnknownImplSubclass::instance_count);
47 }
48
49 ::CoUninitialize();
50 }
51
52 } // namespace win
53 } // namespace base
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698