• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 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.
4 
5 #include "base/memory/ref_counted.h"
6 #include "testing/gtest/include/gtest/gtest.h"
7 
8 struct Foo : public base::RefCounted<Foo> {
9   int dummy;
10 };
11 
TestFunction()12 void TestFunction() {
13   scoped_refptr<Foo> a;
14   Foo* b;
15 
16   ASSERT_EQ(a.get(), b);
17   ASSERT_EQ(b, a.get());
18   EXPECT_EQ(a.get(), b);
19   EXPECT_EQ(b, a.get());
20 
21   ASSERT_NE(a.get(), b);
22   ASSERT_NE(b, a.get());
23   EXPECT_NE(a.get(), b);
24   EXPECT_NE(b, a.get());
25 
26   ASSERT_TRUE(a.get());
27   ASSERT_FALSE(!a.get());
28   EXPECT_TRUE(a.get());
29   EXPECT_FALSE(!a.get());
30 }
31