#include "wrap-string.hpp" #include "wrap-vector.hpp" #include "driver-util.hpp" #include "luastack.hpp" #include "util.hpp" namespace drv { void split_host_port(std::string_view target, std::string &host, std::string &port) { size_t lastcolon = target.rfind(':'); if (lastcolon == std::string_view::npos) { host = ""; port = ""; return; } host = target.substr(0, lastcolon); port = target.substr(lastcolon + 1); if ((host == "") || (port == "")) { host = ""; port = ""; return; } } std::vector parse_control_lst(std::string_view ctrl) { std::vector result; while (!ctrl.empty()) { std::string_view line = util::sv_read_line(ctrl); std::string_view trimmed = util::sv_trim(line); if ((trimmed.size() > 0) && (trimmed[0] != '#')) { result.emplace_back(trimmed); } } return result; } } // namespace drv LuaDefine(unittests_driverutil, "", "some unit tests") { // Test split_host_port std::string host, port; drv::split_host_port("stanford.edu:80", host, port); LuaAssertStrEq(L, host, "stanford.edu"); LuaAssertStrEq(L, port, "80"); return 0; }