| Index: content/browser/media_browsertest.cc
|
| ===================================================================
|
| --- content/browser/media_browsertest.cc (revision 129879)
|
| +++ content/browser/media_browsertest.cc (working copy)
|
| @@ -3,47 +3,41 @@
|
| // found in the LICENSE file.
|
|
|
| #include "base/basictypes.h"
|
| -#include "base/file_path.h"
|
| +#include "base/string16.h"
|
| #include "base/stringprintf.h"
|
| #include "base/string_util.h"
|
| -#include "base/test/test_timeouts.h"
|
| -#include "base/threading/platform_thread.h"
|
| -#include "chrome/common/chrome_switches.h"
|
| -#include "chrome/test/base/test_launcher_utils.h"
|
| -#include "chrome/test/ui/ui_layout_test.h"
|
| -#include "chrome/test/ui/ui_test.h"
|
| -#include "net/base/net_util.h"
|
| -#include "ui/gfx/gl/gl_implementation.h"
|
| +#include "base/utf_string_conversions.h"
|
| +#include "chrome/browser/ui/browser.h"
|
| +#include "chrome/test/base/ui_test_utils.h"
|
| +#include "content/test/layout_browsertest.h"
|
| +#include "googleurl/src/gurl.h"
|
|
|
| -class MediaTest : public UITest {
|
| +class MediaTest : public InProcessBrowserTest {
|
| protected:
|
| + GURL GetTestURL(const char* tag, const char* media_file) {
|
| + FilePath test_file_path = ui_test_utils::GetTestFilePath(
|
| + FilePath(FILE_PATH_LITERAL("media")),
|
| + FilePath(FILE_PATH_LITERAL("player.html")));
|
| + std::string query = base::StringPrintf("%s=%s", tag, media_file);
|
| + return ui_test_utils::GetFileUrlWithQuery(test_file_path, query);
|
| + }
|
| +
|
| void PlayMedia(const char* tag, const char* media_file) {
|
| - FilePath test_file(test_data_directory_);
|
| - test_file = test_file.AppendASCII("media/player.html");
|
| + GURL player_gurl = GetTestURL(tag, media_file);
|
|
|
| - GURL player_gurl = net::FilePathToFileURL(test_file);
|
| - std::string url = base::StringPrintf(
|
| - "%s?%s=%s", player_gurl.spec().c_str(), tag, media_file);
|
| -
|
| - NavigateToURL(GURL(url));
|
| -
|
| // Allow the media file to be loaded.
|
| - const std::wstring kPlaying = L"PLAYING";
|
| - const std::wstring kFailed = L"FAILED";
|
| - const std::wstring kError = L"ERROR";
|
| - const base::TimeDelta kSleepInterval =
|
| - base::TimeDelta::FromMilliseconds(250);
|
| - const int kNumIntervals =
|
| - TestTimeouts::action_timeout() / kSleepInterval;
|
| - for (int i = 0; i < kNumIntervals; ++i) {
|
| - const std::wstring& title = GetActiveTabTitle();
|
| - if (title == kPlaying || title == kFailed ||
|
| - StartsWith(title, kError, true))
|
| - break;
|
| - base::PlatformThread::Sleep(kSleepInterval);
|
| - }
|
| + const string16 kPlaying = ASCIIToUTF16("PLAYING");
|
| + const string16 kFailed = ASCIIToUTF16("FAILED");
|
| + const string16 kError = ASCIIToUTF16("ERROR");
|
| + ui_test_utils::TitleWatcher title_watcher(
|
| + browser()->GetSelectedWebContents(), kPlaying);
|
| + title_watcher.AlsoWaitForTitle(kFailed);
|
| + title_watcher.AlsoWaitForTitle(kError);
|
|
|
| - EXPECT_EQ(kPlaying, GetActiveTabTitle());
|
| + ui_test_utils::NavigateToURL(browser(), player_gurl);
|
| +
|
| + string16 final_title = title_watcher.WaitAndGetTitle();
|
| + EXPECT_EQ(kPlaying, final_title);
|
| }
|
|
|
| void PlayAudio(const char* url) {
|
| @@ -67,82 +61,97 @@
|
| #define MAYBE_VideoBearWebm VideoBearWebm
|
| #endif
|
|
|
| -TEST_F(MediaTest, MAYBE_VideoBearTheora) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, MAYBE_VideoBearTheora) {
|
| PlayVideo("bear.ogv");
|
| }
|
|
|
| -TEST_F(MediaTest, VideoBearSilentTheora) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearSilentTheora) {
|
| PlayVideo("bear_silent.ogv");
|
| }
|
|
|
| -TEST_F(MediaTest, MAYBE_VideoBearWebm) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, MAYBE_VideoBearWebm) {
|
| PlayVideo("bear.webm");
|
| }
|
|
|
| -TEST_F(MediaTest, VideoBearSilentWebm) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearSilentWebm) {
|
| PlayVideo("bear_silent.webm");
|
| }
|
|
|
| #if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS)
|
| -TEST_F(MediaTest, VideoBearMp4) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearMp4) {
|
| PlayVideo("bear.mp4");
|
| }
|
|
|
| -TEST_F(MediaTest, VideoBearSilentMp4) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearSilentMp4) {
|
| PlayVideo("bear_silent.mp4");
|
| }
|
| #endif
|
|
|
| #if defined(OS_CHROMEOS)
|
| #if defined(GOOGLE_CHROME_BUILD) || defined(USE_PROPRIETARY_CODECS)
|
| -TEST_F(MediaTest, VideoBearAviMp3Mpeg4) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearAviMp3Mpeg4) {
|
| PlayVideo("bear_mpeg4_mp3.avi");
|
| }
|
|
|
| -TEST_F(MediaTest, VideoBearAviMp3Divx) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearAviMp3Divx) {
|
| PlayVideo("bear_divx_mp3.avi");
|
| }
|
|
|
| -TEST_F(MediaTest, VideoBear3gpAacH264) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBear3gpAacH264) {
|
| PlayVideo("bear_h264_aac.3gp");
|
| }
|
|
|
| -TEST_F(MediaTest, VideoBear3gpAmrnbMpeg4) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBear3gpAmrnbMpeg4) {
|
| PlayVideo("bear_mpeg4_amrnb.3gp");
|
| }
|
|
|
| // TODO(ihf): Enable these audio codecs for CrOS.
|
| -// TEST_F(MediaTest, VideoBearWavAlaw) {
|
| +// IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearWavAlaw) {
|
| // PlayVideo("bear_alaw.wav");
|
| // }
|
| -// TEST_F(MediaTest, VideoBearWavGsmms) {
|
| +// IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearWavGsmms) {
|
| // PlayVideo("bear_gsmms.wav");
|
| // }
|
|
|
| -TEST_F(MediaTest, VideoBearWavMulaw) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearWavMulaw) {
|
| PlayVideo("bear_mulaw.wav");
|
| }
|
|
|
| -TEST_F(MediaTest, VideoBearFlac) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, VideoBearFlac) {
|
| PlayVideo("bear.flac");
|
| }
|
| #endif
|
| #endif
|
|
|
| -TEST_F(MediaTest, MAYBE_VideoBearWavPcm) {
|
| +IN_PROC_BROWSER_TEST_F(MediaTest, MAYBE_VideoBearWavPcm) {
|
| PlayVideo("bear_pcm.wav");
|
| }
|
|
|
| -TEST_F(UILayoutTest, MediaUILayoutTest) {
|
| - static const char* kResources[] = {
|
| - "content",
|
| - "media-file.js",
|
| - "media-fullscreen.js",
|
| - "video-paint-test.js",
|
| - "video-played.js",
|
| - "video-test.js",
|
| - };
|
| +class MediaLayoutTest : public InProcessBrowserLayoutTest {
|
| + protected:
|
| + MediaLayoutTest() : InProcessBrowserLayoutTest(
|
| + FilePath(), FilePath().AppendASCII("media")) {
|
| + }
|
| + virtual ~MediaLayoutTest() {}
|
|
|
| + virtual void SetUpInProcessBrowserTestFixture() OVERRIDE {
|
| + InProcessBrowserLayoutTest::SetUpInProcessBrowserTestFixture();
|
| + AddResourceForLayoutTest(FilePath().AppendASCII("media"),
|
| + FilePath().AppendASCII("content"));
|
| + AddResourceForLayoutTest(FilePath().AppendASCII("media"),
|
| + FilePath().AppendASCII("media-file.js"));
|
| + AddResourceForLayoutTest(FilePath().AppendASCII("media"),
|
| + FilePath().AppendASCII("media-fullscreen.js"));
|
| + AddResourceForLayoutTest(FilePath().AppendASCII("media"),
|
| + FilePath().AppendASCII("video-paint-test.js"));
|
| + AddResourceForLayoutTest(FilePath().AppendASCII("media"),
|
| + FilePath().AppendASCII("video-played.js"));
|
| + AddResourceForLayoutTest(FilePath().AppendASCII("media"),
|
| + FilePath().AppendASCII("video-test.js"));
|
| + }
|
| +};
|
| +
|
| +IN_PROC_BROWSER_TEST_F(MediaLayoutTest, Tests) {
|
| static const char* kMediaTests[] = {
|
| "video-autoplay.html",
|
| // "video-loop.html", disabled due to 52887.
|
| @@ -150,16 +159,6 @@
|
| // TODO(sergeyu): Add more tests here.
|
| };
|
|
|
| - FilePath test_dir;
|
| - FilePath media_test_dir;
|
| - media_test_dir = media_test_dir.AppendASCII("media");
|
| - InitializeForLayoutTest(test_dir, media_test_dir, kNoHttpPort);
|
| -
|
| - // Copy resources first.
|
| - for (size_t i = 0; i < arraysize(kResources); ++i)
|
| - AddResourceForLayoutTest(
|
| - test_dir, media_test_dir.AppendASCII(kResources[i]));
|
| -
|
| for (size_t i = 0; i < arraysize(kMediaTests); ++i)
|
| - RunLayoutTest(kMediaTests[i], kNoHttpPort);
|
| + RunLayoutTest(kMediaTests[i]);
|
| }
|
|
|