twonly-app-dependencies/pointycastle/test/asn1/asn1_object_test.dart
2025-12-07 16:10:41 +01:00

101 lines
1.7 KiB
Dart

import 'dart:typed_data';
import 'package:pointycastle/asn1/asn1_object.dart';
import 'package:pointycastle/asn1/asn1_tags.dart';
import 'package:test/test.dart';
void main() {
test('Test named constructor fromBytes', () {
var bytes = Uint8List.fromList([
0x0C,
0x0E,
0x6A,
0x75,
0x6E,
0x6B,
0x64,
0x72,
0x61,
0x67,
0x6F,
0x6E,
0x73,
0x2E,
0x64,
0x65
]);
var valueBytes = Uint8List.fromList([
0x6A,
0x75,
0x6E,
0x6B,
0x64,
0x72,
0x61,
0x67,
0x6F,
0x6E,
0x73,
0x2E,
0x64,
0x65
]);
var asn1Object = ASN1Object.fromBytes(bytes);
expect(asn1Object.tag, 12);
expect(asn1Object.encodedBytes, bytes);
expect(asn1Object.valueByteLength, 14);
expect(asn1Object.valueStartPosition, 2);
expect(asn1Object.valueBytes, valueBytes);
});
test('Test encode', () {
var asn1Object = ASN1Object(tag: ASN1Tags.UTF8_STRING);
asn1Object.valueBytes = Uint8List.fromList([
0x6A,
0x75,
0x6E,
0x6B,
0x64,
0x72,
0x61,
0x67,
0x6F,
0x6E,
0x73,
0x2E,
0x64,
0x65
]);
var bytes = Uint8List.fromList([
0x0C,
0x0E,
0x6A,
0x75,
0x6E,
0x6B,
0x64,
0x72,
0x61,
0x67,
0x6F,
0x6E,
0x73,
0x2E,
0x64,
0x65
]);
expect(asn1Object.encode(), bytes);
});
test('Test dump', () {
var bytes = Uint8List.fromList([
0xA0,
0x00,
]);
var asn1Object = ASN1Object.fromBytes(bytes);
expect('[160] (0 elem)', asn1Object.dump());
});
}