From ace48d4b7fc2d7982963d14849b79a8c4da41d99 Mon Sep 17 00:00:00 2001 From: Ali Kianian Date: Mon, 29 Jul 2024 11:35:39 +0300 Subject: [PATCH] QmlDesigner: Read and apply minimumVersion for material bundles If `minQtVersion` exists for a material in material_bundle.json file, and kit version is less than `minQtVersion`, the material should be skipped. Version class has improved and moved to QmlDesignerUtils. Task-number: QDS-13274 Change-Id: I726c1765c69e5b080650099d0b811a90cfc3ccf5 Reviewed-by: Mahmoud Badri Reviewed-by: Marco Bubke --- src/plugins/qmldesigner/CMakeLists.txt | 1 + .../contentlibrarymaterialsmodel.cpp | 20 +- .../contentlibrarymaterialsmodel.h | 7 +- .../itemlibrary/itemlibrarymodel.cpp | 5 +- .../qmldesigner/designercore/include/import.h | 30 +- .../qmldesigner/designercore/model/import.cpp | 2 + .../qmldesigner/designercore/model/model.cpp | 1 + src/plugins/qmldesigner/utils/version.cpp | 47 +++ src/plugins/qmldesigner/utils/version.h | 52 +++ .../designercoreutils/CMakeLists.txt | 3 + .../designercoreutils/version-test.cpp | 341 ++++++++++++++++++ .../tests/unittests/model/import-test.cpp | 243 +------------ 12 files changed, 471 insertions(+), 281 deletions(-) create mode 100644 src/plugins/qmldesigner/utils/version.cpp create mode 100644 src/plugins/qmldesigner/utils/version.h create mode 100644 tests/unit/tests/unittests/designercoreutils/version-test.cpp diff --git a/src/plugins/qmldesigner/CMakeLists.txt b/src/plugins/qmldesigner/CMakeLists.txt index 1552f0f77d9..8f3f7928d10 100644 --- a/src/plugins/qmldesigner/CMakeLists.txt +++ b/src/plugins/qmldesigner/CMakeLists.txt @@ -48,6 +48,7 @@ add_qtc_library(QmlDesignerUtils STATIC ktximage.cpp ktximage.h imageutils.cpp imageutils.h qmldesignerutils_global.h + version.cpp version.h ) extend_qtc_library(QmlDesignerUtils diff --git a/src/plugins/qmldesigner/components/contentlibrary/contentlibrarymaterialsmodel.cpp b/src/plugins/qmldesigner/components/contentlibrary/contentlibrarymaterialsmodel.cpp index 23d2c3a44a9..d162857fbb7 100644 --- a/src/plugins/qmldesigner/components/contentlibrary/contentlibrarymaterialsmodel.cpp +++ b/src/plugins/qmldesigner/components/contentlibrary/contentlibrarymaterialsmodel.cpp @@ -211,11 +211,11 @@ QString ContentLibraryMaterialsModel::bundleId() const return m_bundleId; } -void ContentLibraryMaterialsModel::loadMaterialBundle() +void ContentLibraryMaterialsModel::loadMaterialBundle(bool forceReload) { auto compUtils = QmlDesignerPlugin::instance()->documentManager().generatedComponentUtils(); - if (m_bundleExists && m_bundleId == compUtils.materialsBundleId()) + if (!forceReload && m_bundleExists && m_bundleId == compUtils.materialsBundleId()) return; // clean up @@ -257,6 +257,13 @@ void ContentLibraryMaterialsModel::loadMaterialBundle() for (const QString &matName : matsNames) { const QJsonObject matObj = matsObj.value(matName).toObject(); + if (matObj.contains("minQtVersion")) { + const Version minQtVersion = Version::fromString( + matObj.value("minQtVersion").toString()); + if (minQtVersion > m_quick3dVersion) + continue; + } + QStringList files; const QJsonArray assetsArr = matObj.value("files").toArray(); for (const QJsonValueConstRef &asset : assetsArr) @@ -289,7 +296,7 @@ void ContentLibraryMaterialsModel::loadMaterialBundle() bool ContentLibraryMaterialsModel::hasRequiredQuick3DImport() const { - return m_widget->hasQuick3DImport() && m_quick3dMajorVersion == 6 && m_quick3dMinorVersion >= 3; + return m_widget->hasQuick3DImport() && m_quick3dVersion >= Version{6, 3}; } bool ContentLibraryMaterialsModel::matBundleExists() const @@ -335,8 +342,11 @@ void ContentLibraryMaterialsModel::setQuick3DImportVersion(int major, int minor) { bool oldRequiredImport = hasRequiredQuick3DImport(); - m_quick3dMajorVersion = major; - m_quick3dMinorVersion = minor; + const Version newVersion{major, minor}; + if (m_quick3dVersion != newVersion) { + m_quick3dVersion = newVersion; + loadMaterialBundle(true); + } bool newRequiredImport = hasRequiredQuick3DImport(); diff --git a/src/plugins/qmldesigner/components/contentlibrary/contentlibrarymaterialsmodel.h b/src/plugins/qmldesigner/components/contentlibrary/contentlibrarymaterialsmodel.h index 5d1ad8f5506..68c79607941 100644 --- a/src/plugins/qmldesigner/components/contentlibrary/contentlibrarymaterialsmodel.h +++ b/src/plugins/qmldesigner/components/contentlibrary/contentlibrarymaterialsmodel.h @@ -4,6 +4,7 @@ #pragma once #include +#include #include #include @@ -60,7 +61,7 @@ signals: void matBundleExistsChanged(); private: - void loadMaterialBundle(); + void loadMaterialBundle(bool forceReload = false); bool fetchBundleIcons(); bool fetchBundleJsonFile(); bool isValidIndex(int idx) const; @@ -76,9 +77,7 @@ private: bool m_isEmpty = true; bool m_bundleExists = false; - int m_quick3dMajorVersion = -1; - int m_quick3dMinorVersion = -1; - + Version m_quick3dVersion; Utils::FilePath m_bundlePath; QString m_baseUrl; }; diff --git a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp index 8ef9512e26a..cf2ca4b74e7 100644 --- a/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp +++ b/src/plugins/qmldesigner/components/itemlibrary/itemlibrarymodel.cpp @@ -14,10 +14,11 @@ #include #include #include -#include "qmldesignerconstants.h" -#include "qmldesignerplugin.h" +#include +#include #include #include +#include #include #include diff --git a/src/plugins/qmldesigner/designercore/include/import.h b/src/plugins/qmldesigner/designercore/include/import.h index cde683a105d..2d75371d761 100644 --- a/src/plugins/qmldesigner/designercore/include/import.h +++ b/src/plugins/qmldesigner/designercore/include/import.h @@ -12,37 +12,9 @@ #include "qmldesignercorelib_global.h" -#include - namespace QmlDesigner { -class Version -{ -public: - friend bool operator==(Version first, Version second) - { - return first.major == second.major && first.minor == second.minor; - } - - friend bool operator<(Version first, Version second) - { - return std::tie(first.major, first.minor) < std::tie(second.major, second.minor); - } - - friend bool operator>(Version first, Version second) { return second < first; } - friend bool operator<=(Version first, Version second) { return !(second < first); } - friend bool operator>=(Version first, Version second) { return !(first < second); } - - bool isEmpty() const - { - return major == std::numeric_limits::max() || minor == std::numeric_limits::max(); - } - -public: - int major = std::numeric_limits::max(); - int minor = std::numeric_limits::max(); -}; - +class Version; class QMLDESIGNERCORE_EXPORT Import { using Imports = QList; diff --git a/src/plugins/qmldesigner/designercore/model/import.cpp b/src/plugins/qmldesigner/designercore/model/import.cpp index f23331edebf..06e277f8fa8 100644 --- a/src/plugins/qmldesigner/designercore/model/import.cpp +++ b/src/plugins/qmldesigner/designercore/model/import.cpp @@ -3,6 +3,8 @@ #include "import.h" +#include + #include #include diff --git a/src/plugins/qmldesigner/designercore/model/model.cpp b/src/plugins/qmldesigner/designercore/model/model.cpp index 6b4ddcc7327..8d06929f119 100644 --- a/src/plugins/qmldesigner/designercore/model/model.cpp +++ b/src/plugins/qmldesigner/designercore/model/model.cpp @@ -40,6 +40,7 @@ #include #include +#include #include #include diff --git a/src/plugins/qmldesigner/utils/version.cpp b/src/plugins/qmldesigner/utils/version.cpp new file mode 100644 index 00000000000..ec18ce133d1 --- /dev/null +++ b/src/plugins/qmldesigner/utils/version.cpp @@ -0,0 +1,47 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 +#include "version.h" + +#include +#include + +namespace QmlDesigner { + +Version Version::fromString(QStringView string) +{ + Version result; + // Split version into parts (major, minor, patch) + QList versionParts = string.split('.'); + + auto readDigit = [](QStringView string, int defaultValue = 0) -> int { + bool canConvert = false; + int digit = string.toInt(&canConvert); + return (canConvert && digit > -1) ? digit : defaultValue; + }; + + if (versionParts.size() > 0) + result.major = readDigit(versionParts[0], std::numeric_limits::max()); + + if (versionParts.size() > 1) + result.minor = readDigit(versionParts[1]); + + if (versionParts.size() > 2) + result.patch = readDigit(versionParts[2]); + + return result; +} + +QString Version::toString() const +{ + if (isEmpty()) + return {}; + + return QString("%1.%2.%3").arg(major).arg(minor).arg(patch); +} + +QDebug operator<<(QDebug debug, Version version) +{ + return debug.noquote() << QStringView(u"Version(%1)").arg(version.toString()); +} + +} // namespace QmlDesigner diff --git a/src/plugins/qmldesigner/utils/version.h b/src/plugins/qmldesigner/utils/version.h new file mode 100644 index 00000000000..a9082ee2a9e --- /dev/null +++ b/src/plugins/qmldesigner/utils/version.h @@ -0,0 +1,52 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#pragma once + +#include "qmldesignerutils_global.h" + +#include +#include + +QT_BEGIN_NAMESPACE +class QDebug; +QT_END_NAMESPACE + +namespace QmlDesigner { + +class Version +{ +public: + static Version QMLDESIGNERUTILS_EXPORT fromString(QStringView string); + + QString QMLDESIGNERUTILS_EXPORT toString() const; + + bool isEmpty() const { return major == std::numeric_limits::max(); } + + friend bool operator==(Version first, Version second) + { + return std::tie(first.major, first.minor, first.patch) + == std::tie(second.major, second.minor, second.patch); + } + + friend bool operator<(Version first, Version second) + { + return std::tie(first.major, first.minor, first.patch) + < std::tie(second.major, second.minor, second.patch); + } + + friend bool operator>(Version first, Version second) { return second < first; } + + friend bool operator<=(Version first, Version second) { return !(second < first); } + + friend bool operator>=(Version first, Version second) { return !(first < second); } + + friend QMLDESIGNERUTILS_EXPORT QDebug operator<<(QDebug debug, Version version); + +public: + int major = std::numeric_limits::max(); + int minor = 0; + int patch = 0; +}; + +} // namespace QmlDesigner diff --git a/tests/unit/tests/unittests/designercoreutils/CMakeLists.txt b/tests/unit/tests/unittests/designercoreutils/CMakeLists.txt index 74e0f274e99..51bd3a88d11 100644 --- a/tests/unit/tests/unittests/designercoreutils/CMakeLists.txt +++ b/tests/unit/tests/unittests/designercoreutils/CMakeLists.txt @@ -1,6 +1,9 @@ # qmldesigner/designercore/model extend_qtc_test(unittest + DEPENDS + QmlDesignerUtils SOURCES modelutils-test.cpp uniquename-test.cpp + version-test.cpp ) diff --git a/tests/unit/tests/unittests/designercoreutils/version-test.cpp b/tests/unit/tests/unittests/designercoreutils/version-test.cpp new file mode 100644 index 00000000000..00fca5e8fb9 --- /dev/null +++ b/tests/unit/tests/unittests/designercoreutils/version-test.cpp @@ -0,0 +1,341 @@ +// Copyright (C) 2024 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0 + +#include +#include + +namespace { + +TEST(Version, same_versions_are_equal) +{ + QmlDesigner::Version version1{6, 5, 2}; + QmlDesigner::Version version2{6, 5, 2}; + + bool isEqual = version1 == version2; + + ASSERT_TRUE(isEqual); +} + +TEST(Version, invalid_versions_are_equal) +{ + QmlDesigner::Version version1; + QmlDesigner::Version version2; + + bool isEqual = version1 == version2; + + ASSERT_TRUE(isEqual); +} + +TEST(Version, different_minor_versions_are_not_equal) +{ + QmlDesigner::Version version1{6, 4}; + QmlDesigner::Version version2{6, 5}; + + bool isEqual = version1 == version2; + + ASSERT_FALSE(isEqual); +} + +TEST(Version, different_major_versions_are_not_equal) +{ + QmlDesigner::Version version1{5, 5}; + QmlDesigner::Version version2{6, 5}; + + bool isEqual = version1 == version2; + + ASSERT_FALSE(isEqual); +} + +TEST(Version, different_patch_versions_are_not_equal) +{ + QmlDesigner::Version version1{6, 5, 1}; + QmlDesigner::Version version2{6, 5, 2}; + + bool isEqual = version1 == version2; + + ASSERT_FALSE(isEqual); +} + +TEST(Version, less_minor_versions_are_less) +{ + QmlDesigner::Version version1{6, 4}; + QmlDesigner::Version version2{6, 5}; + + bool isLess = version1 < version2; + + ASSERT_TRUE(isLess); +} + +TEST(Version, less_major_versions_are_less) +{ + QmlDesigner::Version version1{5, 15}; + QmlDesigner::Version version2{6, 5}; + + bool isLess = version1 < version2; + + ASSERT_TRUE(isLess); +} + +TEST(Version, less_patch_versions_are_less) +{ + QmlDesigner::Version version1{6, 5, 3}; + QmlDesigner::Version version2{6, 5, 15}; + + bool isLess = version1 < version2; + + ASSERT_TRUE(isLess); +} + +TEST(Version, same_versions_are_not_less) +{ + QmlDesigner::Version version1{6, 5, 1}; + QmlDesigner::Version version2{6, 5, 1}; + + bool isLess = version1 < version2; + + ASSERT_FALSE(isLess); +} + +TEST(Version, empty_version_is_not_less) +{ + QmlDesigner::Version version1; + QmlDesigner::Version version2{6, 5}; + + bool isLess = version1 < version2; + + ASSERT_FALSE(isLess); +} + +TEST(Version, non_empty_version_is_is_less_than_empty_version) +{ + QmlDesigner::Version version1{6, 5}; + QmlDesigner::Version version2; + + bool isLess = version1 < version2; + + ASSERT_TRUE(isLess); +} + +TEST(Version, greater_minor_versions_are_greater) +{ + QmlDesigner::Version version1{6, 6}; + QmlDesigner::Version version2{6, 5}; + + bool isGreater = version1 > version2; + + ASSERT_TRUE(isGreater); +} + +TEST(Version, greater_major_versions_are_greater) +{ + QmlDesigner::Version version1{6, 5}; + QmlDesigner::Version version2{5, 15}; + + bool isGreater = version1 > version2; + + ASSERT_TRUE(isGreater); +} + +TEST(Version, same_versions_are_not_greater) +{ + QmlDesigner::Version version1{6, 5}; + QmlDesigner::Version version2{6, 5}; + + bool isGreater = version1 > version2; + + ASSERT_FALSE(isGreater); +} + +TEST(Version, empty_version_is_greater) +{ + QmlDesigner::Version version1; + QmlDesigner::Version version2{6, 5}; + + bool isGreater = version1 > version2; + + ASSERT_TRUE(isGreater); +} + +TEST(Version, empty_version_is_greater_than_non_empty_version) +{ + QmlDesigner::Version version1{6, 5}; + QmlDesigner::Version version2; + + bool isGreater = version1 > version2; + + ASSERT_FALSE(isGreater); +} + +TEST(Version, less_equal_minor_versions_are_less_equal) +{ + QmlDesigner::Version version1{6, 4}; + QmlDesigner::Version version2{6, 5}; + + bool isLessEqual = version1 <= version2; + + ASSERT_TRUE(isLessEqual); +} + +TEST(Version, lessqual_major_versions_are_lessqual) +{ + QmlDesigner::Version version1{5, 15}; + QmlDesigner::Version version2{6, 5}; + + bool isLessEqual = version1 <= version2; + + ASSERT_TRUE(isLessEqual); +} + +TEST(Version, same_versions_are_lessqual) +{ + QmlDesigner::Version version1{6, 5}; + QmlDesigner::Version version2{6, 5}; + + bool isLessEqual = version1 <= version2; + + ASSERT_TRUE(isLessEqual); +} + +TEST(Version, empty_version_is_not_lessqual) +{ + QmlDesigner::Version version1; + QmlDesigner::Version version2{6, 5}; + + bool isLessEqual = version1 <= version2; + + ASSERT_FALSE(isLessEqual); +} + +TEST(Version, non_empty_version_is_is_lessqual_than_empty_version) +{ + QmlDesigner::Version version1{6, 5}; + QmlDesigner::Version version2; + + bool isLessEqual = version1 <= version2; + + ASSERT_TRUE(isLessEqual); +} + +TEST(Version, greater_equal_minor_versions_are_greater_equal) +{ + QmlDesigner::Version version1{6, 6}; + QmlDesigner::Version version2{6, 5}; + + bool isGreaterEqual = version1 >= version2; + + ASSERT_TRUE(isGreaterEqual); +} + +TEST(Version, greater_equal_major_versions_are_greater_equal) +{ + QmlDesigner::Version version1{6, 5}; + QmlDesigner::Version version2{5, 15}; + + bool isGreaterEqual = version1 >= version2; + + ASSERT_TRUE(isGreaterEqual); +} + +TEST(Version, same_versions_are_greater_equal) +{ + QmlDesigner::Version version1{6, 5}; + QmlDesigner::Version version2{6, 5}; + + bool isGreaterEqual = version1 >= version2; + + ASSERT_TRUE(isGreaterEqual); +} + +TEST(Version, empty_version_is_greater_equal) +{ + QmlDesigner::Version version1; + QmlDesigner::Version version2{6, 5}; + + bool isGreaterEqual = version1 >= version2; + + ASSERT_TRUE(isGreaterEqual); +} + +TEST(Version, non_empty_version_is_is_not_greater_equal_than_empty_version) +{ + QmlDesigner::Version version1{6, 5}; + QmlDesigner::Version version2; + + bool isGreaterEqual = version1 >= version2; + + ASSERT_FALSE(isGreaterEqual); +} + +TEST(Version, version_fromString_empty_string_makes_empty_version) +{ + QStringView versionStr = u""; + + QmlDesigner::Version version = QmlDesigner::Version::fromString(versionStr); + + ASSERT_TRUE(version.isEmpty()); +} + +TEST(Version, version_fromString_is_the_same_as_initialized_version) +{ + QStringView versionStr = u"6.9.2"; + + QmlDesigner::Version version = QmlDesigner::Version::fromString(versionStr); + + ASSERT_THAT(version, Eq(QmlDesigner::Version{6, 9, 2})); +} + +TEST(Version, version_fromString_sets_zero_for_minor_and_patch) +{ + QStringView versionStr = u"6"; + + auto version = QmlDesigner::Version::fromString(versionStr); + + ASSERT_THAT(version, FieldsAre(6, 0, 0)); +} + +TEST(Version, version_fromString_sets_zero_for_patch) +{ + QStringView versionStr = u"6.3"; + + auto version = QmlDesigner::Version::fromString(versionStr); + + ASSERT_THAT(version, FieldsAre(6, 3, 0)); +} + +TEST(Version, version_fromString_empty_parts_are_zero) +{ + QStringView versionStr = u"6."; + + auto version = QmlDesigner::Version::fromString(versionStr); + + ASSERT_THAT(version, FieldsAre(6, 0, 0)); +} + +TEST(Version, version_fromString_non_standard_version_is_empty) +{ + QStringView versionStr = u"1-beta1"; + + auto version = QmlDesigner::Version::fromString(versionStr); + + ASSERT_TRUE(version.isEmpty()); +} + +TEST(Version, version_fromString_with_negative_major_is_empty) +{ + QStringView versionStr = u"-1"; + + auto version = QmlDesigner::Version::fromString(versionStr); + + ASSERT_TRUE(version.isEmpty()); +} + +TEST(Version, version_fromString_negative_minor_will_be_changed_to_zero) +{ + QStringView versionStr = u"6.-1"; + + auto version = QmlDesigner::Version::fromString(versionStr); + + ASSERT_THAT(version, FieldsAre(6, 0, 0)); +} + +} // namespace diff --git a/tests/unit/tests/unittests/model/import-test.cpp b/tests/unit/tests/unittests/model/import-test.cpp index 695d286f376..c1ff4a6a935 100644 --- a/tests/unit/tests/unittests/model/import-test.cpp +++ b/tests/unit/tests/unittests/model/import-test.cpp @@ -4,6 +4,7 @@ #include "../utils/googletest.h" #include +#include namespace { @@ -13,7 +14,7 @@ TEST(Import, parse_version) auto version = import.toVersion(); - ASSERT_THAT(version, FieldsAre(6, 5)); + ASSERT_THAT(version, FieldsAre(6, 5, 0)); } TEST(Import, parse_major_version) @@ -97,244 +98,4 @@ TEST(Import, empty_version_string_is_empty_version) ASSERT_TRUE(version.isEmpty()); } -TEST(Import, same_versions_are_equal) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2{6, 5}; - - bool isEqual = version1 == version2; - - ASSERT_TRUE(isEqual); -} - -TEST(Import, invalid_versions_are_equal) -{ - QmlDesigner::Version version1; - QmlDesigner::Version version2; - - bool isEqual = version1 == version2; - - ASSERT_TRUE(isEqual); -} - -TEST(Import, different_minor_versions_are_not_equal) -{ - QmlDesigner::Version version1{6, 4}; - QmlDesigner::Version version2{6, 5}; - - bool isEqual = version1 == version2; - - ASSERT_FALSE(isEqual); -} - -TEST(Import, different_major_versions_are_not_equal) -{ - QmlDesigner::Version version1{5, 5}; - QmlDesigner::Version version2{6, 5}; - - bool isEqual = version1 == version2; - - ASSERT_FALSE(isEqual); -} - -TEST(Import, less_minor_versions_are_less) -{ - QmlDesigner::Version version1{6, 4}; - QmlDesigner::Version version2{6, 5}; - - bool isLess = version1 < version2; - - ASSERT_TRUE(isLess); -} - -TEST(Import, less_major_versions_are_less) -{ - QmlDesigner::Version version1{5, 15}; - QmlDesigner::Version version2{6, 5}; - - bool isLess = version1 < version2; - - ASSERT_TRUE(isLess); -} - -TEST(Import, same_versions_are_not_less) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2{6, 5}; - - bool isLess = version1 < version2; - - ASSERT_FALSE(isLess); -} - -TEST(Import, empty_version_is_not_less) -{ - QmlDesigner::Version version1; - QmlDesigner::Version version2{6, 5}; - - bool isLess = version1 < version2; - - ASSERT_FALSE(isLess); -} - -TEST(Import, non_empty_version_is_is_less_than_empty_version) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2; - - bool isLess = version1 < version2; - - ASSERT_TRUE(isLess); -} - -TEST(Import, greater_minor_versions_are_greater) -{ - QmlDesigner::Version version1{6, 6}; - QmlDesigner::Version version2{6, 5}; - - bool isGreater = version1 > version2; - - ASSERT_TRUE(isGreater); -} - -TEST(Import, greater_major_versions_are_greater) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2{5, 15}; - - bool isGreater = version1 > version2; - - ASSERT_TRUE(isGreater); -} - -TEST(Import, same_versions_are_not_greater) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2{6, 5}; - - bool isGreater = version1 > version2; - - ASSERT_FALSE(isGreater); -} - -TEST(Import, empty_version_is_greater) -{ - QmlDesigner::Version version1; - QmlDesigner::Version version2{6, 5}; - - bool isGreater = version1 > version2; - - ASSERT_TRUE(isGreater); -} - -TEST(Import, non_empty_version_is_is_not_greater_than_empty_version) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2; - - bool isGreater = version1 > version2; - - ASSERT_FALSE(isGreater); -} - -TEST(Import, less_equal_minor_versions_are_less_equal) -{ - QmlDesigner::Version version1{6, 4}; - QmlDesigner::Version version2{6, 5}; - - bool isLessEqual = version1 <= version2; - - ASSERT_TRUE(isLessEqual); -} - -TEST(Import, lessqual_major_versions_are_lessqual) -{ - QmlDesigner::Version version1{5, 15}; - QmlDesigner::Version version2{6, 5}; - - bool isLessEqual = version1 <= version2; - - ASSERT_TRUE(isLessEqual); -} - -TEST(Import, same_versions_are_lessqual) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2{6, 5}; - - bool isLessEqual = version1 <= version2; - - ASSERT_TRUE(isLessEqual); -} - -TEST(Import, empty_version_is_not_lessqual) -{ - QmlDesigner::Version version1; - QmlDesigner::Version version2{6, 5}; - - bool isLessEqual = version1 <= version2; - - ASSERT_FALSE(isLessEqual); -} - -TEST(Import, non_empty_version_is_is_lessqual_than_empty_version) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2; - - bool isLessEqual = version1 <= version2; - - ASSERT_TRUE(isLessEqual); -} - -TEST(Import, greater_equal_minor_versions_are_greater_equal) -{ - QmlDesigner::Version version1{6, 6}; - QmlDesigner::Version version2{6, 5}; - - bool isGreaterEqual = version1 >= version2; - - ASSERT_TRUE(isGreaterEqual); -} - -TEST(Import, greater_equal_major_versions_are_greater_equal) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2{5, 15}; - - bool isGreaterEqual = version1 >= version2; - - ASSERT_TRUE(isGreaterEqual); -} - -TEST(Import, same_versions_are_greater_equal) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2{6, 5}; - - bool isGreaterEqual = version1 >= version2; - - ASSERT_TRUE(isGreaterEqual); -} - -TEST(Import, empty_version_is_greater_equal) -{ - QmlDesigner::Version version1; - QmlDesigner::Version version2{6, 5}; - - bool isGreaterEqual = version1 >= version2; - - ASSERT_TRUE(isGreaterEqual); -} - -TEST(Import, non_empty_version_is_is_not_greater_equal_than_empty_version) -{ - QmlDesigner::Version version1{6, 5}; - QmlDesigner::Version version2; - - bool isGreaterEqual = version1 >= version2; - - ASSERT_FALSE(isGreaterEqual); -} - } // namespace