aboutsummaryrefslogtreecommitdiff
path: root/libs/usvfs/test/gtest_utils/gtest_utils.h
blob: 1dba70c6d22edec1d7906a98ac18caa6004cfb70 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#pragma once

// this file is shared by both usvfs_global_test and usvfs_global_test_runner
//

#include <filesystem>

#include <gtest/gtest.h>

::testing::AssertionResult AssertDirectoryEquals(const std::filesystem::path& expected,
                                                 const std::filesystem::path& actual,
                                                 bool content = true);

::testing::AssertionResult AssertContentEquals(std::string_view expected,
                                               const std::filesystem::path& path,
                                               bool trim = true);

// macro to assert that the contents of two directories are identical - directories are
// compared recursively and file contents are compared (excluding extra spaces or lines
// in file)
//
#define ASSERT_DIRECTORY_EQ(Expected, Actual)                                          \
  ASSERT_TRUE(AssertDirectoryEquals(Expected, Actual))

// macro to assert that the contents of two files are identical (excluding extra space
// or lines in file)
//
#define ASSERT_CONTENT_EQ(Expected, Path)                                              \
  ASSERT_TRUE(AssertContentEquals(Expected, Path))