view ui/tests/commontest.cpp @ 233:d773e540dec3

Add checks for invalid input
author Andre Heinecke <aheinecke@intevation.de>
date Fri, 28 Mar 2014 11:33:39 +0000
parents 1f44aae4528e
children 6435e28ae753
line wrap: on
line source
#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);
    QVERIFY(data);

    ret = str_base64_decode(&data, &data_size, (char *)ba.constData(), ba.size());
    QVERIFY(ret != 0);

    const char * foo = "bla";
    ret = str_base64_decode(&data, &data_size, (char *)foo, 3);
    QVERIFY(ret != 0);

    for (size_t i = 0; i < data_size; i++) {
        QVERIFY(garbage[i] == data[i]);
    }
    free (data);
}

QTEST_GUILESS_MAIN (CommonTest);

http://wald.intevation.org/projects/trustbridge/