diff options
Diffstat (limited to 'chromium/chrome/renderer/media/cast_session_browsertest.cc')
-rw-r--r-- | chromium/chrome/renderer/media/cast_session_browsertest.cc | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/chromium/chrome/renderer/media/cast_session_browsertest.cc b/chromium/chrome/renderer/media/cast_session_browsertest.cc new file mode 100644 index 00000000000..8c68f62f05e --- /dev/null +++ b/chromium/chrome/renderer/media/cast_session_browsertest.cc @@ -0,0 +1,30 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "chrome/renderer/media/cast_session.h" + +#include "base/run_loop.h" +#include "base/threading/thread_task_runner_handle.h" +#include "chrome/renderer/chrome_content_renderer_client.h" +#include "chrome/test/base/chrome_render_view_test.h" +#include "third_party/blink/public/platform/scheduler/test/renderer_scheduler_test_support.h" + +typedef ChromeRenderViewTest CastSessionBrowserTest; + +// Tests that CastSession is created and destroyed properly inside +// chrome renderer. +TEST_F(CastSessionBrowserTest, CreateAndDestroy) { + chrome_render_thread_->set_io_task_runner( + blink::scheduler::GetSingleThreadTaskRunnerForTesting()); + ChromeContentRendererClient* client = + static_cast<ChromeContentRendererClient*>(content_renderer_client_.get()); + client->RenderThreadStarted(); + + scoped_refptr<CastSession> session( + new CastSession(blink::scheduler::GetSingleThreadTaskRunnerForTesting())); + + // Causes CastSession to destruct. + session = NULL; + base::RunLoop().RunUntilIdle(); +} |