summaryrefslogtreecommitdiff
path: root/asl/tests
diff options
context:
space:
mode:
authorSteven Le Rouzic <steven.lerouzic@gmail.com>2025-01-04 22:55:46 +0100
committerSteven Le Rouzic <steven.lerouzic@gmail.com>2025-01-04 22:55:46 +0100
commitb53fc9038f4579974c9eea28e82b693a7fd66522 (patch)
tree4b411286ee139c3649eae90a6d3ae19f7db036df /asl/tests
parentb62e554e9763497e53bae0a3d5a895c1cdbf40de (diff)
Add copy to status
Diffstat (limited to 'asl/tests')
-rw-r--r--asl/tests/status_tests.cpp45
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);
}