From 40ca0828f9300a226ce3a19f4107811d61e195f4 Mon Sep 17 00:00:00 2001 From: Montel Laurent Date: Thu, 11 Dec 2014 13:40:59 +0100 Subject: [PATCH] Improve expirecollectionattribute autotests --- .../expirecollectionattributetest.cpp | 124 +++++++++++++++++- .../autotests/expirecollectionattributetest.h | 4 + .../expirecollectionattribute.cpp | 2 +- .../expirecollectionattribute.h | 2 +- 4 files changed, 128 insertions(+), 4 deletions(-) diff --git a/mailcommon/collectionpage/autotests/expirecollectionattributetest.cpp b/mailcommon/collectionpage/autotests/expirecollectionattributetest.cpp index f4764a16a4..1cc23d7732 100644 --- a/mailcommon/collectionpage/autotests/expirecollectionattributetest.cpp +++ b/mailcommon/collectionpage/autotests/expirecollectionattributetest.cpp @@ -18,10 +18,14 @@ #include "expirecollectionattributetest.h" #include "../expirecollectionattribute.h" #include + +Q_DECLARE_METATYPE(MailCommon::ExpireCollectionAttribute::ExpireUnits) +Q_DECLARE_METATYPE(MailCommon::ExpireCollectionAttribute::ExpireAction) ExpireCollectionAttributeTest::ExpireCollectionAttributeTest(QObject *parent) : QObject(parent) { - + qRegisterMetaType(); + qRegisterMetaType(); } ExpireCollectionAttributeTest::~ExpireCollectionAttributeTest() @@ -43,12 +47,128 @@ void ExpireCollectionAttributeTest::shouldHaveDefaultValue() void ExpireCollectionAttributeTest::shouldAssignValue_data() { - //TODO + QTest::addColumn("autoexpire"); + QTest::addColumn("unreadexpireage"); + QTest::addColumn("readexpireage"); + QTest::addColumn("unreadexpireunit"); + QTest::addColumn("readexpireunit"); + QTest::addColumn("expireaction"); + QTest::addColumn("akonadiid"); + + QTest::newRow("add autoexpire") << true << 28 << 14 << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireDelete << qint64(5); + QTest::newRow("change action") << true << 28 << 14 << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(5); + QTest::newRow("change age") << true << 150 << 1 << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(5); + QTest::newRow("change units") << true << 15 << 1 << MailCommon::ExpireCollectionAttribute::ExpireDays << MailCommon::ExpireCollectionAttribute::ExpireDays << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(5); + QTest::newRow("change units2") << true << 150 << 18 << MailCommon::ExpireCollectionAttribute::ExpireMonths << MailCommon::ExpireCollectionAttribute::ExpireWeeks << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(6); } void ExpireCollectionAttributeTest::shouldAssignValue() { + QFETCH(bool, autoexpire); + QFETCH(int, unreadexpireage); + QFETCH(int, readexpireage); + QFETCH(MailCommon::ExpireCollectionAttribute::ExpireUnits, unreadexpireunit); + QFETCH(MailCommon::ExpireCollectionAttribute::ExpireUnits, readexpireunit); + QFETCH(MailCommon::ExpireCollectionAttribute::ExpireAction, expireaction); + QFETCH(Akonadi::Collection::Id, akonadiid); + MailCommon::ExpireCollectionAttribute attr; + attr.setAutoExpire(autoexpire); + attr.setUnreadExpireAge(unreadexpireage); + attr.setReadExpireAge(readexpireage); + attr.setUnreadExpireUnits(unreadexpireunit); + attr.setReadExpireUnits(readexpireunit); + attr.setExpireAction(expireaction); + attr.setExpireToFolderId(akonadiid); + + + QCOMPARE(attr.isAutoExpire(), autoexpire); + QCOMPARE(attr.unreadExpireAge(), unreadexpireage); + QCOMPARE(attr.readExpireAge(), readexpireage); + QCOMPARE(attr.expireAction(), expireaction); + QCOMPARE(attr.unreadExpireUnits(), unreadexpireunit); + QCOMPARE(attr.readExpireUnits(), readexpireunit); + QCOMPARE(attr.expireToFolderId(), akonadiid); + +} + +void ExpireCollectionAttributeTest::shouldCloneAttr_data() +{ + QTest::addColumn("autoexpire"); + QTest::addColumn("unreadexpireage"); + QTest::addColumn("readexpireage"); + QTest::addColumn("unreadexpireunit"); + QTest::addColumn("readexpireunit"); + QTest::addColumn("expireaction"); + QTest::addColumn("akonadiid"); + + QTest::newRow("add autoexpire") << true << 28 << 14 << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireDelete << qint64(5); + QTest::newRow("change action") << true << 28 << 14 << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(5); + QTest::newRow("change age") << true << 150 << 1 << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(5); + QTest::newRow("change units") << true << 15 << 1 << MailCommon::ExpireCollectionAttribute::ExpireDays << MailCommon::ExpireCollectionAttribute::ExpireDays << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(5); + QTest::newRow("change units2") << true << 150 << 18 << MailCommon::ExpireCollectionAttribute::ExpireMonths << MailCommon::ExpireCollectionAttribute::ExpireWeeks << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(6); + +} + +void ExpireCollectionAttributeTest::shouldCloneAttr() +{ + QFETCH(bool, autoexpire); + QFETCH(int, unreadexpireage); + QFETCH(int, readexpireage); + QFETCH(MailCommon::ExpireCollectionAttribute::ExpireUnits, unreadexpireunit); + QFETCH(MailCommon::ExpireCollectionAttribute::ExpireUnits, readexpireunit); + QFETCH(MailCommon::ExpireCollectionAttribute::ExpireAction, expireaction); + QFETCH(Akonadi::Collection::Id, akonadiid); + MailCommon::ExpireCollectionAttribute attr; + attr.setAutoExpire(autoexpire); + attr.setUnreadExpireAge(unreadexpireage); + attr.setReadExpireAge(readexpireage); + attr.setUnreadExpireUnits(unreadexpireunit); + attr.setReadExpireUnits(readexpireunit); + attr.setExpireAction(expireaction); + attr.setExpireToFolderId(akonadiid); + MailCommon::ExpireCollectionAttribute *result = attr.clone(); + QVERIFY(attr == *result); + delete result; +} + +void ExpireCollectionAttributeTest::shouldSerializedValue_data() +{ + QTest::addColumn("autoexpire"); + QTest::addColumn("unreadexpireage"); + QTest::addColumn("readexpireage"); + QTest::addColumn("unreadexpireunit"); + QTest::addColumn("readexpireunit"); + QTest::addColumn("expireaction"); + QTest::addColumn("akonadiid"); + + QTest::newRow("add autoexpire") << true << 28 << 14 << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireDelete << qint64(5); + QTest::newRow("change action") << true << 28 << 14 << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(5); + QTest::newRow("change age") << true << 150 << 1 << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireNever << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(5); + QTest::newRow("change units") << true << 15 << 1 << MailCommon::ExpireCollectionAttribute::ExpireDays << MailCommon::ExpireCollectionAttribute::ExpireDays << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(5); + QTest::newRow("change units2") << true << 150 << 18 << MailCommon::ExpireCollectionAttribute::ExpireMonths << MailCommon::ExpireCollectionAttribute::ExpireWeeks << MailCommon::ExpireCollectionAttribute::ExpireMove << qint64(6); +} + +void ExpireCollectionAttributeTest::shouldSerializedValue() +{ + QFETCH(bool, autoexpire); + QFETCH(int, unreadexpireage); + QFETCH(int, readexpireage); + QFETCH(MailCommon::ExpireCollectionAttribute::ExpireUnits, unreadexpireunit); + QFETCH(MailCommon::ExpireCollectionAttribute::ExpireUnits, readexpireunit); + QFETCH(MailCommon::ExpireCollectionAttribute::ExpireAction, expireaction); + QFETCH(Akonadi::Collection::Id, akonadiid); MailCommon::ExpireCollectionAttribute attr; + attr.setAutoExpire(autoexpire); + attr.setUnreadExpireAge(unreadexpireage); + attr.setReadExpireAge(readexpireage); + attr.setUnreadExpireUnits(unreadexpireunit); + attr.setReadExpireUnits(readexpireunit); + attr.setExpireAction(expireaction); + attr.setExpireToFolderId(akonadiid); + const QByteArray ba = attr.serialized(); + MailCommon::ExpireCollectionAttribute result; + result.deserialize(ba); + QVERIFY(attr == result); } QTEST_KDEMAIN(ExpireCollectionAttributeTest, NoGUI) diff --git a/mailcommon/collectionpage/autotests/expirecollectionattributetest.h b/mailcommon/collectionpage/autotests/expirecollectionattributetest.h index 2f9f12418d..217364e471 100644 --- a/mailcommon/collectionpage/autotests/expirecollectionattributetest.h +++ b/mailcommon/collectionpage/autotests/expirecollectionattributetest.h @@ -30,6 +30,10 @@ private Q_SLOTS: void shouldHaveDefaultValue(); void shouldAssignValue_data(); void shouldAssignValue(); + void shouldCloneAttr_data(); + void shouldCloneAttr(); + void shouldSerializedValue_data(); + void shouldSerializedValue(); }; #endif // EXPIRECOLLECTIONATTRIBUTETEST_H diff --git a/mailcommon/collectionpage/expirecollectionattribute.cpp b/mailcommon/collectionpage/expirecollectionattribute.cpp index b9fc2279a5..626df7b3bb 100644 --- a/mailcommon/collectionpage/expirecollectionattribute.cpp +++ b/mailcommon/collectionpage/expirecollectionattribute.cpp @@ -41,7 +41,7 @@ QByteArray ExpireCollectionAttribute::type() const return sType; } -Akonadi::Attribute *ExpireCollectionAttribute::clone() const +ExpireCollectionAttribute *ExpireCollectionAttribute::clone() const { ExpireCollectionAttribute *expireAttr = new ExpireCollectionAttribute(); expireAttr->setAutoExpire(mExpireMessages); diff --git a/mailcommon/collectionpage/expirecollectionattribute.h b/mailcommon/collectionpage/expirecollectionattribute.h index f16272c61c..7b5dbc5ee1 100644 --- a/mailcommon/collectionpage/expirecollectionattribute.h +++ b/mailcommon/collectionpage/expirecollectionattribute.h @@ -50,7 +50,7 @@ public: }; QByteArray type() const; - Attribute *clone() const; + ExpireCollectionAttribute *clone() const; QByteArray serialized() const; void deserialize( const QByteArray &data ); -- GitLab