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
diff --git a/base/memory/weak_ptr_unittest.cc b/base/memory/weak_ptr_unittest.cc
index 6c2a7e8..c1a952634 100644
--- a/base/memory/weak_ptr_unittest.cc
+++ b/base/memory/weak_ptr_unittest.cc
@@ -80,6 +80,20 @@
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);