Roll src/third_party/WebKit 57aef96:a1089e6 (svn 201978:201979)
[chromium-blink-merge.git] / base / test / opaque_ref_counted.cc
blobed6c36f1a2decdde05a03b1bf705ea6349dc28b5
1 // Copyright 2014 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.
5 #include "base/test/opaque_ref_counted.h"
7 #include "base/macros.h"
8 #include "testing/gtest/include/gtest/gtest.h"
10 namespace base {
12 class OpaqueRefCounted : public RefCounted<OpaqueRefCounted> {
13 public:
14 OpaqueRefCounted() {}
16 int Return42() { return 42; }
18 private:
19 virtual ~OpaqueRefCounted() {}
21 friend RefCounted<OpaqueRefCounted>;
22 DISALLOW_COPY_AND_ASSIGN(OpaqueRefCounted);
25 scoped_refptr<OpaqueRefCounted> MakeOpaqueRefCounted() {
26 return new OpaqueRefCounted();
29 void TestOpaqueRefCounted(scoped_refptr<OpaqueRefCounted> p) {
30 EXPECT_EQ(42, p->Return42());
33 } // namespace base
35 template class scoped_refptr<base::OpaqueRefCounted>;