Merge branch 'issue-2232'
[TortoiseGit.git] / test / UnitTests / libgit2Test.cpp
blob554095230bd0e7c4c069295d59b7db110d268917
1 // TortoiseGit - a Windows shell extension for easy version control
3 // Copyright (C) 2015 - TortoiseGit
5 // This program is free software; you can redistribute it and/or
6 // modify it under the terms of the GNU General Public License
7 // as published by the Free Software Foundation; either version 2
8 // of the License, or (at your option) any later version.
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU General Public License for more details.
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
20 #include "stdafx.h"
21 #include "StringUtils.h"
23 TEST(libgit2, Config)
25 CAutoTempDir tempdir;
26 CString testFile = tempdir.GetTempDir() + _T("\\config");
27 EXPECT_TRUE(CStringUtils::WriteStringToTextFile((LPCTSTR)testFile, L"[core]\nemail=dummy@example.com\ntrue=true\nfalse=false\n"));
28 CAutoConfig config(true);
29 EXPECT_EQ(0, git_config_add_file_ondisk(config, CUnicodeUtils::GetUTF8(testFile), GIT_CONFIG_LEVEL_LOCAL, 1));
30 bool ret = false;
31 EXPECT_EQ(0, config.GetBool(_T("core.true"), ret));
32 EXPECT_EQ(true, ret);
33 EXPECT_EQ(0, config.GetBool(_T("core.false"), ret));
34 EXPECT_EQ(false, ret);
35 EXPECT_EQ(-3, config.GetBool(_T("core.not-exist"), ret));
36 CString value;
37 EXPECT_EQ(0, config.GetString(_T("core.email"), value));
38 EXPECT_STREQ(_T("dummy@example.com"), value);