From 5d4ef1bdd2d1a3f338b9dee6fbddeea0d68953cd Mon Sep 17 00:00:00 2001 From: Ruben Perez Date: Sun, 25 Sep 2022 07:21:01 +0200 Subject: [PATCH] First field tests --- include/boost/mysql/field.hpp | 7 +- include/boost/mysql/field_view.hpp | 4 +- test/CMakeLists.txt | 1 + test/unit/field.cpp | 1037 ++++++++++++++++++++++++++++ test/unit/field_view.cpp | 8 - 5 files changed, 1043 insertions(+), 14 deletions(-) create mode 100644 test/unit/field.cpp diff --git a/include/boost/mysql/field.hpp b/include/boost/mysql/field.hpp index 5e888727..ffb89682 100644 --- a/include/boost/mysql/field.hpp +++ b/include/boost/mysql/field.hpp @@ -30,7 +30,7 @@ public: field& operator=(field&&) = default; ~field() = default; - field(std::nullptr_t) noexcept : repr_(null_t()) {} + explicit field(std::nullptr_t) noexcept : repr_(null_t()) {} field(signed char v) noexcept : repr_(std::int64_t(v)) {} field(short v) noexcept : repr_(std::int64_t(v)) {} field(int v) noexcept : repr_(std::int64_t(v)) {} @@ -41,7 +41,7 @@ public: field(unsigned int v) noexcept : repr_(std::uint64_t(v)) {} field(unsigned long v) noexcept : repr_(std::uint64_t(v)) {} field(unsigned long long v) noexcept : repr_(std::uint64_t(v)) {} - field(std::string&& v) noexcept : repr_(std::move(v)) {} + field(std::string v) noexcept : repr_(std::move(v)) {} field(float v) noexcept : repr_(v) {} field(double v) noexcept : repr_(v) {} field(const date& v) noexcept : repr_(v) {} @@ -60,7 +60,7 @@ public: field& operator=(unsigned int v) noexcept { repr_.emplace(v); return *this; } field& operator=(unsigned long v) noexcept { repr_.emplace(v); return *this; } field& operator=(unsigned long long v) noexcept { repr_.emplace(v); return *this; } - field& operator=(std::string&& v) { repr_.emplace(std::move(v)); return *this; } + field& operator=(std::string v) { repr_.emplace(std::move(v)); return *this; } field& operator=(float v) noexcept { repr_.emplace(v); return *this; } field& operator=(double v) noexcept { repr_.emplace(v); return *this; } field& operator=(const date& v) noexcept { repr_.emplace(v); return *this; } @@ -98,7 +98,6 @@ public: datetime* if_datetime() noexcept { return boost::variant2::get_if(&repr_); } time* if_time() noexcept { return boost::variant2::get_if