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 "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" 10 11 namespace media { 12 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); 21 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); 26 27 base::ClosePlatformFile(file); 28 } 29 30 TEST(MediaFileCheckerTest, InvalidFile) { 31 RunMediaFileChecker("ten_byte_file", false); 32 } 33 34 TEST(MediaFileCheckerTest, Video) { 35 RunMediaFileChecker("bear.ogv", true); 36 } 37 38 TEST(MediaFileCheckerTest, Audio) { 39 RunMediaFileChecker("sfx.ogg", true); 40 } 41 42 #if defined(USE_PROPRIETARY_CODECS) 43 TEST(MediaFileCheckerTest, MP3) { 44 RunMediaFileChecker("sfx.mp3", true); 45 } 46 #endif 47 48 } // namespace media 49