diff options
Diffstat (limited to 'test/internal/utils.cpp')
| -rw-r--r-- | test/internal/utils.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/test/internal/utils.cpp b/test/internal/utils.cpp index 403964c..8f5d75c 100644 --- a/test/internal/utils.cpp +++ b/test/internal/utils.cpp @@ -1,7 +1,10 @@ +#include <functional> #include <gtest/gtest.h> +#include <memory> #include <sdeventplus/internal/utils.hpp> #include <stdexcept> #include <system_error> +#include <utility> namespace sdeventplus { @@ -15,6 +18,20 @@ TEST(UtilsTest, PerformCallbackSuccess) EXPECT_EQ(0, performCallback(nullptr, []() {})); } +TEST(UtilsTest, PerformCallbackAcceptsReference) +{ + auto f = + std::bind([](const std::unique_ptr<int>&) {}, std::make_unique<int>(1)); + EXPECT_EQ(0, performCallback(nullptr, f)); +} + +TEST(UtilsTest, PerformCallbackAcceptsMove) +{ + auto f = + std::bind([](const std::unique_ptr<int>&) {}, std::make_unique<int>(1)); + EXPECT_EQ(0, performCallback(nullptr, std::move(f))); +} + TEST(UtilsTest, SetPrepareSystemError) { EXPECT_EQ(-EBUSY, performCallback("system_error", []() { |

