Home | History | Annotate | Download | only in base
      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