diff options
author | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-10 00:53:13 +0000 |
---|---|---|
committer | tommi@chromium.org <tommi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-10 00:53:13 +0000 |
commit | 935f776ef2e1f34371a2821b852ab2140acc6fb5 (patch) | |
tree | 23fe318afcb1fb5eec20a90d1d3a9490fc890ca6 /base/ref_counted_unittest.cc | |
parent | a8154c77769759f7b3883df8dd36854466526515 (diff) | |
download | chromium_src-935f776ef2e1f34371a2821b852ab2140acc6fb5.zip chromium_src-935f776ef2e1f34371a2821b852ab2140acc6fb5.tar.gz chromium_src-935f776ef2e1f34371a2821b852ab2140acc6fb5.tar.bz2 |
Changing access to scoped_refptr member variables from private to protected.
This is required to be able to extend the functionality of the class where existing public functionality does not offer sufficient access.
Review URL: http://codereview.chromium.org/17464
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7851 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/ref_counted_unittest.cc')
-rw-r--r-- | base/ref_counted_unittest.cc | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/base/ref_counted_unittest.cc b/base/ref_counted_unittest.cc index 724c64f..ba392d6 100644 --- a/base/ref_counted_unittest.cc +++ b/base/ref_counted_unittest.cc @@ -5,9 +5,22 @@ #include "testing/gtest/include/gtest/gtest.h" #include "base/ref_counted.h" +namespace { + class SelfAssign : public base::RefCounted<SelfAssign> { }; +class CheckDerivedMemberAccess : public scoped_refptr<SelfAssign> { + public: + CheckDerivedMemberAccess() { + // This shouldn't compile if we don't have access to the member variable. + SelfAssign** pptr = &ptr_; + EXPECT_EQ(*pptr, ptr_); + } +}; + +} // end namespace + TEST(RefCountedUnitTest, TestSelfAssignment) { SelfAssign* p = new SelfAssign; scoped_refptr<SelfAssign> var = p; @@ -15,3 +28,6 @@ TEST(RefCountedUnitTest, TestSelfAssignment) { EXPECT_EQ(var.get(), p); } +TEST(RefCountedUnitTest, ScopedRefPtrMemberAccess) { + CheckDerivedMemberAccess check; +} |