config: test that comments are left as with git
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
diff --git a/tests/config/write.c b/tests/config/write.c
index 9ad11ab..e634aa3 100644
--- a/tests/config/write.c
+++ b/tests/config/write.c
@@ -530,6 +530,9 @@ void test_config_write__outside_change(void)
git_config_free(cfg);
}
+#define FOO_COMMENT \
+ "; another comment!\n"
+
#define SECTION_FOO \
"\n" \
" \n" \
@@ -537,7 +540,8 @@ void test_config_write__outside_change(void)
" # here's a comment\n" \
"\tname = \"value\"\n" \
" name2 = \"value2\"\n" \
- "; another comment!\n"
+
+#define SECTION_FOO_WITH_COMMENT SECTION_FOO FOO_COMMENT
#define SECTION_BAR \
"[section \"bar\"]\t\n" \
@@ -553,7 +557,7 @@ void test_config_write__preserves_whitespace_and_comments(void)
git_buf newfile = GIT_BUF_INIT;
/* This config can occur after removing and re-adding the origin remote */
- const char *file_content = SECTION_FOO SECTION_BAR;
+ const char *file_content = SECTION_FOO_WITH_COMMENT SECTION_BAR;
/* Write the test config and make sure the expected entry exists */
cl_git_mkfile(file_name, file_content);
@@ -567,9 +571,10 @@ void test_config_write__preserves_whitespace_and_comments(void)
cl_assert_equal_strn(SECTION_FOO, n, strlen(SECTION_FOO));
n += strlen(SECTION_FOO);
-
cl_assert_equal_strn("\tother = otherval\n", n, strlen("\tother = otherval\n"));
n += strlen("\tother = otherval\n");
+ cl_assert_equal_strn(FOO_COMMENT, n, strlen(FOO_COMMENT));
+ n += strlen(FOO_COMMENT);
cl_assert_equal_strn(SECTION_BAR, n, strlen(SECTION_BAR));
n += strlen(SECTION_BAR);