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
|
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
#pragma once
#include "googletest.h"
using testing::PrintToString;
namespace {
MATCHER_P5(HasDiagnosticMessage, errorTypeText, startLine, startColumn, endLine, endColumn,
std::string(negation ? "isn't " : "is ")
+ "{" + PrintToString(errorTypeText)
+ ": (" + PrintToString(startLine)
+ ", " + PrintToString(startColumn)
+ "), (" + PrintToString(endLine)
+ ", " + PrintToString(endColumn)
+ ")}"
)
{
if (!arg.empty() && arg.front().messages.empty()) {
*result_listener << "no messages";
return false;
}
auto message = arg.front().messages.front();
auto sourceRange = message.sourceRange;
return message.errorTypeText() == errorTypeText
&& sourceRange.start.line == uint(startLine)
&& sourceRange.start.column == uint(startColumn)
&& sourceRange.end.line == uint(endLine)
&& sourceRange.end.column == uint(endColumn);
}
MATCHER_P5(HasDiagnosticContext, contextTypeText, startLine, startColumn, endLine, endColumn,
std::string(negation ? "isn't " : "is ")
+ "{" + PrintToString(contextTypeText)
+ ": (" + PrintToString(startLine)
+ ", " + PrintToString(startColumn)
+ "), (" + PrintToString(endLine)
+ ", " + PrintToString(endColumn)
+ ")}"
)
{
if (!arg.empty() && arg.front().messages.empty()) {
*result_listener << "no context";
return false;
}
auto context = arg.front().contexts.front();
auto sourceRange = context.sourceRange;
return context.contextTypeText() == contextTypeText
&& sourceRange.start.line == uint(startLine)
&& sourceRange.start.column == uint(startColumn)
&& sourceRange.end.line == uint(endLine)
&& sourceRange.end.column == uint(endColumn);
}
}
|