#include "clar_libgit2.h" #define TEST_FILE "config.refresh" void test_config_refresh__initialize(void) { } void test_config_refresh__cleanup(void) { cl_fixture_cleanup(TEST_FILE); } void test_config_refresh__update_value(void) { git_config *cfg; int32_t v; cl_git_mkfile(TEST_FILE, "[section]\n\tvalue = 1\n\n"); /* By freeing the config, we make sure we flush the values */ cl_git_pass(git_config_open_ondisk(&cfg, TEST_FILE)); cl_git_pass(git_config_get_int32(&v, cfg, "section.value")); cl_assert_equal_i(1, v); cl_git_rewritefile(TEST_FILE, "[section]\n\tvalue = 10\n\n"); cl_git_pass(git_config_get_int32(&v, cfg, "section.value")); cl_assert_equal_i(1, v); cl_git_pass(git_config_refresh(cfg)); cl_git_pass(git_config_get_int32(&v, cfg, "section.value")); cl_assert_equal_i(10, v); git_config_free(cfg); } void test_config_refresh__delete_value(void) { git_config *cfg; int32_t v; cl_git_mkfile(TEST_FILE, "[section]\n\tvalue = 1\n\n"); /* By freeing the config, we make sure we flush the values */ cl_git_pass(git_config_open_ondisk(&cfg, TEST_FILE)); cl_git_pass(git_config_get_int32(&v, cfg, "section.value")); cl_assert_equal_i(1, v); cl_git_fail(git_config_get_int32(&v, cfg, "section.newval")); cl_git_rewritefile(TEST_FILE, "[section]\n\tnewval = 10\n\n"); cl_git_pass(git_config_get_int32(&v, cfg, "section.value")); cl_assert_equal_i(1, v); cl_git_fail(git_config_get_int32(&v, cfg, "section.newval")); cl_git_pass(git_config_refresh(cfg)); cl_git_fail(git_config_get_int32(&v, cfg, "section.value")); cl_git_pass(git_config_get_int32(&v, cfg, "section.newval")); cl_assert_equal_i(10, v); git_config_free(cfg); }