#include "zbx_common_trim_utf8.h"
#include "zbxmockassert.h"
static const char *read_utf8(const char *path_str, const char *path_hex)
if (ZBX_MOCK_SUCCESS == zbx_mock_parameter(path_str, &hdata))
if (ZBX_MOCK_SUCCESS != zbx_mock_string(hdata, &data))
fail_msg("invalid string format");
else if (ZBX_MOCK_SUCCESS == zbx_mock_parameter(path_hex, &hdata))
zbx_mock_binary(hdata, &data, &len);
fail_msg("cannot read %s/%s parameter", path_str, path_hex);
void zbx_mock_test_entry_common_trim_utf8(void **state, int trim_utf8_func)
char *in = zbx_strdup(NULL, read_utf8("in.text.str", "in.text.hex"));
const char *charlist = read_utf8("in.charlist.str", "in.charlist.hex");
if (ZABBIX_MOCK_LTRIM_UTF8 == trim_utf8_func)
zbx_ltrim_utf8(in, charlist);
else if (ZABBIX_MOCK_RTRIM_UTF8 == trim_utf8_func)
zbx_rtrim_utf8(in, charlist);
fail_msg("Invalid trim_utf8_func");
const char *expected = read_utf8("out.str", "out.hex");
zbx_mock_assert_str_eq("trimmed value", expected, in);