diff --git a/test/utils.cpp b/test/utils.cpp
index 9fe0d4775b73..db1fbdde847d 100644
--- a/test/utils.cpp
+++ b/test/utils.cpp
@@ -7,6 +7,8 @@
 
 #include <iostream>
 #include <sstream>
+#include <string>
+#include <vector>
 
 #include "test.h"
 #include "utils.h"
@@ -19,6 +21,7 @@ class UtilsTest : public Test
 protected:
 	int run()
 	{
+		/* utils::hex() test. */
 		std::ostringstream os;
 		std::string ref;
 
@@ -46,6 +49,28 @@ protected:
 			return TestFail;
 		}
 
+		/* utils::split() test. */
+		std::vector<std::string> elements = {
+			"/bin",
+			"/usr/bin",
+			"",
+			"",
+		};
+
+		std::string path;
+		for (const auto &element : elements)
+			path += (path.empty() ? "" : ":") + element;
+
+		std::vector<std::string> dirs;
+
+		for (const auto &dir : utils::split(path, ":"))
+			dirs.push_back(dir);
+
+		if (dirs != elements) {
+			cerr << "utils::split() test failed" << endl;
+			return TestFail;
+		}
+
 		return TestPass;
 	}
 };
