Skip to content

Commit 8617461

Browse files
added FFI test for struct field:
`background_button_color` `foreground_button_color`
1 parent e7713dc commit 8617461

2 files changed

Lines changed: 15 additions & 1 deletion

File tree

tests-ffi/demo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@ notification = true
55
[app_gui_settings]
66
background_color = "#2f3136"
77
foreground_color = "#ffffff"
8+
background_button_color = "#2f3136"
9+
foreground_button_color = "#ffffff"

tests-ffi/toml_config.cxx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ extern "C" enum RawReadAppConfigStatus : uint8_t {
1313
READ_FILE_FAILED,
1414
UTF_8_ERROR,
1515
PARSE_TOML_FAILED,
16-
CONVERT_TO_MUT_FAILED
16+
CONVERT_TO_MUT_FAILED,
17+
CONVERT_TO_C_STR_FAILED,
1718
};
1819

1920
extern "C" typedef struct {
@@ -24,6 +25,8 @@ extern "C" typedef struct {
2425
extern "C" typedef struct {
2526
char *background_color;
2627
char *foreground_color;
28+
char *background_button_color;
29+
char *foreground_button_color;
2730
} RawAppGuiSettings;
2831

2932
extern "C" typedef struct {
@@ -45,13 +48,18 @@ int main() {
4548
auto result = raw_exists_config(path, raw.get());
4649
auto bg_color = string(raw->raw_app_gui_settings.background_color);
4750
auto fg_color = string(raw->raw_app_gui_settings.foreground_color);
51+
auto bg_btn_color =
52+
string(raw->raw_app_gui_settings.background_button_color);
53+
auto fg_btn_color =
54+
string(raw->raw_app_gui_settings.foreground_button_color);
4855

4956
raw_free_cstr_app_config(raw.get());
5057

5158
assert(result != Status::UTF_8_ERROR);
5259
assert(result != Status::PARSE_TOML_FAILED);
5360
assert(result != Status::READ_FILE_FAILED);
5461
assert(result != Status::CONVERT_TO_MUT_FAILED);
62+
assert(result != Status::CONVERT_TO_C_STR_FAILED);
5563
assert(result == Status::OK);
5664

5765
assert(raw->raw_app_settings.hide_when_closed != true);
@@ -63,6 +71,10 @@ int main() {
6371
assert(!fg_color.empty());
6472
assert(bg_color != "717841xx18");
6573
assert(fg_color != "81388181");
74+
assert(bg_btn_color != "31831d$");
75+
assert(bg_btn_color == "#2f3136");
76+
assert(fg_btn_color != "#&$!&!&");
77+
assert(fg_btn_color == "#ffffff");
6678
assert(bg_color == "#2f3136");
6779
assert(fg_color == "#ffffff");
6880

0 commit comments

Comments
 (0)