#include "common/common.h"
#include "cpp-common/bt2/message.hpp"
+#include "cpp-common/bt2c/uuid.hpp"
#include "cpp-common/vendor/fmt/format.h" /* IWYU pragma: keep */
namespace bt2 {
}
} /* namespace bt2 */
+
+namespace bt2c {
+
+inline std::string format_as(const UuidView uuid)
+{
+ return uuid.str();
+}
+
+} /* namespace bt2c */
cpp_common_test_c_string_view_LDADD = \
$(COMMON_TEST_LDADD)
+noinst_PROGRAMS += \
+ cpp-common/test-uuid
+
+cpp_common_test_uuid_SOURCES = \
+ cpp-common/test-uuid.cpp
+
+cpp_common_test_uuid_LDADD = \
+ $(COMMON_TEST_LDADD) \
+ $(top_builddir)/src/cpp-common/vendor/fmt/libfmt.la
+
TESTS_CPP_COMMON = \
- cpp-common/test-c-string-view
+ cpp-common/test-c-string-view \
+ cpp-common/test-uuid
TESTS_LIB = \
lib/test-bt-uuid \
--- /dev/null
+/*
+ * SPDX-License-Identifier: GPL-2.0-only
+ *
+ * Copyright (C) 2024 EfficiOS, Inc.
+ */
+
+#include "cpp-common/bt2c/fmt.hpp"
+#include "cpp-common/bt2c/uuid.hpp"
+#include "cpp-common/vendor/fmt/format.h"
+
+#include "tap/tap.h"
+
+namespace {
+
+constexpr auto uuidStr = "c2281e4a-699b-4b78-903f-2f8407fe2b77";
+const bt2c::Uuid uuid {uuidStr};
+const bt2c::UuidView uuidView {uuid};
+
+void testFormatAs()
+{
+ const auto resUuid = fmt::to_string(uuid);
+ const auto resUuidView = fmt::to_string(uuidView);
+
+ ok(resUuid == uuidStr, "result of format_as() for `Uuid` is expected");
+ ok(resUuidView == uuidStr, "result of format_as() for `UuidView` is expected");
+}
+
+} /* namespace */
+
+int main()
+{
+ plan_tests(2);
+ testFormatAs();
+ return exit_status();
+}