1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
/*
SPDX-FileCopyrightText: 2009 Constantin Berzan <exit3219@gmail.com>
SPDX-License-Identifier: LGPL-2.0-or-later
*/
#include "multipartjobtest.h"
#include <QDebug>
#include <QTest>
#include <KMime/Content>
using namespace KMime;
#include <MessageComposer/Composer>
#include <MessageComposer/GlobalPart>
#include <MessageComposer/MultipartJob>
#include <MessageComposer/SinglepartJob>
using namespace MessageComposer;
QTEST_MAIN(MultipartJobTest)
void MultipartJobTest::testMultipartMixed()
{
Composer composer;
auto mjob = new MultipartJob(&composer);
mjob->setMultipartSubtype("mixed");
QByteArray data1("one");
QByteArray data2("two");
QByteArray type1("text/plain");
QByteArray type2("application/x-mors-ontologica");
{
auto cjob = new SinglepartJob(mjob);
cjob->setData(data1);
cjob->contentType()->setMimeType(type1);
}
{
auto cjob = new SinglepartJob(mjob);
cjob->setData(data2);
cjob->contentType()->setMimeType(type2);
}
QVERIFY(mjob->exec());
Content *result = mjob->content();
result->assemble();
qDebug() << result->encodedContent();
QVERIFY(result->contentType(false));
QCOMPARE(result->contentType(false)->mimeType(), QByteArray("multipart/mixed"));
QCOMPARE(result->contents().count(), 2);
{
Content *c = result->contents().at(0);
QCOMPARE(c->body(), data1);
QVERIFY(c->contentType(false));
QCOMPARE(c->contentType(false)->mimeType(), type1);
}
{
Content *c = result->contents().at(1);
QCOMPARE(c->body(), data2);
QVERIFY(c->contentType(false));
QCOMPARE(c->contentType(false)->mimeType(), type2);
}
delete result;
}
#include "moc_multipartjobtest.cpp"
|