Files
qt-creator/tests/auto/qml/qmlprojectmanager/projectitem/test-getters.cpp

163 lines
5.4 KiB
C++
Raw Normal View History

// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0
#include "common.h"
#include "projectitem/qmlprojectitem.h"
static QString testDataDir{testDataRootDir.path() + "/getter-setter"};
static QString qmlProjectFilePath1(testDataDir + "/testfile-1.qmlproject");
static QString qmlProjectFilePath2(testDataDir + "/testfile-2.qmlproject");
struct TestDataSet
{
public:
const QmlProjectManager::QmlProjectItem projectItem1{
Utils::FilePath::fromString(qmlProjectFilePath1)};
QmlProjectManager::QmlProjectItem projectItem2{Utils::FilePath::fromString(qmlProjectFilePath2)};
} dataSet;
TEST(QmlProjectProjectItemGetterTests, GetMainFileProject)
{
ASSERT_EQ(dataSet.projectItem1.mainFile(), "content/App.qml");
ASSERT_EQ(dataSet.projectItem2.mainFile(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetMainUIFileProject)
{
ASSERT_EQ(dataSet.projectItem1.mainUiFile(), "Screen01.ui.qml");
ASSERT_EQ(dataSet.projectItem2.mainUiFile(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetMcuProject)
{
ASSERT_EQ(dataSet.projectItem1.isQt4McuProject(), true);
ASSERT_EQ(dataSet.projectItem2.isQt4McuProject(), false);
}
TEST(QmlProjectProjectItemGetterTests, GetQtVersion)
{
ASSERT_EQ(dataSet.projectItem1.versionQt(), "6");
ASSERT_EQ(dataSet.projectItem2.versionQt(), "5");
}
TEST(QmlProjectProjectItemGetterTests, GetQtQuickVersion)
{
ASSERT_EQ(dataSet.projectItem1.versionQtQuick(), "6.2");
ASSERT_EQ(dataSet.projectItem2.versionQtQuick(), QString());
}
TEST(QmlProjectProjectItemGetterTests, GetDesignStudioVersion)
{
ASSERT_EQ(dataSet.projectItem1.versionDesignStudio(), "3.9");
ASSERT_EQ(dataSet.projectItem2.versionDesignStudio(), QString());
}
TEST(QmlProjectProjectItemGetterTests, GetSourceDirectory)
{
ASSERT_EQ(dataSet.projectItem1.sourceDirectory().path(), testDataDir);
}
TEST(QmlProjectProjectItemGetterTests, GetTargetDirectory)
{
ASSERT_EQ(dataSet.projectItem1.targetDirectory(), "/opt/targetDirectory");
ASSERT_EQ(dataSet.projectItem2.targetDirectory(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetImportPaths)
{
QString valsToCompare1 = dataSet.projectItem1.importPaths().join(";");
QString valsToCompare2 = dataSet.projectItem2.importPaths().join(";");
ASSERT_EQ(valsToCompare1.toStdString(), "imports;asset_imports");
ASSERT_EQ(valsToCompare2.toStdString(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetFileSelectors)
{
QString valsToCompare1 = dataSet.projectItem1.fileSelectors().join(";");
QString valsToCompare2 = dataSet.projectItem2.fileSelectors().join(";");
ASSERT_EQ(valsToCompare1.toStdString(), "WXGA;darkTheme;ShowIndicator");
ASSERT_EQ(valsToCompare2.toStdString(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetMultiLanguageSupport)
{
ASSERT_EQ(dataSet.projectItem1.multilanguageSupport(), true);
ASSERT_EQ(dataSet.projectItem2.multilanguageSupport(), false);
}
TEST(QmlProjectProjectItemGetterTests, GetSupportedLanguages)
{
QString valsToCompare1 = dataSet.projectItem1.supportedLanguages().join(";");
QString valsToCompare2 = dataSet.projectItem2.supportedLanguages().join(";");
ASSERT_EQ(valsToCompare1.toStdString(), "en;fr");
ASSERT_EQ(valsToCompare2.toStdString(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetPrimaryLanguage)
{
ASSERT_EQ(dataSet.projectItem1.primaryLanguage(), "en");
ASSERT_EQ(dataSet.projectItem2.primaryLanguage(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetWidgetApp)
{
ASSERT_EQ(dataSet.projectItem1.widgetApp(), true);
ASSERT_EQ(dataSet.projectItem2.widgetApp(), false);
}
TEST(QmlProjectProjectItemGetterTests, GetFileList)
{
QString valsToCompare1, valsToCompare2;
for (const auto &file : dataSet.projectItem1.files()) {
valsToCompare1.append(file.path()).append(";");
}
for (const auto &file : dataSet.projectItem2.files()) {
valsToCompare2.append(file.path()).append(";");
}
valsToCompare1.remove(valsToCompare1.length() - 1, 1);
valsToCompare2.remove(valsToCompare2.length() - 1, 1);
ASSERT_EQ(valsToCompare1.toStdString(),
testDataDir.toStdString() + "/qtquickcontrols2.conf");
ASSERT_EQ(valsToCompare2.toStdString(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetShaderToolArgs)
{
QString valsToCompare1 = dataSet.projectItem1.shaderToolArgs().join(";");
QString valsToCompare2 = dataSet.projectItem2.shaderToolArgs().join(";");
ASSERT_EQ(valsToCompare1.toStdString(), "-s;--glsl;\"100 es,120,150\";--hlsl;50;--msl;12");
ASSERT_EQ(valsToCompare2.toStdString(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetShaderToolFiles)
{
QString valsToCompare1 = dataSet.projectItem1.shaderToolFiles().join(";");
QString valsToCompare2 = dataSet.projectItem2.shaderToolFiles().join(";");
ASSERT_EQ(valsToCompare1.toStdString(), "content/shaders/*");
ASSERT_EQ(valsToCompare2.toStdString(), "");
}
TEST(QmlProjectProjectItemGetterTests, GetEnvironment)
{
Utils::EnvironmentItems env1 = dataSet.projectItem1.environment();
Utils::EnvironmentItems env2 = dataSet.projectItem2.environment();
ASSERT_EQ(env1[0].value.toStdString(), "qtquickcontrols2.conf");
ASSERT_EQ(env2.isEmpty(), true);
}
TEST(QmlProjectProjectItemGetterTests, GetForceFreeType)
{
ASSERT_EQ(dataSet.projectItem1.forceFreeType(), true);
ASSERT_EQ(dataSet.projectItem2.forceFreeType(), false);
}