Add unittest for covering ErrorBuilder implicit cast and metaprogramming (#2882)

- update unittest of Error, cover the casting of ErrorBuilder.
- add unittest of metaprogramming.h
This commit is contained in:
CanftIn
2023-06-08 09:31:17 -07:00
committed by GitHub
parent e066e96464
commit 9eb040d1c0
3 changed files with 55 additions and 0 deletions
+12
View File
@@ -97,5 +97,17 @@ TEST(ErrorTest, AssignOrReturnHasErrorInExpected) {
EXPECT_EQ(result.error().message(), "error");
}
TEST(ErrorTest, ErrorBuilderOperatorImplicitCast) {
ErrorOr<int> result1 = ErrorBuilder() << "msg";
ASSERT_FALSE(result1.ok());
EXPECT_EQ(result1.error().message(), "msg");
auto result2 = static_cast<Error>(ErrorBuilder("TestFunc") << "msg");
std::string result2_output;
llvm::raw_string_ostream oss(result2_output);
result2.Print(oss);
EXPECT_EQ(oss.str(), "TestFunc: msg");
}
} // namespace
} // namespace Carbon::Testing