diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/lua/unit/utf.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/test/lua/unit/utf.lua b/test/lua/unit/utf.lua new file mode 100644 index 000000000..2549c501c --- /dev/null +++ b/test/lua/unit/utf.lua @@ -0,0 +1,23 @@ +-- Test utf routines + +context("UTF8 check functions", function() + local ffi = require("ffi") + ffi.cdef[[ + void rspamd_str_lc_utf8 (char *str, unsigned int size); + ]] + + test("UTF lowercase", function() + local cases = { + {"АбЫрвАлг", "абырвалг"}, + {"АAБBвc", "аaбbвc"} + } + + for _,c in ipairs(cases) do + local buf = ffi.new("char[?]", #c[1]) + ffi.copy(buf, c[1]) + ffi.C.rspamd_str_lc_utf8(buf, #c[1]) + local s = ffi.string(buf) + assert_equal(s, c[2]) + end + end) +end)
\ No newline at end of file |