Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1901)

Unified Diff: base/observer_list_unittest.cc

Issue 7605002: Revert 96013 - Use MessageLoopProxy instead of MessageLoop to dispatch notifications in ObserverL... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/observer_list_threadsafe.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/observer_list_unittest.cc
===================================================================
--- base/observer_list_unittest.cc (revision 96023)
+++ base/observer_list_unittest.cc (working copy)
@@ -61,10 +61,9 @@
Foo* doomed_;
};
-template <typename ObserverListType>
class AddInObserve : public Foo {
public:
- explicit AddInObserve(ObserverListType* observer_list)
+ explicit AddInObserve(ObserverList<Foo>* observer_list)
: added(false),
observer_list(observer_list),
adder(1) {
@@ -77,11 +76,14 @@
}
bool added;
- ObserverListType* observer_list;
+ ObserverList<Foo>* observer_list;
Adder adder;
};
+class ObserverListThreadSafeTest : public testing::Test {
+};
+
static const int kThreadRunTime = 2000; // ms to run the multi-threaded test.
// A thread for use in the ThreadSafeObserver test
@@ -355,22 +357,10 @@
ThreadSafeObserverHarness(3, true);
}
-TEST(ObserverListThreadSafeTest, OutlivesMessageLoop) {
- MessageLoop* loop = new MessageLoop;
- scoped_refptr<ObserverListThreadSafe<Foo> > observer_list(
- new ObserverListThreadSafe<Foo>);
-
- Adder a(1);
- observer_list->AddObserver(&a);
- delete loop;
- // Test passes if we don't crash here.
- observer_list->Notify(&Foo::Observe, 1);
-}
-
TEST(ObserverListTest, Existing) {
ObserverList<Foo> observer_list(ObserverList<Foo>::NOTIFY_EXISTING_ONLY);
Adder a(1);
- AddInObserve<ObserverList<Foo> > b(&observer_list);
+ AddInObserve b(&observer_list);
observer_list.AddObserver(&a);
observer_list.AddObserver(&b);
@@ -387,31 +377,6 @@
EXPECT_EQ(1, b.adder.total);
}
-// Same as above, but for ObserverListThreadSafe
-TEST(ObserverListThreadSafeTest, Existing) {
- MessageLoop loop;
- scoped_refptr<ObserverListThreadSafe<Foo> > observer_list(
- new ObserverListThreadSafe<Foo>(ObserverList<Foo>::NOTIFY_EXISTING_ONLY));
- Adder a(1);
- AddInObserve<ObserverListThreadSafe<Foo> > b(observer_list.get());
-
- observer_list->AddObserver(&a);
- observer_list->AddObserver(&b);
-
- observer_list->Notify(&Foo::Observe, 1);
- loop.RunAllPending();
-
- EXPECT_TRUE(b.added);
- // B's adder should not have been notified because it was added during
- // notificaiton.
- EXPECT_EQ(0, b.adder.total);
-
- // Notify again to make sure b's adder is notified.
- observer_list->Notify(&Foo::Observe, 1);
- loop.RunAllPending();
- EXPECT_EQ(1, b.adder.total);
-}
-
class AddInClearObserve : public Foo {
public:
explicit AddInClearObserve(ObserverList<Foo>* list)
« no previous file with comments | « base/observer_list_threadsafe.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698