Allow overlapping sync and async startup requests
[chromium-blink-merge.git] / media / base / media_file_checker_unittest.cc
blobec61edf3e6445c750fcb370b6cadc0779cd5d66a
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.
5 #include "base/logging.h"
6 #include "build/build_config.h"
7 #include "media/base/media_file_checker.h"
8 #include "media/base/test_data_util.h"
9 #include "testing/gtest/include/gtest/gtest.h"
11 namespace media {
13 static void RunMediaFileChecker(const std::string& filename, bool expectation) {
14 base::PlatformFileError error;
15 base::PlatformFile file = base::CreatePlatformFile(
16 GetTestDataFilePath(filename),
17 base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ,
18 NULL,
19 &error);
20 ASSERT_EQ(base::PLATFORM_FILE_OK, error);
22 MediaFileChecker checker(file);
23 const base::TimeDelta check_time = base::TimeDelta::FromMilliseconds(100);
24 bool result = checker.Start(check_time);
25 EXPECT_EQ(expectation, result);
27 base::ClosePlatformFile(file);
30 TEST(MediaFileCheckerTest, InvalidFile) {
31 RunMediaFileChecker("ten_byte_file", false);
34 TEST(MediaFileCheckerTest, Video) {
35 RunMediaFileChecker("bear.ogv", true);
38 TEST(MediaFileCheckerTest, Audio) {
39 RunMediaFileChecker("sfx.ogg", true);
42 #if defined(USE_PROPRIETARY_CODECS)
43 TEST(MediaFileCheckerTest, MP3) {
44 RunMediaFileChecker("sfx.mp3", true);
46 #endif
48 } // namespace media