// 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 "base/logging.h" #include "build/build_config.h" #include "media/base/media_file_checker.h" #include "media/base/test_data_util.h" #include "testing/gtest/include/gtest/gtest.h" namespace media { static void RunMediaFileChecker(const std::string& filename, bool expectation) { base::PlatformFileError error; base::PlatformFile file = base::CreatePlatformFile( GetTestDataFilePath(filename), base::PLATFORM_FILE_OPEN | base::PLATFORM_FILE_READ, NULL, &error); ASSERT_EQ(base::PLATFORM_FILE_OK, error); MediaFileChecker checker(file); const base::TimeDelta check_time = base::TimeDelta::FromMilliseconds(100); bool result = checker.Start(check_time); EXPECT_EQ(expectation, result); base::ClosePlatformFile(file); } TEST(MediaFileCheckerTest, InvalidFile) { RunMediaFileChecker("ten_byte_file", false); } TEST(MediaFileCheckerTest, Video) { RunMediaFileChecker("bear.ogv", true); } TEST(MediaFileCheckerTest, Audio) { RunMediaFileChecker("sfx.ogg", true); } #if defined(USE_PROPRIETARY_CODECS) TEST(MediaFileCheckerTest, MP3) { RunMediaFileChecker("sfx.mp3", true); } #endif } // namespace media