diff options
Diffstat (limited to 'llvm/unittests/Support/ErrorTest.cpp')
-rw-r--r-- | llvm/unittests/Support/ErrorTest.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/llvm/unittests/Support/ErrorTest.cpp b/llvm/unittests/Support/ErrorTest.cpp index 8b8a621..37289e1 100644 --- a/llvm/unittests/Support/ErrorTest.cpp +++ b/llvm/unittests/Support/ErrorTest.cpp @@ -840,6 +840,46 @@ TEST(Error, HasValueMatcher) { " Actual: failed (CustomError {0})"); } +TEST(Error, FailedWithMessageMatcher) { + EXPECT_THAT_EXPECTED(Expected<int>(make_error<CustomError>(0)), + FailedWithMessage("CustomError {0}")); + + EXPECT_NONFATAL_FAILURE( + EXPECT_THAT_EXPECTED(Expected<int>(make_error<CustomError>(1)), + FailedWithMessage("CustomError {0}")), + "Expected: failed with Error whose message has 1 element that is equal " + "to \"CustomError {0}\"\n" + " Actual: failed (CustomError {1})"); + + EXPECT_NONFATAL_FAILURE( + EXPECT_THAT_EXPECTED(Expected<int>(0), + FailedWithMessage("CustomError {0}")), + "Expected: failed with Error whose message has 1 element that is equal " + "to \"CustomError {0}\"\n" + " Actual: succeeded with value 0"); + + EXPECT_NONFATAL_FAILURE( + EXPECT_THAT_EXPECTED(Expected<int>(make_error<CustomError>(0)), + FailedWithMessage("CustomError {0}", "CustomError {0}")), + "Expected: failed with Error whose message has 2 elements where\n" + "element #0 is equal to \"CustomError {0}\",\n" + "element #1 is equal to \"CustomError {0}\"\n" + " Actual: failed (CustomError {0}), which has 1 element"); + + EXPECT_NONFATAL_FAILURE( + EXPECT_THAT_EXPECTED( + Expected<int>(joinErrors(make_error<CustomError>(0), + make_error<CustomError>(0))), + FailedWithMessage("CustomError {0}")), + "Expected: failed with Error whose message has 1 element that is equal " + "to \"CustomError {0}\"\n" + " Actual: failed (CustomError {0}; CustomError {0}), which has 2 elements"); + + EXPECT_THAT_ERROR( + joinErrors(make_error<CustomError>(0), make_error<CustomError>(0)), + FailedWithMessageArray(testing::SizeIs(2))); +} + TEST(Error, C_API) { EXPECT_THAT_ERROR(unwrap(wrap(Error::success())), Succeeded()) << "Failed to round-trip Error success value via C API"; |