summaryrefslogtreecommitdiffstats
path: root/chrome_frame/external_tab_test.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome_frame/external_tab_test.cc')
-rw-r--r--chrome_frame/external_tab_test.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/chrome_frame/external_tab_test.cc b/chrome_frame/external_tab_test.cc
index 8f9b918..0e49f95 100644
--- a/chrome_frame/external_tab_test.cc
+++ b/chrome_frame/external_tab_test.cc
@@ -157,6 +157,7 @@ TEST(ExternalTabProxy, CancelledCreateTab) {
scoped_ptr<ExternalTabProxy> tab(new ExternalTabProxy());
AsyncEventCreator async_events(tab.get());
StrictMock<MockProxy>* proxy = new StrictMock<MockProxy>();
+ TimedMsgLoop loop;
tab->set_proxy_factory(&factory);
EXPECT_CALL(factory, CreateProxy()).WillOnce(Return(proxy));
@@ -166,6 +167,9 @@ TEST(ExternalTabProxy, CancelledCreateTab) {
proxy, base::TimeDelta::FromMilliseconds(30))),
Return(1)));
+ EXPECT_CALL(*proxy, CreateTab(tab.get(), _))
+ .WillOnce(QUIT_LOOP(loop));
+
EXPECT_CALL(*proxy, RemoveDelegate(_)).WillOnce(DoAll(
InvokeWithoutArgs(CreateFunctor(&async_events,
&AsyncEventCreator::Fire_CompletedCreateTab, false, HWND(0), HWND(0),
@@ -181,6 +185,8 @@ TEST(ExternalTabProxy, CancelledCreateTab) {
tab_params.url = GURL("http://Xanadu.org");
tab->CreateTab(tab_params, &ui_delegate);
+ loop.RunFor(5);
+ EXPECT_FALSE(loop.WasTimedOut());
tab.reset();
}