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

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

Issue 1446363003: Deleted OS_WIN and all Windows specific files from base. (Closed) Base URL: https://github.com/domokit/mojo.git@base_tests
Patch Set: Created 5 years, 1 month 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
« no previous file with comments | « base/win/iunknown_impl.cc ('k') | base/win/message_window.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/win/scoped_com_initializer.h"
8 #include "testing/gtest/include/gtest/gtest.h"
9
10 namespace base {
11 namespace win {
12
13 class TestIUnknownImplSubclass : public IUnknownImpl {
14 public:
15 TestIUnknownImplSubclass() {
16 ++instance_count;
17 }
18 ~TestIUnknownImplSubclass() override { --instance_count; }
19 static int instance_count;
20 };
21
22 // static
23 int TestIUnknownImplSubclass::instance_count = 0;
24
25 TEST(IUnknownImplTest, IUnknownImpl) {
26 ScopedCOMInitializer com_initializer;
27
28 EXPECT_EQ(0, TestIUnknownImplSubclass::instance_count);
29 IUnknown* u = new TestIUnknownImplSubclass();
30
31 EXPECT_EQ(1, TestIUnknownImplSubclass::instance_count);
32
33 EXPECT_EQ(1, u->AddRef());
34 EXPECT_EQ(1, u->AddRef());
35
36 IUnknown* other = NULL;
37 EXPECT_EQ(E_NOINTERFACE, u->QueryInterface(
38 IID_IDispatch, reinterpret_cast<void**>(&other)));
39 EXPECT_EQ(S_OK, u->QueryInterface(
40 IID_IUnknown, reinterpret_cast<void**>(&other)));
41 other->Release();
42
43 EXPECT_EQ(1, u->Release());
44 EXPECT_EQ(0, u->Release());
45 EXPECT_EQ(0, TestIUnknownImplSubclass::instance_count);
46 }
47
48 } // namespace win
49 } // namespace base
OLDNEW
« no previous file with comments | « base/win/iunknown_impl.cc ('k') | base/win/message_window.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698