File indexing completed on 2024-05-12 05:17:29

0001 /*
0002     SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "asn1/berelement.h"
0008 
0009 #include <QBuffer>
0010 #include <QObject>
0011 #include <QTest>
0012 
0013 using namespace KItinerary;
0014 
0015 class BerEncoderTest : public QObject
0016 {
0017     Q_OBJECT
0018 private Q_SLOTS:
0019     void testWriteSize_data()
0020     {
0021         QTest::addColumn<int>("size");
0022         QTest::addColumn<QByteArray>("expected");
0023 
0024         QTest::newRow("zero") << 0 << QByteArray::fromHex("00");
0025         QTest::newRow("1") << 1 << QByteArray::fromHex("01");
0026         QTest::newRow("127") << 127 << QByteArray::fromHex("7F");
0027         QTest::newRow("128") << 128 << QByteArray::fromHex("8180");
0028         QTest::newRow("255") << 255 << QByteArray::fromHex("81FF");
0029         QTest::newRow("256") << 256 << QByteArray::fromHex("820100");
0030         QTest::newRow("65535") << 65535 << QByteArray::fromHex("82FFFF");
0031     }
0032 
0033     void testWriteSize()
0034     {
0035         QFETCH(int, size);
0036         QFETCH(QByteArray, expected);
0037 
0038         QByteArray out;
0039         QBuffer buffer(&out);
0040         QVERIFY(buffer.open(QIODevice::WriteOnly));
0041         BER::Element::writeSize(&buffer, size);
0042         buffer.close();
0043         QCOMPARE(out, expected);
0044     }
0045 };
0046 
0047 QTEST_APPLESS_MAIN(BerEncoderTest)
0048 
0049 #include "berencodertest.moc"