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"