diff options
| author | Danilo M. <danix@danix.xyz> | 2026-08-26 15:33:00 +0200 |
|---|---|---|
| committer | Danilo M. <danix@danix.xyz> | 2026-08-26 15:33:00 +0200 |
| commit | 39a0cce152dda3b3d828c6145f02c3db9bbd7449 (patch) | |
| tree | 695a862a9c01fad66cbe9bff542fedf810459415 /tests | |
| parent | 656d70aef7cacff69d2616d2df0cbe8d6e4188f9 (diff) | |
| download | qtmaildir-39a0cce152dda3b3d828c6145f02c3db9bbd7449.tar.gz qtmaildir-39a0cce152dda3b3d828c6145f02c3db9bbd7449.zip | |
feat: choose an avatar fill and derive its colour
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/test_avatar.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/tests/test_avatar.cpp b/tests/test_avatar.cpp index 225b4f1..b53dfc1 100644 --- a/tests/test_avatar.cpp +++ b/tests/test_avatar.cpp @@ -30,6 +30,9 @@ private slots: void bareAddressTakesLocalAndDomain(); void nothingUsableFallsBackToTheAccountLabel(); void initialsAreAlwaysTwoLetters(); + void aDisplayNameMeansAPerson(); + void theListOverridesADisplayName(); + void aColourIsStablePerAddress(); }; void TestAvatar::twoWordNameTakesOneLetterFromEach() @@ -91,5 +94,30 @@ void TestAvatar::initialsAreAlwaysTwoLetters() } } +void TestAvatar::aDisplayNameMeansAPerson() +{ + // The case the user asked for by name: a corporate address that presents + // itself as a person reads as a person. + QCOMPARE(Avatar::fillFor(QStringLiteral("Ian Farrell"), false), + Avatar::Fill::Identicon); + QCOMPARE(Avatar::fillFor(QString(), false), Avatar::Fill::TwoTone); +} + +void TestAvatar::theListOverridesADisplayName() +{ + // A listed address stays a business even when it sets a friendly name. + QCOMPARE(Avatar::fillFor(QStringLiteral("Cofidis"), true), + Avatar::Fill::TwoTone); +} + +void TestAvatar::aColourIsStablePerAddress() +{ + const QColor first = Avatar::colourFor(QStringLiteral("a@example.org")); + const QColor again = Avatar::colourFor(QStringLiteral("a@example.org")); + QCOMPARE(first, again); + QVERIFY(first.isValid()); + QVERIFY(Avatar::colourFor(QStringLiteral("b@example.org")) != first); +} + QTEST_MAIN(TestAvatar) #include "test_avatar.moc" |
