|  | /* | 
|  | * 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)); | 
|  | } |