cpp, qt: Add missing comparison operators for version info comparison
* lang/cpp/src/engineinfo.h (EngineInfo::Version::operator<=, EngineInfo::Version::operator>=, EngineInfo::Version::operator!=): New. * lang/qt/tests/t-various.cpp (TestVarious::testVersion): Add tests for new comparison operators. * NEWS: Mention added API
This commit is contained in:
parent
2f53a2f4be
commit
c3406462d1
3
NEWS
3
NEWS
@ -15,6 +15,9 @@ Noteworthy changes in version 1.14.1 (unreleased)
|
||||
gpgme_op_setexpire NEW.
|
||||
cpp: Context::setExpire NEW.
|
||||
cpp: Context::startSetExpire NEW.
|
||||
cpp: EngineInfo::Version::operator<= NEW.
|
||||
cpp: EngineInfo::Version::operator>= NEW.
|
||||
cpp: EngineInfo::Version::operator!= NEW.
|
||||
|
||||
|
||||
Noteworthy changes in version 1.14.0 (2020-07-16)
|
||||
|
@ -85,6 +85,16 @@ public:
|
||||
return operator<(Version(other));
|
||||
}
|
||||
|
||||
bool operator <= (const Version &other)
|
||||
{
|
||||
return !operator>(other);
|
||||
}
|
||||
|
||||
bool operator <= (const char *other)
|
||||
{
|
||||
return operator<=(Version(other));
|
||||
}
|
||||
|
||||
bool operator > (const char* other)
|
||||
{
|
||||
return operator>(Version(other));
|
||||
@ -95,6 +105,16 @@ public:
|
||||
return !operator<(other) && !operator==(other);
|
||||
}
|
||||
|
||||
bool operator >= (const Version &other)
|
||||
{
|
||||
return !operator<(other);
|
||||
}
|
||||
|
||||
bool operator >= (const char *other)
|
||||
{
|
||||
return operator>=(Version(other));
|
||||
}
|
||||
|
||||
bool operator == (const Version& other)
|
||||
{
|
||||
return major == other.major
|
||||
@ -107,6 +127,16 @@ public:
|
||||
return operator==(Version(other));
|
||||
}
|
||||
|
||||
bool operator != (const Version &other)
|
||||
{
|
||||
return !operator==(other);
|
||||
}
|
||||
|
||||
bool operator != (const char *other)
|
||||
{
|
||||
return operator!=(Version(other));
|
||||
}
|
||||
|
||||
friend std::ostream& operator << (std::ostream& stream, const Version& ver)
|
||||
{
|
||||
stream << ver.major;
|
||||
|
@ -245,6 +245,38 @@ private Q_SLOTS:
|
||||
QVERIFY(EngineInfo::Version("3.0.0") > EngineInfo::Version("2.3.20"));
|
||||
QVERIFY(EngineInfo::Version("3.0.1") > EngineInfo::Version("3.0.0"));
|
||||
QVERIFY(EngineInfo::Version("3.1.0") > EngineInfo::Version("3.0.20"));
|
||||
|
||||
QVERIFY(EngineInfo::Version("1.1.1") <= "2.0.0");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") <= "1.2.0");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") <= "1.1.2");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") <= "1.1.1");
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") <= "1.1.0"));
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") <= "1.0.9"));
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") <= "0.9.9"));
|
||||
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") == "2.0.0"));
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") == "1.2.0"));
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") == "1.1.2"));
|
||||
QVERIFY(EngineInfo::Version("1.1.1") == "1.1.1");
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") == "1.1.0"));
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") == "1.0.9"));
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") == "0.9.9"));
|
||||
|
||||
QVERIFY(EngineInfo::Version("1.1.1") != "2.0.0");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") != "1.2.0");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") != "1.1.2");
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") != "1.1.1"));
|
||||
QVERIFY(EngineInfo::Version("1.1.1") != "1.1.0");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") != "1.0.9");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") != "0.9.9");
|
||||
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") >= "2.0.0"));
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") >= "1.2.0"));
|
||||
QVERIFY(!(EngineInfo::Version("1.1.1") >= "1.1.2"));
|
||||
QVERIFY(EngineInfo::Version("1.1.1") >= "1.1.1");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") >= "1.1.0");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") >= "1.0.9");
|
||||
QVERIFY(EngineInfo::Version("1.1.1") >= "0.9.9");
|
||||
}
|
||||
|
||||
void initTestCase()
|
||||
|
Loading…
Reference in New Issue
Block a user