aboutsummaryrefslogtreecommitdiffstats
path: root/test/lua/unit/rspamd_text.lua
blob: 269b4915036b4193273fd81f9d1fcce1b512f045 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
context("Rspamd_text:byte() test", function()
  local lua_util = require "lua_util"
  local rspamd_text = require "rspamd_text"

  local str = 'OMG'
  local txt = rspamd_text.fromstring(str)
  local fmt = 'case rspamd_text:byte(%s,%s)'
  local cases = {
    {'1', 'nil'},
    {'nil', '1'},
  }

  for start = -4, 4 do
    for stop = -4, 4 do
      table.insert(cases, {tostring(start), tostring(stop)})
    end
  end

  for _, case in ipairs(cases) do
    local name = string.format(fmt, case[1], case[2])
    test(name, function()
      local txt_bytes = {txt:byte(tonumber(case[1]), tonumber(case[2]))}
      local str_bytes = {str:byte(tonumber(case[1]), tonumber(case[2]))}
      assert_rspamd_table_eq({
        expect = str_bytes,
        actual = txt_bytes
      })
    end)
  end
end)