1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/renderer/media/cast_session.h" 6 7 #include "base/message_loop/message_loop_proxy.h" 8 #include "base/run_loop.h" 9 #include "chrome/renderer/chrome_content_renderer_client.h" 10 #include "chrome/test/base/chrome_render_view_test.h" 11 12 namespace chrome { 13 14 typedef ChromeRenderViewTest CastSessionBrowserTest; 15 16 // Tests that CastSession is created and destroyed properly inside 17 // chrome renderer. 18 TEST_F(CastSessionBrowserTest, CreateAndDestroy) { 19 chrome_render_thread_->set_io_message_loop_proxy( 20 base::MessageLoopProxy::current()); 21 ChromeContentRendererClient* client = 22 static_cast<ChromeContentRendererClient*>(content_renderer_client_.get()); 23 client->RenderThreadStarted(); 24 25 scoped_refptr<CastSession> session(new CastSession()); 26 27 // Causes CastSession to destruct. 28 session = NULL; 29 base::RunLoop().RunUntilIdle(); 30 } 31 32 } // namespace chrome 33