diff options
author | cpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-24 23:49:07 +0000 |
---|---|---|
committer | cpu@chromium.org <cpu@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-24 23:49:07 +0000 |
commit | 09733b45d3254d0f270c9ac2f9134dbc69f08304 (patch) | |
tree | 7dc1d30bc913027ac80fbd63881deba531c1c271 /base/memory | |
parent | 067095afacfdf4673bc397b3ca4623d037e7afc7 (diff) | |
download | chromium_src-09733b45d3254d0f270c9ac2f9134dbc69f08304.zip chromium_src-09733b45d3254d0f270c9ac2f9134dbc69f08304.tar.gz chromium_src-09733b45d3254d0f270c9ac2f9134dbc69f08304.tar.bz2 |
Add missing test to WeakPtr
I discovered we have a weak pointer now and in my quest to understand how it works
I spotted case that was not tested:
1) ctor weakptr a
2) ctor factory f
3) ctor weakptr b
4) dtor weakptr b
5) dtor factory f
6) test a
Mostly because I thought I saw a mistake but alas it works as-is but still
the test is missing.
BUG=none
TEST= this is a test
Review URL: http://codereview.chromium.org/7065030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@86526 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'base/memory')
-rw-r--r-- | base/memory/weak_ptr_unittest.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/base/memory/weak_ptr_unittest.cc b/base/memory/weak_ptr_unittest.cc index 6c2a7e8..c1a9526 100644 --- a/base/memory/weak_ptr_unittest.cc +++ b/base/memory/weak_ptr_unittest.cc @@ -80,6 +80,20 @@ TEST(WeakPtrTest, Multiple) { EXPECT_TRUE(b.get() == NULL); } +TEST(WeakPtrTest, MultipleStaged) { + WeakPtr<int> a; + { + int data; + WeakPtrFactory<int> factory(&data); + a = factory.GetWeakPtr(); + { + WeakPtr<int> b = factory.GetWeakPtr(); + } + EXPECT_TRUE(a.get() != NULL); + } + EXPECT_TRUE(a.get() == NULL); +} + TEST(WeakPtrTest, UpCast) { Derived data; WeakPtrFactory<Derived> factory(&data); |