forked from qt-creator/qt-creator
Since we also license under GPL-3.0 WITH Qt-GPL-exception-1.0,
this applies only to a hypothetical newer version of GPL, that doesn't
exist yet. If such a version emerges, we can still decide to relicense...
While at it, replace (deprecated) GPL-3.0 with more explicit GPL-3.0-only
Change was done by running
find . -type f -exec perl -pi -e "s/LicenseRef-Qt-Commercial OR GPL-3.0\+ OR GPL-3.0 WITH Qt-GPL-exception-1.0/LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0/g" {} \;
Change-Id: I5097e6ce8d10233993ee30d7e25120e2659eb10b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
63 lines
2.0 KiB
C++
63 lines
2.0 KiB
C++
// 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);
|
|
}
|
|
|
|
}
|