11320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Copyright (c) 2014 The Chromium Authors. All rights reserved.
21320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// Use of this source code is governed by a BSD-style license that can be
31320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci// found in the LICENSE file.
41320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
51320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/memory/ref_counted.h"
61320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "testing/gtest/include/gtest/gtest.h"
71320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
81320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccistruct Foo : public base::RefCounted<Foo> {
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  int dummy;
101320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci};
111320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
121320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tuccivoid TestFunction() {
131320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  scoped_refptr<Foo> a;
141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  Foo* b;
151320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
161320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  ASSERT_EQ(a.get(), b);
171320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  ASSERT_EQ(b, a.get());
181320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  EXPECT_EQ(a.get(), b);
191320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  EXPECT_EQ(b, a.get());
201320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
211320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  ASSERT_NE(a.get(), b);
221320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  ASSERT_NE(b, a.get());
231320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  EXPECT_NE(a.get(), b);
241320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  EXPECT_NE(b, a.get());
251320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci
261320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  ASSERT_TRUE(a.get());
271320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  ASSERT_FALSE(!a.get());
281320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  EXPECT_TRUE(a.get());
291320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci  EXPECT_FALSE(!a.get());
301320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci}
31