diff options
author | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2025-01-04 22:55:46 +0100 |
---|---|---|
committer | Steven Le Rouzic <steven.lerouzic@gmail.com> | 2025-01-04 22:55:46 +0100 |
commit | b53fc9038f4579974c9eea28e82b693a7fd66522 (patch) | |
tree | 4b411286ee139c3649eae90a6d3ae19f7db036df /asl/tests | |
parent | b62e554e9763497e53bae0a3d5a895c1cdbf40de (diff) |
Add copy to status
Diffstat (limited to 'asl/tests')
-rw-r--r-- | asl/tests/status_tests.cpp | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/asl/tests/status_tests.cpp b/asl/tests/status_tests.cpp index edfb65d..aa7dad1 100644 --- a/asl/tests/status_tests.cpp +++ b/asl/tests/status_tests.cpp @@ -15,6 +15,7 @@ ASL_TEST(simple_code) ASL_TEST_ASSERT(!s); ASL_TEST_ASSERT(!s.ok()); ASL_TEST_ASSERT(s.code() == asl::status_code::runtime); + ASL_TEST_ASSERT(s.message() == ""_sv); } ASL_TEST(with_message) @@ -23,5 +24,47 @@ ASL_TEST(with_message) ASL_TEST_ASSERT(!s); ASL_TEST_ASSERT(!s.ok()); ASL_TEST_ASSERT(s.code() == asl::status_code::internal); - // @Todo test message + ASL_TEST_ASSERT(s.message() == "We done goofed"_sv); +} + +ASL_TEST(copy_inline) +{ + asl::status s{asl::status_code::ok}; + asl::status s2{asl::status_code::internal}; + + asl::status s3 = s; + ASL_TEST_ASSERT(s3.code() == asl::status_code::ok); + + s3 = s2; + ASL_TEST_ASSERT(s3.code() == asl::status_code::internal); +} + +ASL_TEST(copy_message) +{ + asl::status s2; + + { + asl::status s{asl::status_code::internal, "Oh no!"}; + ASL_TEST_ASSERT(!s); + ASL_TEST_ASSERT(!s.ok()); + ASL_TEST_ASSERT(s.code() == asl::status_code::internal); + ASL_TEST_ASSERT(s.message() == "Oh no!"_sv); + + const asl::status s3{s}; // NOLINT + ASL_TEST_ASSERT(!s3); + ASL_TEST_ASSERT(!s3.ok()); + ASL_TEST_ASSERT(s3.code() == asl::status_code::internal); + ASL_TEST_ASSERT(s3.message() == "Oh no!"_sv); + + s2 = s; + ASL_TEST_ASSERT(!s2); + ASL_TEST_ASSERT(!s2.ok()); + ASL_TEST_ASSERT(s2.code() == asl::status_code::internal); + ASL_TEST_ASSERT(s2.message() == "Oh no!"_sv); + } + + ASL_TEST_ASSERT(!s2); + ASL_TEST_ASSERT(!s2.ok()); + ASL_TEST_ASSERT(s2.code() == asl::status_code::internal); + ASL_TEST_ASSERT(s2.message() == "Oh no!"_sv); } |