view ui/tests/commontest.cpp @ 249:6a7eb102716d

Remove code duplication by unifying the certificatelist. You should now check for isInstallCert to determine wether this certificate should be installed or removed. Leaving the getInstallCertificates and getRemoveCertificates in place for compatibilty would have been easier to keep the tests stable.
author Andre Heinecke <aheinecke@intevation.de>
date Mon, 31 Mar 2014 08:06:17 +0000
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/