Mercurial > trustbridge
diff ui/tests/commontest.cpp @ 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 | |
children | 1f44aae4528e |
line wrap: on
line diff
--- /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);