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.
21 #include "StringUtils.h"
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));
31 EXPECT_EQ(0, config
.GetBool(_T("core.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
));
37 EXPECT_EQ(0, config
.GetString(_T("core.email"), value
));
38 EXPECT_STREQ(_T("dummy@example.com"), value
);
41 TEST(libgit2
, TGitPatches
)
45 git_repository_init_options options
= GIT_REPOSITORY_INIT_OPTIONS_INIT
;
46 options
.flags
= GIT_REPOSITORY_INIT_MKPATH
| GIT_REPOSITORY_INIT_EXTERNAL_TEMPLATE
;
48 ASSERT_EQ(0, git_repository_init_ext(repo
.GetPointer(), CUnicodeUtils::GetUTF8(tempdir
.GetTempDir()), &options
));
51 ASSERT_EQ(0, git_repository_config(config
.GetPointer(), repo
));
52 EXPECT_EQ(0, git_config_set_string(config
, "core.autocrlf", "true"));
53 EXPECT_EQ(0, git_config_set_string(config
, "core.safecrlf", "true"));
55 CAutoRepository
repo2(tempdir
.GetTempDir());
56 ASSERT_TRUE(repo2
.IsValid());
58 ASSERT_EQ(0, git_repository_index(index
.GetPointer(), repo2
));
60 CString testFile
= tempdir
.GetTempDir() + _T("\\safecrlf-failure.txt");
61 EXPECT_TRUE(CStringUtils::WriteStringToTextFile((LPCTSTR
)testFile
, L
"crlf\r\ncrlf\r\n"));
62 EXPECT_EQ(0, git_index_add_bypath(index
, "safecrlf-failure.txt"));
64 EXPECT_TRUE(CStringUtils::WriteStringToTextFile((LPCTSTR
)testFile
, L
"lf\nlf\n"));
65 EXPECT_EQ(-1, git_index_add_bypath(index
, "safecrlf-failure.txt"));
67 EXPECT_TRUE(CStringUtils::WriteStringToTextFile((LPCTSTR
)testFile
, L
"crlf\r\ncr\rcrlf\r\n"));
68 EXPECT_EQ(0, git_index_add_bypath(index
, "safecrlf-failure.txt"));
70 EXPECT_EQ(0, git_config_set_string(config
, "core.autocrlf", "input"));
71 CAutoRepository
repo3(tempdir
.GetTempDir());
72 ASSERT_TRUE(repo3
.IsValid());
73 ASSERT_EQ(0, git_repository_index(index
.GetPointer(), repo3
));
75 EXPECT_TRUE(CStringUtils::WriteStringToTextFile((LPCTSTR
)testFile
, L
"crlf\r\ncrlf\r\n"));
76 EXPECT_EQ(-1, git_index_add_bypath(index
, "safecrlf-failure.txt"));