mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2025-08-01 11:06:17 -04:00
Replace Optional with QVariant
This commit is contained in:
parent
905e104ba2
commit
24f560aaa2
6 changed files with 54 additions and 120 deletions
|
@ -25,86 +25,102 @@ void TestBase32::testDecode()
|
|||
{
|
||||
// 3 quanta, all upper case + padding
|
||||
QByteArray encodedData = "JBSWY3DPEB3W64TMMQXC4LQ=";
|
||||
auto data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("Hello world..."));
|
||||
QVariant data = Base32::decode(encodedData);
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("Hello world..."));
|
||||
|
||||
// 4 quanta, all upper case
|
||||
encodedData = "GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("12345678901234567890"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("12345678901234567890"));
|
||||
|
||||
// 4 quanta, all lower case
|
||||
encodedData = "gezdgnbvgy3tqojqgezdgnbvgy3tqojq";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("12345678901234567890"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("12345678901234567890"));
|
||||
|
||||
// 4 quanta, mixed upper and lower case
|
||||
encodedData = "Gezdgnbvgy3tQojqgezdGnbvgy3tQojQ";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("12345678901234567890"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("12345678901234567890"));
|
||||
|
||||
// 1 pad characters
|
||||
encodedData = "ORSXG5A=";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("test"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("test"));
|
||||
|
||||
// 3 pad characters
|
||||
encodedData = "L5PV6===";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("___"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("___"));
|
||||
|
||||
// 4 pad characters
|
||||
encodedData = "MZXW6IDCMFZA====";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("foo bar"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("foo bar"));
|
||||
|
||||
// six pad characters
|
||||
encodedData = "MZXW6YTBOI======";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("foobar"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("foobar"));
|
||||
|
||||
encodedData = "IA======";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("@"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("@"));
|
||||
|
||||
// error: illegal character
|
||||
encodedData = "1MZXW6YTBOI=====";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("ERROR"));
|
||||
QVERIFY(data.isNull());
|
||||
|
||||
// error: missing pad character
|
||||
encodedData = "MZXW6YTBOI=====";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("ERROR"));
|
||||
QVERIFY(data.isNull());
|
||||
|
||||
// RFC 4648 test vectors
|
||||
encodedData = "";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString(""));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString(""));
|
||||
|
||||
encodedData = "MY======";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("f"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("f"));
|
||||
|
||||
encodedData = "MZXQ====";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("fo"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("fo"));
|
||||
|
||||
encodedData = "MZXW6===";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("foo"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("foo"));
|
||||
|
||||
encodedData = "MZXW6YQ=";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("foob"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("foob"));
|
||||
|
||||
encodedData = "MZXW6YTB";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("fooba"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("fooba"));
|
||||
|
||||
encodedData = "MZXW6YTBOI======";
|
||||
data = Base32::decode(encodedData);
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERROR")), QString("foobar"));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("foobar"));
|
||||
}
|
||||
|
||||
void TestBase32::testEncode()
|
||||
|
@ -258,21 +274,25 @@ void TestBase32::testSanitizeInput()
|
|||
// sanitize input (white space + missing padding)
|
||||
QByteArray encodedData = "JBSW Y3DP EB3W 64TM MQXC 4LQA";
|
||||
auto data = Base32::decode(Base32::sanitizeInput(encodedData));
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERRROR")), QString("Hello world..."));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("Hello world..."));
|
||||
|
||||
// sanitize input (typo + missing padding)
|
||||
encodedData = "J8SWY3DPE83W64TMMQXC4LQA";
|
||||
data = Base32::decode(Base32::sanitizeInput(encodedData));
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERRROR")), QString("Hello world..."));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("Hello world..."));
|
||||
|
||||
// sanitize input (other illegal characters)
|
||||
encodedData = "J8SWY3D[PE83W64TMMQ]XC!4LQA";
|
||||
data = Base32::decode(Base32::sanitizeInput(encodedData));
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERRROR")), QString("Hello world..."));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("Hello world..."));
|
||||
|
||||
// sanitize input (NUL character)
|
||||
encodedData = "J8SWY3DPE83W64TMMQXC4LQA";
|
||||
encodedData.insert(3, '\0');
|
||||
data = Base32::decode(Base32::sanitizeInput(encodedData));
|
||||
QCOMPARE(QString::fromLatin1(data.valueOr("ERRROR")), QString("Hello world..."));
|
||||
QVERIFY(!data.isNull());
|
||||
QCOMPARE(data.toString(), QString("Hello world..."));
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue