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