test: config: new test for the new ‘environment’ section

This commit is contained in:
Daniel Eklöf 2022-05-28 19:34:16 +02:00
parent 604a3cdd84
commit 8436e6acea
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F

View file

@ -1132,6 +1132,42 @@ test_section_text_bindings(void)
config_free(&conf); config_free(&conf);
} }
static void
test_section_environment(void)
{
struct config conf = {0};
struct context ctx = {
.conf = &conf, .section = "environment", .path = "unittest"};
/* A single variable */
ctx.key = "FOO";
ctx.value = "bar";
xassert(parse_section_environment(&ctx));
xassert(tll_length(conf.env_vars) == 1);
xassert(strcmp(tll_front(conf.env_vars).name, "FOO") == 0);
xassert(strcmp(tll_front(conf.env_vars).value, "bar") == 0);
/* Add a second variable */
ctx.key = "BAR";
ctx.value = "123";
xassert(parse_section_environment(&ctx));
xassert(tll_length(conf.env_vars) == 2);
xassert(strcmp(tll_back(conf.env_vars).name, "BAR") == 0);
xassert(strcmp(tll_back(conf.env_vars).value, "123") == 0);
/* Replace the *value* of the first variable */
ctx.key = "FOO";
ctx.value = "456";
xassert(parse_section_environment(&ctx));
xassert(tll_length(conf.env_vars) == 2);
xassert(strcmp(tll_front(conf.env_vars).name, "FOO") == 0);
xassert(strcmp(tll_front(conf.env_vars).value, "456") == 0);
xassert(strcmp(tll_back(conf.env_vars).name, "BAR") == 0);
xassert(strcmp(tll_back(conf.env_vars).value, "123") == 0);
config_free(&conf);
}
static void static void
test_section_tweak(void) test_section_tweak(void)
{ {
@ -1227,6 +1263,7 @@ main(int argc, const char *const *argv)
test_section_mouse_bindings(); test_section_mouse_bindings();
test_section_mouse_bindings_collisions(); test_section_mouse_bindings_collisions();
test_section_text_bindings(); test_section_text_bindings();
test_section_environment();
test_section_tweak(); test_section_tweak();
log_deinit(); log_deinit();
return 0; return 0;