diff options
| author | Albert Cervin <albert@acervin.com> | 2024-05-22 00:00:29 +0200 |
|---|---|---|
| committer | Albert Cervin <albert@acervin.com> | 2024-09-12 20:17:56 +0200 |
| commit | 405da5f84b072ea97b69359454899f45d92d24b6 (patch) | |
| tree | 20525b4bc44a5d8cbab4d62abe8413e174731db6 /test/settings.c | |
| parent | 4ab7e453e26afc6e9f4938c65f89463fbba9e267 (diff) | |
| download | dged-405da5f84b072ea97b69359454899f45d92d24b6.tar.gz dged-405da5f84b072ea97b69359454899f45d92d24b6.tar.xz dged-405da5f84b072ea97b69359454899f45d92d24b6.zip | |
WIP LSP client
This contains the start of an LSP client.
Nothing (except starting the LSP server) works
at the moment and the feature is disabled by default.
Diffstat (limited to 'test/settings.c')
| -rw-r--r-- | test/settings.c | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/test/settings.c b/test/settings.c index 13d0963..1d1f192 100644 --- a/test/settings.c +++ b/test/settings.c @@ -5,22 +5,22 @@ #include "assert.h" #include "test.h" -void test_get() { +void test_get(void) { settings_init(10); settings_set_default( "my.setting", - (struct setting_value){.type = Setting_Bool, .bool_value = false}); + (struct setting_value){.type = Setting_Bool, .data.bool_value = false}); struct setting *s = settings_get("my.setting"); ASSERT(s != NULL, "Expected setting to exist after being inserted"); ASSERT(s->value.type == Setting_Bool, "Expected inserted setting to have the same type when retrieved"); - ASSERT(!s->value.bool_value, + ASSERT(!s->value.data.bool_value, "Expected inserted setting to have the same value when retrieved"); settings_set_default( "other.setting", - (struct setting_value){.type = Setting_Number, .number_value = 28}); + (struct setting_value){.type = Setting_Number, .data.number_value = 28}); struct setting **res = NULL; uint32_t nres = 0; @@ -29,46 +29,48 @@ void test_get() { ASSERT(nres == 1, "Expected to get one result back"); ASSERT(s->value.type == Setting_Bool, "Expected inserted setting to have the " "same type when retrieved by prefix"); - ASSERT(!s->value.bool_value, "Expected inserted setting to have the same " - "value when retrieved by prefix"); + ASSERT(!s->value.data.bool_value, + "Expected inserted setting to have the same " + "value when retrieved by prefix"); free(res); settings_destroy(); } -void test_set() { +void test_set(void) { settings_init(10); settings_set_default( "my.setting", - (struct setting_value){.type = Setting_Bool, .bool_value = false}); + (struct setting_value){.type = Setting_Bool, .data.bool_value = false}); // test that wrong type is ignored; - settings_set("my.setting", (struct setting_value){.type = Setting_String, - .string_value = "bonan"}); + settings_set("my.setting", + (struct setting_value){.type = Setting_String, + .data.string_value = "bonan"}); struct setting *s = settings_get("my.setting"); ASSERT(s != NULL, "Expected setting to exist after being inserted"); ASSERT(s->value.type == Setting_Bool, "Expected inserted setting type to not have been changed"); - ASSERT(!s->value.bool_value, + ASSERT(!s->value.data.bool_value, "Expected inserted setting value to not have been changed"); // test that correct type is indeed changed settings_set("my.setting", (struct setting_value){.type = Setting_Bool, - .bool_value = true}); + .data.bool_value = true}); s = settings_get("my.setting"); ASSERT(s != NULL, "Expected setting to exist"); ASSERT(s->value.type == Setting_Bool, "Expected inserted setting type to not have been changed"); - ASSERT(s->value.bool_value, + ASSERT(s->value.data.bool_value, "Expected inserted setting value to _have_ been changed"); settings_destroy(); } -void test_from_toml_string() { +void test_from_toml_string(void) { char *content = "[ languages.c]\n" "name = \"C\""; @@ -81,13 +83,13 @@ void test_from_toml_string() { ASSERT(setting != NULL, "Expected to be able to retrieve setting after parsed from string"); ASSERT(setting->value.type == Setting_String, "Expected a string setting"); - ASSERT_STR_EQ(setting->value.string_value, "C", + ASSERT_STR_EQ(setting->value.data.string_value, "C", "Expected setting value to be \"C\""); content = "sune = \"wrong"; res = settings_from_string(content, &errmsgs); ASSERT(res >= 1, "Expected (at least) one error from invalid toml"); - for (uint32_t i = 0; i < res; ++i) { + for (uint32_t i = 0; i < (uint32_t)res; ++i) { free(errmsgs[i]); } free(errmsgs); @@ -95,7 +97,7 @@ void test_from_toml_string() { content = "boll = truj"; res = settings_from_string(content, &errmsgs); ASSERT(res >= 1, "Expected (at least) one error from an invalid bool"); - for (uint32_t i = 0; i < res; ++i) { + for (uint32_t i = 0; i < (uint32_t)res; ++i) { free(errmsgs[i]); } free(errmsgs); @@ -109,12 +111,12 @@ void test_from_toml_string() { setting = settings_get("editor.show-whitespace"); ASSERT(setting != NULL, "Expected editor.show-whitespace to be set from TOML"); - ASSERT(setting->value.bool_value, + ASSERT(setting->value.data.bool_value, "Expected editor.show-whitespace to be set to true from TOML"); setting = settings_get("editor.tab-width"); ASSERT(setting != NULL, "Expected editor.tab-width to be set from TOML"); - ASSERT(setting->value.number_value == 3, + ASSERT(setting->value.data.number_value == 3, "Expected editor.tab-width to be set to 3 from TOML"); content = "[languages]\n" @@ -126,7 +128,7 @@ void test_from_toml_string() { setting = settings_get("languages.pang.name"); ASSERT(setting != NULL, "Expected languages.pang.name to be set through inline table"); - ASSERT_STR_EQ(setting->value.string_value, "Bom", + ASSERT_STR_EQ(setting->value.data.string_value, "Bom", "Expected languages.pang.name to be \"Bom\""); content = "multi = \"\"\"This is\n" @@ -135,13 +137,13 @@ void test_from_toml_string() { ASSERT(res == 0, "Expected valid TOML to parse successfully"); setting = settings_get("multi"); ASSERT(setting != NULL, "Expected multi to be set"); - ASSERT_STR_EQ(setting->value.string_value, "This is\na multiline string", + ASSERT_STR_EQ(setting->value.data.string_value, "This is\na multiline string", "Expected newline to have been preserved in multiline string"); settings_destroy(); } -void run_settings_tests() { +void run_settings_tests(void) { run_test(test_get); run_test(test_set); run_test(test_from_toml_string); |
