diff --git a/src/libcalamares/utils/Tests.cpp b/src/libcalamares/utils/Tests.cpp index e39d182ea..34701a940 100644 --- a/src/libcalamares/utils/Tests.cpp +++ b/src/libcalamares/utils/Tests.cpp @@ -224,3 +224,30 @@ LibCalamaresTests::testPrintableEntropy() QVERIFY( c.cell() < 127 ); } } + +void +LibCalamaresTests::testOddSizedPrintable() +{ + QString s; + for ( int l = 0; l <= 37; ++l ) + { + auto r = CalamaresUtils::getPrintableEntropy( l, s ); + if ( l == 0 ) + { + QCOMPARE( r, CalamaresUtils::EntropySource::None ); + } + else + { + QVERIFY( r != CalamaresUtils::EntropySource::None ); + } + QCOMPARE( s.length(), l ); + + for ( QChar c : s ) + { + QVERIFY( c.isPrint() ); + QCOMPARE( c.row(), 0 ); + QVERIFY( c.cell() > 32 ); // ASCII SPACE + QVERIFY( c.cell() < 127 ); + } + } +} diff --git a/src/libcalamares/utils/Tests.h b/src/libcalamares/utils/Tests.h index d369ed4cb..f9908c74c 100644 --- a/src/libcalamares/utils/Tests.h +++ b/src/libcalamares/utils/Tests.h @@ -43,6 +43,7 @@ private Q_SLOTS: /** @brief Tests the entropy functions. */ void testEntropy(); void testPrintableEntropy(); + void testOddSizedPrintable(); }; #endif