@@ -23,10 +23,33 @@ @implementation TestsAppDelegate (OFASN1DEREncodedValueTests) - (void)ASN1DEREncodedValueTests { OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init]; + OFData *data; + + module = @"OFASN1BitString"; + TEST(@"-[DEREncodedValue]", + (data = [OFData dataWithItems: "\xFF\x00\xF8" + count: 3]) && + [[[OFASN1BitString bitStringWithBitStringValue: data + bitStringLength: 20] DEREncodedValue] + isEqual: [OFData dataWithItems: "\x03\x04\x04\xFF\x00\xF8" + count: 6]] && + (data = [OFData dataWithItems: "abcdefäöü" + count: 12]) && + [[[OFASN1BitString bitStringWithBitStringValue: data + bitStringLength: 12 * 8] + DEREncodedValue] isEqual: + [OFData dataWithItems: "\x03\x0D\x00" "abcdefäöü" + count: 15]] && + (data = [OFData dataWithItems: "" + count: 0]) && + [[[OFASN1BitString bitStringWithBitStringValue: data + bitStringLength: 0] DEREncodedValue] + isEqual: [OFData dataWithItems: "\x03\x01\x00" + count: 3]]) module = @"OFASN1Boolean"; TEST(@"-[DEREncodedValue]", [[[OFASN1Boolean booleanWithBooleanValue: false] DEREncodedValue] isEqual: [OFData dataWithItems: "\x01\x01\x00"