summaryrefslogtreecommitdiff
path: root/tests/test_config.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_config.c')
-rw-r--r--tests/test_config.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/tests/test_config.c b/tests/test_config.c
index 3ad57729f..40de2652b 100644
--- a/tests/test_config.c
+++ b/tests/test_config.c
@@ -1672,6 +1672,66 @@ out:
return res;
}
+AST_TEST_DEFINE(variable_lists_match)
+{
+ RAII_VAR(struct ast_variable *, left, NULL, ast_variables_destroy);
+ RAII_VAR(struct ast_variable *, right, NULL, ast_variables_destroy);
+ struct ast_variable *var;
+
+ switch (cmd) {
+ case TEST_INIT:
+ info->name = "variable_lists_match";
+ info->category = "/main/config/";
+ info->summary = "Test ast_variable_lists_match";
+ info->description = "Test ast_variable_lists_match";
+ return AST_TEST_NOT_RUN;
+ case TEST_EXECUTE:
+ break;
+ }
+
+ var = ast_variable_new("aaa", "111", "");
+ ast_test_validate(test, var);
+ left = var;
+ var = ast_variable_new("bbb", "222", "");
+ ast_test_validate(test, var);
+ ast_variable_list_append(&left, var);
+
+ var = ast_variable_new("aaa", "111", "");
+ ast_test_validate(test, var);
+ right = var;
+
+ ast_test_validate(test, ast_variable_lists_match(left, right, 0));
+ ast_test_validate(test, !ast_variable_lists_match(left, right, 1));
+
+ var = ast_variable_new("bbb", "222", "");
+ ast_test_validate(test, var);
+ ast_variable_list_append(&right, var);
+
+ ast_test_validate(test, ast_variable_lists_match(left, right, 0));
+ ast_test_validate(test, ast_variable_lists_match(left, right, 1));
+
+ var = ast_variable_new("ccc >", "333", "");
+ ast_test_validate(test, var);
+ ast_variable_list_append(&right, var);
+
+ ast_test_validate(test, !ast_variable_lists_match(left, right, 0));
+ ast_test_validate(test, !ast_variable_lists_match(left, right, 1));
+
+ var = ast_variable_new("ccc", "444", "");
+ ast_test_validate(test, var);
+ ast_variable_list_append(&left, var);
+
+ ast_test_validate(test, ast_variable_lists_match(left, right, 0));
+ ast_test_validate(test, !ast_variable_lists_match(left, right, 1));
+
+ ast_test_validate(test, !ast_variable_lists_match(left, NULL, 0));
+ ast_test_validate(test, ast_variable_lists_match(NULL, NULL, 0));
+ ast_test_validate(test, !ast_variable_lists_match(NULL, right, 0));
+ ast_test_validate(test, ast_variable_lists_match(left, left, 0));
+
+ return AST_TEST_PASS;
+}
+
static int unload_module(void)
{
AST_TEST_UNREGISTER(config_basic_ops);
@@ -1682,6 +1742,7 @@ static int unload_module(void)
AST_TEST_UNREGISTER(ast_parse_arg_test);
AST_TEST_UNREGISTER(config_options_test);
AST_TEST_UNREGISTER(config_dialplan_function);
+ AST_TEST_UNREGISTER(variable_lists_match);
return 0;
}
@@ -1695,6 +1756,7 @@ static int load_module(void)
AST_TEST_REGISTER(ast_parse_arg_test);
AST_TEST_REGISTER(config_options_test);
AST_TEST_REGISTER(config_dialplan_function);
+ AST_TEST_REGISTER(variable_lists_match);
return AST_MODULE_LOAD_SUCCESS;
}