summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Martín Nieto <cmn@dwim.me>2018-09-28 10:57:50 +0200
committerCarlos Martín Nieto <cmn@dwim.me>2018-10-15 12:46:28 +0200
commit1cbc9604b6ff58a9a3a97724b6408448e39ae006 (patch)
tree88ad132991f861e3206ef279a7bf8631be200692
parent814e7acbabc2e756f809057b7746e08839c44cde (diff)
downloadlibgit2-1cbc9604b6ff58a9a3a97724b6408448e39ae006.tar.gz
config: add failing test for no newline after section header
-rw-r--r--tests/config/read.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/tests/config/read.c b/tests/config/read.c
index e9a39e5ad..c770d6819 100644
--- a/tests/config/read.c
+++ b/tests/config/read.c
@@ -759,6 +759,36 @@ void test_config_read__bom(void)
git_buf_dispose(&buf);
}
+void test_config_read__single_line(void)
+{
+ git_buf buf = GIT_BUF_INIT;
+ git_config *cfg;
+
+ cl_set_cleanup(&clean_test_config, NULL);
+ cl_git_mkfile("./testconfig", "[some] var = value\n[some \"OtheR\"] var = value");
+ cl_git_pass(git_config_open_ondisk(&cfg, "./testconfig"));
+ cl_git_pass(git_config_get_string_buf(&buf, cfg, "some.var"));
+ cl_assert_equal_s(buf.ptr, "value");
+
+ git_buf_clear(&buf);
+ cl_git_pass(git_config_get_string_buf(&buf, cfg, "some.OtheR.var"));
+ cl_assert_equal_s(buf.ptr, "value");
+
+ git_config_free(cfg);
+ cl_git_mkfile("./testconfig", "[some] var = value\n[some \"OtheR\"]var = value");
+ cl_git_pass(git_config_open_ondisk(&cfg, "./testconfig"));
+ git_buf_clear(&buf);
+ cl_git_pass(git_config_get_string_buf(&buf, cfg, "some.var"));
+ cl_assert_equal_s(buf.ptr, "value");
+
+ git_buf_clear(&buf);
+ cl_git_pass(git_config_get_string_buf(&buf, cfg, "some.OtheR.var"));
+ cl_assert_equal_s(buf.ptr, "value");
+
+ git_config_free(cfg);
+ git_buf_dispose(&buf);
+}
+
static int read_nosection_cb(const git_config_entry *entry, void *payload) {
int *seen = (int*)payload;
if (strcmp(entry->name, "key") == 0) {