From f565798650b453ed8c94422096d9b37ba81ebf3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Sat, 1 Apr 2017 18:38:04 +0200 Subject: NOISSUE remove unused version range filtering --- api/logic/Version.cpp | 57 +--------------------------------------------- api/logic/Version.h | 4 ---- api/logic/Version_test.cpp | 38 ------------------------------- 3 files changed, 1 insertion(+), 98 deletions(-) (limited to 'api/logic') diff --git a/api/logic/Version.cpp b/api/logic/Version.cpp index 3c4727ad..2c83374f 100644 --- a/api/logic/Version.cpp +++ b/api/logic/Version.cpp @@ -75,6 +75,7 @@ void Version::parse() { m_sections.clear(); + // FIXME: this is bad. versions can contain a lot more separators... QStringList parts = m_string.split('.'); for (const auto part : parts) @@ -82,59 +83,3 @@ void Version::parse() m_sections.append(Section(part)); } } - -bool versionIsInInterval(const QString &version, const QString &interval) -{ - return versionIsInInterval(Version(version), interval); -} -bool versionIsInInterval(const Version &version, const QString &interval) -{ - if (interval.isEmpty() || version.toString() == interval) - { - return true; - } - - // Interval notation is used - QRegularExpression exp( - "(?[\\[\\]\\(\\)])(?.*?)(,(?.*?))?(?[\\[\\]\\(\\)]),?"); - QRegularExpressionMatch match = exp.match(interval); - if (match.hasMatch()) - { - const QChar start = match.captured("start").at(0); - const QChar end = match.captured("end").at(0); - const QString bottom = match.captured("bottom"); - const QString top = match.captured("top"); - - // check if in range (bottom) - if (!bottom.isEmpty()) - { - const auto bottomVersion = Version(bottom); - if ((start == '[') && !(version >= bottomVersion)) - { - return false; - } - else if ((start == '(') && !(version > bottomVersion)) - { - return false; - } - } - - // check if in range (top) - if (!top.isEmpty()) - { - const auto topVersion = Version(top); - if ((end == ']') && !(version <= topVersion)) - { - return false; - } - else if ((end == ')') && !(version < topVersion)) - { - return false; - } - } - - return true; - } - - return false; -} diff --git a/api/logic/Version.h b/api/logic/Version.h index b5946ced..08dfb6e9 100644 --- a/api/logic/Version.h +++ b/api/logic/Version.h @@ -104,7 +104,3 @@ private: void parse(); }; - -MULTIMC_LOGIC_EXPORT bool versionIsInInterval(const QString &version, const QString &interval); -MULTIMC_LOGIC_EXPORT bool versionIsInInterval(const Version &version, const QString &interval); - diff --git a/api/logic/Version_test.cpp b/api/logic/Version_test.cpp index aa6cb4dd..1e7920ad 100644 --- a/api/logic/Version_test.cpp +++ b/api/logic/Version_test.cpp @@ -60,44 +60,6 @@ private slots: } - void test_versionIsInInterval_data() - { - QTest::addColumn("version"); - QTest::addColumn("interval"); - QTest::addColumn("result"); - - QTest::newRow("empty, true") << "1.2.3" << "" << true; - QTest::newRow("one version, true") << "1.2.3" << "1.2.3" << true; - QTest::newRow("one version, false") << "1.2.3" << "1.2.2" << false; - - QTest::newRow("one version inclusive <-> infinity, true") << "1.2.3" << "[1.2.3,)" << true; - QTest::newRow("one version exclusive <-> infinity, true") << "1.2.3" << "(1.2.2,)" << true; - QTest::newRow("one version inclusive <-> infitity, false") << "1.2.3" << "[1.2.4,)" << false; - QTest::newRow("one version exclusive <-> infinity, false") << "1.2.3" << "(1.2.3,)" << false; - - QTest::newRow("infinity <-> one version inclusive, true") << "1.2.3" << "(,1.2.3]" << true; - QTest::newRow("infinity <-> one version exclusive, true") << "1.2.3" << "(,1.2.4)" << true; - QTest::newRow("infinity <-> one version inclusive, false") << "1.2.3" << "(,1.2.2]" << false; - QTest::newRow("infinity <-> one version exclusive, false") << "1.2.3" << "(,1.2.3)" << false; - - QTest::newRow("inclusive <-> inclusive, true") << "1.2.3" << "[1.2.2,1.2.3]" << true; - QTest::newRow("inclusive <-> exclusive, true") << "1.2.3" << "[1.2.3,1.2.4)" << true; - QTest::newRow("exclusive <-> inclusive, true") << "1.2.3" << "(1.2.2,1.2.3]" << true; - QTest::newRow("exclusive <-> exclusive, true") << "1.2.3" << "(1.2.2,1.2.4)" << true; - QTest::newRow("inclusive <-> inclusive, false") << "1.2.3" << "[1.0.0,1.2.2]" << false; - QTest::newRow("inclusive <-> exclusive, false") << "1.2.3" << "[1.0.0,1.2.3)" << false; - QTest::newRow("exclusive <-> inclusive, false") << "1.2.3" << "(1.2.3,2.0.0]" << false; - QTest::newRow("exclusive <-> exclusive, false") << "1.2.3" << "(1.0.0,1.2.3)" << false; - } - void test_versionIsInInterval() - { - QFETCH(QString, version); - QFETCH(QString, interval); - QFETCH(bool, result); - - QCOMPARE(versionIsInInterval(version, interval), result); - } - void test_versionCompare_data() { setupVersions(); -- cgit v1.2.3