Mercurial > trustbridge
changeset 182:6c3a089d3265
Add test for str_base64_decode as i suspect it to have a bug
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Tue, 25 Mar 2014 17:17:41 +0000 |
parents | bea93c8651b7 |
children | 4def8b263dd3 |
files | ui/tests/CMakeLists.txt ui/tests/commontest.cpp ui/tests/commontest.h |
diffstat | 3 files changed, 46 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/ui/tests/CMakeLists.txt Tue Mar 25 17:56:56 2014 +0100 +++ b/ui/tests/CMakeLists.txt Tue Mar 25 17:17:41 2014 +0000 @@ -37,6 +37,7 @@ # Cinstprocess add_m13_test(cinstprocesstest.cpp "${CERTIFICATELIST_SOURCES}") +add_m13_test(commontest.cpp "") #add_m13_test(${CMAKE_SOURCE_DIR}/ui/main.cpp "${M13UI_SOURCES}")
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ui/tests/commontest.cpp Tue Mar 25 17:17:41 2014 +0000 @@ -0,0 +1,32 @@ +#include <QString> +#include <QByteArray> +#include <QTest> + +#include "commontest.h" +#include "strhelp.h" + +void CommonTest::testStrBase64Decode() { + char garbage[1000]; + char *data = NULL; + size_t data_size = 0; + int ret; + for (int i = 0; i < 1000; i++) { + garbage[i] = (char) qrand() % 255; + } + + QByteArray ba(garbage, 1000); + + QByteArray baB64 = ba.toBase64(); + + ret = str_base64_decode(&data, &data_size, (char *)baB64.constData(), baB64.size()); + + QVERIFY(ret == 0); + QVERIFY(data_size == 1000); + + for (size_t i = 0; i < data_size; i++) { + QVERIFY(garbage[i] == data[i]); + } + free (data); +} + +QTEST_GUILESS_MAIN (CommonTest);