From 4c4bef266a4be6313179450b3ee66315287ba3de Mon Sep 17 00:00:00 2001 From: emeric Date: Thu, 14 Mar 2024 00:16:03 +0100 Subject: [PATCH] Fixed clang warnings --- src/libs/core/include/core/UUID.hpp | 2 +- src/libs/core/test/CMakeLists.txt | 1 + src/libs/core/test/UUID.cpp | 40 +++++++++++++++++++ src/libs/database/include/database/IdType.hpp | 5 +-- .../metadata/include/metadata/IParser.hpp | 6 +-- .../services/scanner/impl/ScannerSettings.hpp | 4 +- 6 files changed, 48 insertions(+), 10 deletions(-) create mode 100644 src/libs/core/test/UUID.cpp diff --git a/src/libs/core/include/core/UUID.hpp b/src/libs/core/include/core/UUID.hpp index 47ceb1be..1b47a416 100644 --- a/src/libs/core/include/core/UUID.hpp +++ b/src/libs/core/include/core/UUID.hpp @@ -35,7 +35,7 @@ namespace lms::core std::string_view getAsString() const { return _value; } - bool operator<=>(const core::UUID&) const = default; + auto operator<=>(const UUID&) const = default; private: UUID(std::string_view value); diff --git a/src/libs/core/test/CMakeLists.txt b/src/libs/core/test/CMakeLists.txt index e052ad84..a063da46 100644 --- a/src/libs/core/test/CMakeLists.txt +++ b/src/libs/core/test/CMakeLists.txt @@ -8,6 +8,7 @@ add_executable(test-core String.cpp TraceLogger.cpp Utils.cpp + UUID.cpp ) target_link_libraries(test-core PRIVATE diff --git a/src/libs/core/test/UUID.cpp b/src/libs/core/test/UUID.cpp new file mode 100644 index 00000000..8e61d71a --- /dev/null +++ b/src/libs/core/test/UUID.cpp @@ -0,0 +1,40 @@ +/* + * Copyright (C) 2024 Emeric Poupon + * + * This file is part of LMS. + * + * LMS is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * LMS is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with LMS. If not, see . + */ + +#include +#include +#include +#include + +#include + +#include "core/UUID.hpp" + +namespace lms::core +{ + TEST(UUID, caseInsensitive) + { + const std::optional uuid1{ UUID::fromString("3f51c839-bee2-4e9d-a7b7-0693e45178fc") }; + const std::optional uuid2{ UUID::fromString("3f51C839-bEE2-4e9d-a7B7-0693e45178fC") }; + + EXPECT_EQ(uuid1, uuid2); + EXPECT_TRUE(uuid1 >= uuid2); + EXPECT_TRUE(uuid1 <= uuid2); + } +} \ No newline at end of file diff --git a/src/libs/database/include/database/IdType.hpp b/src/libs/database/include/database/IdType.hpp index e1c06504..678728f7 100644 --- a/src/libs/database/include/database/IdType.hpp +++ b/src/libs/database/include/database/IdType.hpp @@ -39,10 +39,7 @@ namespace lms::db ValueType getValue() const { return _id; } - bool operator==(IdType other) const { return other._id == _id; } - bool operator!=(IdType other) const { return !(*this == other); } - bool operator<(IdType other) const { return _id < other._id; } - bool operator>(IdType other) const { return _id > other._id; } + auto operator<=>(const IdType& other) const = default; private: Wt::Dbo::dbo_default_traits::IdType _id {Wt::Dbo::dbo_default_traits::invalidId()}; diff --git a/src/libs/metadata/include/metadata/IParser.hpp b/src/libs/metadata/include/metadata/IParser.hpp index 189ebda2..568a6287 100644 --- a/src/libs/metadata/include/metadata/IParser.hpp +++ b/src/libs/metadata/include/metadata/IParser.hpp @@ -46,7 +46,7 @@ namespace lms::metadata Artist(std::string_view _name) : name{ _name } {} Artist(std::optional _mbid, std::string_view _name, std::optional _sortName) : mbid{ std::move(_mbid) }, name{ _name }, sortName{ std::move(_sortName) } {} - bool operator<=>(const Artist&) const = default; + auto operator<=>(const Artist&) const = default; }; using PerformerContainer = std::map>; @@ -62,7 +62,7 @@ namespace lms::metadata std::optional mediumCount; std::vector releaseTypes; - bool operator<=>(const Release&) const = default; + auto operator<=>(const Release&) const = default; }; struct Medium @@ -74,7 +74,7 @@ namespace lms::metadata std::optional trackCount; std::optional replayGain; - bool operator<=>(const Medium&) const = default; + auto operator<=>(const Medium&) const = default; bool isDefault() const { diff --git a/src/libs/services/scanner/impl/ScannerSettings.hpp b/src/libs/services/scanner/impl/ScannerSettings.hpp index 2186ddb1..eca0f08e 100644 --- a/src/libs/services/scanner/impl/ScannerSettings.hpp +++ b/src/libs/services/scanner/impl/ScannerSettings.hpp @@ -44,10 +44,10 @@ namespace lms::scanner db::MediaLibraryId id; std::filesystem::path rootDirectory; - bool operator<=>(const MediaLibraryInfo& other) const = default; + auto operator<=>(const MediaLibraryInfo& other) const = default; }; std::vector mediaLibraries; - bool operator<=>(const ScannerSettings& rhs) const = default; + bool operator==(const ScannerSettings& rhs) const = default; }; }