// Copyright 2022 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "base/files/file_error_or.h" #include "testing/gtest/include/gtest/gtest.h" namespace base { namespace { TEST(FileErrorOrDeathTest, Error) { FileErrorOr error(File::Error::FILE_ERROR_FAILED); EXPECT_TRUE(error.is_error()); EXPECT_FALSE(error.is_value()); EXPECT_EQ(error.error(), File::Error::FILE_ERROR_FAILED); EXPECT_DEATH_IF_SUPPORTED(error.value(), ""); } TEST(FileErrorOrDeathTest, Value) { FileErrorOr value(42); EXPECT_FALSE(value.is_error()); EXPECT_TRUE(value.is_value()); EXPECT_EQ(value.value(), 42); EXPECT_DEATH_IF_SUPPORTED(value.error(), ""); } TEST(FileErrorOrDeathTest, ConstValue) { const FileErrorOr const_value(1234); EXPECT_FALSE(const_value.is_error()); EXPECT_TRUE(const_value.is_value()); EXPECT_EQ(const_value.value(), 1234); EXPECT_DEATH_IF_SUPPORTED(const_value.error(), ""); } } // namespace } // namespace base