-
Notifications
You must be signed in to change notification settings - Fork 53
/
Copy pathCommandLineReporterTests.cpp
60 lines (53 loc) · 2.29 KB
/
CommandLineReporterTests.cpp
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#include "doctest/doctest.h"
#include "ApprovalTests/Approvals.h"
#include "ApprovalTests/writers/StringWriter.h"
#include "ApprovalTests/reporters/CustomReporter.h"
#include <vector>
using namespace ApprovalTests;
TEST_CASE("Test Command Lines")
{
std::stringstream stream;
std::vector<std::shared_ptr<GenericDiffReporter>> reporters = {
// begin-snippet: add_reporter_command_test
// Mac
std::make_shared<Mac::AraxisMergeReporter>(),
std::make_shared<Mac::BeyondCompareReporter>(),
std::make_shared<Mac::DiffMergeReporter>(),
std::make_shared<Mac::KaleidoscopeReporter>(),
std::make_shared<Mac::P4MergeReporter>(),
std::make_shared<Mac::KDiff3Reporter>(),
std::make_shared<Mac::TkDiffReporter>(),
std::make_shared<Mac::VisualStudioCodeReporter>(),
// end-snippet
// Windows
std::make_shared<Windows::TortoiseTextDiffReporter>(),
std::make_shared<Windows::TortoiseImageDiffReporter>(),
std::make_shared<Windows::TortoiseGitTextDiffReporter>(),
std::make_shared<Windows::TortoiseGitImageDiffReporter>(),
std::make_shared<Windows::BeyondCompare3Reporter>(),
std::make_shared<Windows::BeyondCompare4Reporter>(),
std::make_shared<Windows::WinMergeReporter>(),
std::make_shared<Windows::AraxisMergeReporter>(),
std::make_shared<Windows::CodeCompareReporter>(),
std::make_shared<Windows::KDiff3Reporter>(),
std::make_shared<Windows::VisualStudioCodeReporter>(),
// Linux
std::make_shared<Linux::MeldReporter>(),
std::make_shared<Linux::KDiff3Reporter>()};
for (const auto& reporter : reporters)
{
reporter->useCygwinConversions(false);
reporter->launcher.invokeForWindows(true);
stream << "windows: " << reporter->getCommandLine("a.txt", "b.txt")
<< '\n';
reporter->launcher.invokeForWindows(false);
stream << "unix : " << reporter->getCommandLine("a.txt", "b.txt")
<< '\n';
reporter->useCygwinConversions(true);
reporter->launcher.invokeForWindows(false);
stream << "cygwin : " << reporter->getCommandLine("a.txt", "b.txt")
<< '\n';
stream << '\n';
}
Approvals::verify(stream.str());
}