view ui/tests/commontest.cpp @ 304:eecc06f714fd

Add first nsstest.
author Andre Heinecke <andre.heinecke@intevation.de>
date Thu, 03 Apr 2014 14:29:49 +0200
parents 6b4ad6ccc48e
children 17e1c8f37d72
line wrap: on
line source
#include <QString>
#include <QByteArray>
#include <QTest>

#include "commontest.h"
#include "strhelp.h"

void CommonTest::testInvalidInput() {
    const char * foo = "Zm9vA"; /* Invalid input with a bit valid input */
    char *data = NULL;
    size_t data_size = 0;
    int ret = -1;
    ret = str_base64_decode(&data, &data_size, (char *)foo, 5);

    QVERIFY(ret == 0);
    QVERIFY(data == QString::fromLatin1("foo"));
    free(data);
}

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);

    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/