From f1d99dd0ede60bfe16438caaf7323219a36fa015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adolfo=20E=2E=20Garc=C3=ADa?= Date: Fri, 20 Oct 2017 18:31:17 -0600 Subject: Improve testing of Base32 --- tests/TestBase32.cpp | 64 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 48 insertions(+), 16 deletions(-) (limited to 'tests/TestBase32.cpp') diff --git a/tests/TestBase32.cpp b/tests/TestBase32.cpp index 615b356fc..1d30e7817 100644 --- a/tests/TestBase32.cpp +++ b/tests/TestBase32.cpp @@ -26,55 +26,73 @@ void TestBase32::testDecode() // 3 quanta, all upper case + padding QByteArray encodedData = "JBSWY3DPEB3W64TMMQXC4LQ="; QVariant data = Base32::decode(encodedData); + QString expectedData = "Hello world..."; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("Hello world...")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); // 4 quanta, all upper case encodedData = "GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ"; data = Base32::decode(encodedData); + expectedData = "12345678901234567890"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("12345678901234567890")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); // 4 quanta, all lower case encodedData = "gezdgnbvgy3tqojqgezdgnbvgy3tqojq"; data = Base32::decode(encodedData); + expectedData = "12345678901234567890"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("12345678901234567890")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); // 4 quanta, mixed upper and lower case encodedData = "Gezdgnbvgy3tQojqgezdGnbvgy3tQojQ"; data = Base32::decode(encodedData); + expectedData = "12345678901234567890"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("12345678901234567890")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); // 1 pad characters encodedData = "ORSXG5A="; data = Base32::decode(encodedData); + expectedData = "test"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("test")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); // 3 pad characters encodedData = "L5PV6==="; data = Base32::decode(encodedData); + expectedData = "___"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("___")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); // 4 pad characters encodedData = "MZXW6IDCMFZA===="; data = Base32::decode(encodedData); + expectedData = "foo bar"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("foo bar")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); // six pad characters encodedData = "MZXW6YTBOI======"; data = Base32::decode(encodedData); + expectedData = "foobar"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("foobar")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); encodedData = "IA======"; data = Base32::decode(encodedData); + expectedData = "@"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("@")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); // error: illegal character encodedData = "1MZXW6YTBOI====="; @@ -89,38 +107,52 @@ void TestBase32::testDecode() // RFC 4648 test vectors encodedData = ""; data = Base32::decode(encodedData); + expectedData = ""; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); encodedData = "MY======"; data = Base32::decode(encodedData); + expectedData = "f"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("f")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); encodedData = "MZXQ===="; data = Base32::decode(encodedData); + expectedData = "fo"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("fo")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); encodedData = "MZXW6==="; data = Base32::decode(encodedData); QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("foo")); + expectedData = "foo"; + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); encodedData = "MZXW6YQ="; data = Base32::decode(encodedData); + expectedData = "foob"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("foob")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); encodedData = "MZXW6YTB"; + expectedData = "fooba"; data = Base32::decode(encodedData); QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("fooba")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); encodedData = "MZXW6YTBOI======"; data = Base32::decode(encodedData); + expectedData = "foobar"; QVERIFY(!data.isNull()); - QCOMPARE(data.toString(), QString("foobar")); + QCOMPARE(data.toString(), expectedData); + QVERIFY(data.value().size() == expectedData.size()); } void TestBase32::testEncode() -- cgit v1.2.3