AusweisApp2/test/qt/card/asn1/test_Asn1Util.cpp

64 lines
1.1 KiB
C++
Raw Normal View History

2017-07-03 09:33:28 +02:00
/*!
2018-03-28 15:10:51 +02:00
* \copyright Copyright (c) 2016-2018 Governikus GmbH & Co. KG, Germany
2017-07-03 09:33:28 +02:00
*/
#include "asn1/ASN1Util.h"
#include <QtCore>
#include <QtTest>
using namespace governikus;
class test_Asn1Util
: public QObject
{
Q_OBJECT
private Q_SLOTS:
void encodeEmptyData()
{
auto data = QByteArray();
auto encoded = Asn1Util::encode(0x20, data);
QCOMPARE(encoded, QByteArray::fromHex("2000"));
}
void encodeShortLengthData()
{
auto data = QByteArray::fromHex("01").repeated(0x10);
auto encoded = Asn1Util::encode(0x20, data);
QCOMPARE(encoded, QByteArray::fromHex("2010").append(data));
}
void encodeShortLengthMaxData()
{
auto data = QByteArray::fromHex("01").repeated(0x7F);
auto encoded = Asn1Util::encode(0x20, data);
QCOMPARE(encoded, QByteArray::fromHex("207F").append(data));
}
void encodeExtendedLengthData()
{
auto data = QByteArray::fromHex("01").repeated(0xFF);
auto encoded = Asn1Util::encode(0x20, data);
QCOMPARE(encoded, QByteArray::fromHex("2081FF").append(data));
}
};
QTEST_GUILESS_MAIN(test_Asn1Util)
#include "test_Asn1Util.moc"