diff options
Diffstat (limited to 'test/utils.cpp')
-rw-r--r-- | test/utils.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/test/utils.cpp b/test/utils.cpp index 58816f15..55ce9365 100644 --- a/test/utils.cpp +++ b/test/utils.cpp @@ -10,6 +10,8 @@ #include <string> #include <vector> +#include <libcamera/geometry.h> + #include "test.h" #include "utils.h" @@ -99,7 +101,7 @@ protected: return TestFail; } - /* utils::split() test. */ + /* utils::join() and utils::split() test. */ std::vector<std::string> elements = { "/bin", "/usr/bin", @@ -111,6 +113,11 @@ protected: for (const auto &element : elements) path += (path.empty() ? "" : ":") + element; + if (path != utils::join(elements, ":")) { + cerr << "utils::join() test failed" << endl; + return TestFail; + } + std::vector<std::string> dirs; for (const auto &dir : utils::split(path, ":")) @@ -121,6 +128,17 @@ protected: return TestFail; } + /* utils::join() with conversion function test. */ + std::vector<Size> sizes = { { 0, 0 }, { 100, 100 } }; + s = utils::join(sizes, "/", [](const Size &size) { + return size.toString(); + }); + + if (s != "0x0/100x100") { + cerr << "utils::join() with conversion test failed" << endl; + return TestFail; + } + /* utils::dirname() tests. */ if (TestPass != testDirname()) return TestFail; |