commit 327be8e: [Test] Add unit tests
Vsevolod Stakhov
vsevolod at highsecure.ru
Thu Aug 15 14:56:05 UTC 2019
Author: Vsevolod Stakhov
Date: 2019-08-15 14:25:37 +0100
URL: https://github.com/rspamd/rspamd/commit/327be8edbaed1194d5fa3caefedab7d45f740dfe
[Test] Add unit tests
---
test/lua/unit/rspamd_util.lua | 47 +++++++++++++++++++++++++++++++++++++++++++
1 file changed, 47 insertions(+)
diff --git a/test/lua/unit/rspamd_util.lua b/test/lua/unit/rspamd_util.lua
index 859316be7..56f13d6da 100644
--- a/test/lua/unit/rspamd_util.lua
+++ b/test/lua/unit/rspamd_util.lua
@@ -1,6 +1,7 @@
context("Rspamd util for lua - check generic functions", function()
local util = require 'rspamd_util'
+
local cases = {
{
input = "test1",
@@ -87,3 +88,49 @@ context("Rspamd util for lua - check generic functions", function()
assert_error(util.is_utf_mixed_script,'\200\213\202')
end)
end)
+
+context("Rspamd string utility", function()
+ local ffi = require 'ffi'
+
+ ffi.cdef[[
+char ** rspamd_string_len_split (const char *in, size_t len,
+ const char *spill, int max_elts, void *pool);
+ void g_strfreev (char **str_array);
+]]
+ local NULL = ffi.new 'void*'
+ local cases = {
+ {'', ';,', {}},
+ {'', '', {}},
+ {'a', ';,', {'a'}},
+ {'a', '', {'a'}},
+ {'a;b', ';', {'a', 'b'}},
+ {'a;;b', ';', {'a', 'b'}},
+ {';a;;b;', ';', {'a', 'b'}},
+ {'ab', ';', {'ab'}},
+ {'a,;b', ',', {'a', ';b'}},
+ {'a,;b', ';,', {'a', 'b'}},
+ {',a,;b', ';,', {'a', 'b'}},
+ {',,;', ';,', {}},
+ {',,;a', ';,', {'a'}},
+ {'a,,;', ';,', {'a'}},
+ }
+
+ for i,case in ipairs(cases) do
+ test("rspamd_string_len_split: case " .. tostring(i), function()
+ local ret = ffi.C.rspamd_string_len_split(case[1], #case[1],
+ case[2], -1, NULL)
+ local actual = {}
+
+ while ret[#actual] ~= NULL do
+ actual[#actual + 1] = ffi.string(ret[#actual])
+ end
+
+ assert_rspamd_table_eq({
+ expect = case[3],
+ actual = actual
+ })
+
+ ffi.C.g_strfreev(ret)
+ end)
+ end
+end)
\ No newline at end of file
More information about the Commits
mailing list