- add sources.
[platform/framework/web/crosswalk.git] / src / media / base / media_file_checker_unittest.cc
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