json: Check party id name, number, subaddresses for UTF-8.

* Updated unit test as ast_json_name_number() is now NULL tolerant.

ASTERISK-26466 #close
Reported by: Richard Mudgett

Change-Id: I7d4e14194f8f81f24a1dc34d1b8602c0950265a6
This commit is contained in:
Richard Mudgett
2016-10-12 16:20:00 -05:00
parent 1c4c6c082d
commit 774d5f7ef7
2 changed files with 36 additions and 23 deletions

View File

@@ -1598,11 +1598,26 @@ AST_TEST_DEFINE(json_test_clever_circle)
return AST_TEST_PASS;
}
static int test_name_number(const char *name, const char *number)
{
int res;
struct ast_json *uut;
struct ast_json *expected;
expected = ast_json_pack("{s: s, s: s}",
"name", name ?: "",
"number", number ?: "");
uut = ast_json_name_number(name, number);
res = ast_json_equal(expected, uut);
ast_json_unref(expected);
ast_json_unref(uut);
return res;
}
AST_TEST_DEFINE(json_test_name_number)
{
RAII_VAR(struct ast_json *, uut, NULL, ast_json_unref);
RAII_VAR(struct ast_json *, expected, NULL, ast_json_unref);
switch (cmd) {
case TEST_INIT:
info->name = "name_number";
@@ -1614,15 +1629,10 @@ AST_TEST_DEFINE(json_test_name_number)
break;
}
ast_test_validate(test, NULL == ast_json_name_number("name", NULL));
ast_test_validate(test, NULL == ast_json_name_number(NULL, "1234"));
ast_test_validate(test, NULL == ast_json_name_number(NULL, NULL));
expected = ast_json_pack("{s: s, s: s}",
"name", "Jenny",
"number", "867-5309");
uut = ast_json_name_number("Jenny", "867-5309");
ast_test_validate(test, ast_json_equal(expected, uut));
ast_test_validate(test, test_name_number("name", NULL));
ast_test_validate(test, test_name_number(NULL, "1234"));
ast_test_validate(test, test_name_number(NULL, NULL));
ast_test_validate(test, test_name_number("Jenny", "867-5309"));
return AST_TEST_PASS;
}