forked from approvals/ApprovalTests.cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathWindowsReporters.cpp
More file actions
118 lines (100 loc) · 3.82 KB
/
Copy pathWindowsReporters.cpp
File metadata and controls
118 lines (100 loc) · 3.82 KB
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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include "ApprovalTests/reporters/WindowsReporters.h"
#include "DiffPrograms.h"
namespace ApprovalTests
{
namespace Windows
{
VisualStudioCodeReporter::VisualStudioCodeReporter()
: GenericDiffReporter(DiffPrograms::Windows::VS_CODE())
{
}
// ----------------------- Beyond Compare ----------------------------------
BeyondCompare3Reporter::BeyondCompare3Reporter()
: GenericDiffReporter(DiffPrograms::Windows::BEYOND_COMPARE_3())
{
}
BeyondCompare4Reporter::BeyondCompare4Reporter()
: GenericDiffReporter(DiffPrograms::Windows::BEYOND_COMPARE_4())
{
}
BeyondCompareReporter::BeyondCompareReporter()
: FirstWorkingReporter(
{new BeyondCompare4Reporter(), new BeyondCompare3Reporter()})
{
}
// ----------------------- Tortoise SVN ------------------------------------
TortoiseImageDiffReporter::TortoiseImageDiffReporter()
: GenericDiffReporter(DiffPrograms::Windows::TORTOISE_IMAGE_DIFF())
{
}
TortoiseTextDiffReporter::TortoiseTextDiffReporter()
: GenericDiffReporter(DiffPrograms::Windows::TORTOISE_TEXT_DIFF())
{
}
TortoiseDiffReporter::TortoiseDiffReporter()
: FirstWorkingReporter(
{new TortoiseTextDiffReporter(), new TortoiseImageDiffReporter()})
{
}
// ----------------------- Tortoise Git ------------------------------------
TortoiseGitTextDiffReporter::TortoiseGitTextDiffReporter()
: GenericDiffReporter(DiffPrograms::Windows::TORTOISE_GIT_TEXT_DIFF())
{
}
TortoiseGitImageDiffReporter::TortoiseGitImageDiffReporter()
: GenericDiffReporter(DiffPrograms::Windows::TORTOISE_GIT_IMAGE_DIFF())
{
}
TortoiseGitDiffReporter::TortoiseGitDiffReporter()
: FirstWorkingReporter(
{new TortoiseGitTextDiffReporter(), new TortoiseGitImageDiffReporter()})
{
}
// -------------------------------------------------------------------------
WinMergeReporter::WinMergeReporter()
: GenericDiffReporter(DiffPrograms::Windows::WIN_MERGE_REPORTER())
{
}
AraxisMergeReporter::AraxisMergeReporter()
: GenericDiffReporter(DiffPrograms::Windows::ARAXIS_MERGE())
{
}
CodeCompareReporter::CodeCompareReporter()
: GenericDiffReporter(DiffPrograms::Windows::CODE_COMPARE())
{
}
SublimeMergeReporter::SublimeMergeReporter()
: GenericDiffReporter(DiffPrograms::Windows::SUBLIME_MERGE())
{
launcher.setForeground(true);
}
KDiff3Reporter::KDiff3Reporter()
: GenericDiffReporter(DiffPrograms::Windows::KDIFF3())
{
}
WindowsDiffReporter::WindowsDiffReporter()
: FirstWorkingReporter({
// begin-snippet: windows_diff_reporters
new TortoiseDiffReporter(), // Note that this uses Tortoise SVN Diff
new TortoiseGitDiffReporter(),
new BeyondCompareReporter(),
new WinMergeReporter(),
new AraxisMergeReporter(),
new CodeCompareReporter(),
new SublimeMergeReporter(),
new KDiff3Reporter(),
new VisualStudioCodeReporter(),
// end-snippet
})
{
}
bool WindowsDiffReporter::report(std::string received, std::string approved) const
{
if (!SystemUtils::isWindowsOs())
{
return false;
}
return FirstWorkingReporter::report(received, approved);
}
}
}