Shaka Packager SDK
packager
file
file_test_util.h
1
// Copyright 2015 Google LLC. All rights reserved.
2
//
3
// Use of this source code is governed by a BSD-style
4
// license that can be found in the LICENSE file or at
5
// https://developers.google.com/open-source/licenses/bsd
6
7
#ifndef MEDIA_FILE_FILE_TEST_UTIL_H_
8
#define MEDIA_FILE_FILE_TEST_UTIL_H_
9
10
#include <iterator>
11
#include <string>
12
13
#include <gmock/gmock.h>
14
#include <gtest/gtest.h>
15
16
#include <packager/file.h>
17
18
namespace
shaka
{
19
20
#define ASSERT_FILE_EQ(file_name, array) \
21
do { \
22
std::string temp_data; \
23
ASSERT_TRUE(File::ReadFileToString((file_name), &temp_data)); \
24
const char* array_ptr = reinterpret_cast<const char*>(array); \
25
ASSERT_EQ(std::string(array_ptr, std::size(array)), temp_data); \
26
} while (false)
27
28
#define ASSERT_FILE_STREQ(file_name, str) \
29
do { \
30
std::string temp_data; \
31
ASSERT_TRUE(File::ReadFileToString((file_name), &temp_data)); \
32
ASSERT_EQ(str, temp_data); \
33
} while (false)
34
35
#define ASSERT_FILE_ENDS_WITH(file_name, array) \
36
do { \
37
std::string temp_data; \
38
ASSERT_TRUE(File::ReadFileToString((file_name), &temp_data)); \
39
EXPECT_THAT(temp_data, \
40
::testing::EndsWith(std::string( \
41
reinterpret_cast<const char*>(array), sizeof(array)))); \
42
} while (false)
43
44
// Generate a unique filename.
45
std::string generate_unique_temp_path();
46
void
delete_file(
const
std::string& path);
47
48
// A temporary file that is removed from the filesystem when the object is
49
// destroyed. Useful in tests that use ASSERT to avoid leaving behind temp
50
// files.
51
class
TempFile
{
52
public
:
53
TempFile
();
54
~
TempFile
();
55
56
const
std::string& path()
const
{
return
path_; }
57
58
private
:
59
std::string path_;
60
};
61
62
}
// namespace shaka
63
64
#endif
// MEDIA_FILE_FILE_TEST_UTIL_H_
shaka::TempFile
Definition:
file_test_util.h:51
shaka
All the methods that are virtual are virtual for mocking.
Definition:
crypto_flags.cc:66
Generated on Mon Nov 11 2024 19:07:10 for Shaka Packager SDK by
1.9.1