| /* |
| * Copyright (C) 2017-2020 The Project X-Ray Authors. |
| * |
| * Use of this source code is governed by a ISC-style |
| * license that can be found in the LICENSE file or at |
| * https://opensource.org/licenses/ISC |
| * |
| * SPDX-License-Identifier: ISC |
| */ |
| #include <prjxray/memory_mapped_file.h> |
| |
| #include <gtest/gtest.h> |
| |
| TEST(MemoryMappedFileTest, NonExistantFile) { |
| EXPECT_FALSE(prjxray::MemoryMappedFile::InitWithFile("does_not_exist")); |
| } |
| |
| TEST(MemoryMappedFileTest, ZeroLengthFileReturnObjectWithZeroLength) { |
| auto file = prjxray::MemoryMappedFile::InitWithFile("empty_file"); |
| ASSERT_TRUE(file); |
| EXPECT_EQ(nullptr, file->data()); |
| EXPECT_EQ(static_cast<size_t>(0), file->size()); |
| } |
| |
| TEST(MemoryMappedFileTest, ExistingFile) { |
| auto file = prjxray::MemoryMappedFile::InitWithFile("small_file"); |
| ASSERT_TRUE(file); |
| EXPECT_EQ(static_cast<size_t>(4), file->size()); |
| EXPECT_EQ(0, memcmp("foo\n", file->data(), 4)); |
| } |