return util.table_cmp(tbl.expect, tbl.actual)
end
+local function rspamd_assert_table_equals_sorted(tbl)
+ return util.table_cmp(table.sort(tbl.expect), table.sort(tbl.actual))
+end
+
local function table_keys_sorted(t)
local keys = {}
telescope.make_assertion("rspamd_eq", rspamd_assert_equals_msg, rspamd_assert_equals)
-- telescope.make_assertion("rspamd_table_eq", rspamd_assert_equals_msg, rspamd_assert_table_equals)
telescope.make_assertion("rspamd_table_eq", rspamd_assert_table_diff_msg, rspamd_assert_table_equals)
+telescope.make_assertion("rspamd_table_eq_sorted", rspamd_assert_table_diff_msg,
+ rspamd_assert_table_equals_sorted)
+
local res,task = rspamd_task.load_from_string(msg)
assert_true(res, "failed to load message")
task:process_message()
- assert_rspamd_table_eq({actual = fun.totable(fun.map(function(u)
+ assert_rspamd_table_eq_sorted({actual = fun.totable(fun.map(function(u)
return u:get_host()
end, task:get_urls())), expect = {
'evil.com', 'example.com'
local res,task = rspamd_task.load_from_string(msg)
assert_true(res, "failed to load message")
task:process_message()
- assert_rspamd_table_eq({
+ assert_rspamd_table_eq_sorted({
actual = fun.totable(fun.map(function(u)
return u:get_host()
end, task:get_urls())),
local res,task = rspamd_task.load_from_string(msg)
assert_true(res, "failed to load message")
task:process_message()
- assert_rspamd_table_eq({
+ assert_rspamd_table_eq_sorted({
actual = fun.totable(fun.map(function(u)
return u:get_host()
end, task:get_urls())),
local res,task = rspamd_task.load_from_string(msg)
assert_true(res, "failed to load message")
task:process_message()
- assert_rspamd_table_eq({
+ assert_rspamd_table_eq_sorted({
actual = fun.totable(fun.map(function(u)
return u:get_host()
end, task:get_urls())),
local res,task = rspamd_task.load_from_string(msg)
assert_true(res, "failed to load message")
task:process_message()
- assert_rspamd_table_eq({
+ assert_rspamd_table_eq_sorted({
actual = fun.totable(fun.map(function(u)
return u:get_host()
end, task:get_urls())),
local res,task = rspamd_task.load_from_string(msg)
assert_true(res, "failed to load message")
task:process_message()
- assert_rspamd_table_eq({
+ assert_rspamd_table_eq_sorted({
actual = fun.totable(fun.map(function(u)
return u:get_host()
end, task:get_urls())),