Differences From Artifact [46d48df370]:
- File
tests/OFASN1DERValueTests.m
— part of check-in
[dc0c6c34ab]
at
2019-02-17 22:44:23
on branch trunk
— tests: Only import ObjFW.h
This prevents forgetting to add an import to ObjFW.h, as the tests would
then not compile. (user: js, size: 17458) [annotate] [blame] [check-ins using]
To Artifact [454df6e1d7]:
- File tests/OFASN1DERValueTests.m — part of check-in [b045cbb9c7] at 2019-03-25 00:21:30 on branch trunk — tests: Use dot syntax (user: js, size: 17426) [annotate] [blame] [check-ins using]
︙ | ︙ | |||
92 93 94 95 96 97 98 | OFTruncatedDataException, [[OFData dataWithItems: "\x02\x02\x00" count: 3] ASN1DERValue]) /* Bit string */ TEST(@"Parsing of bit string", (bitString = [[OFData dataWithItems: "\x03\x01\x00" count: 3] ASN1DERValue]) && | | | | | | | | | 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 | OFTruncatedDataException, [[OFData dataWithItems: "\x02\x02\x00" count: 3] ASN1DERValue]) /* Bit string */ TEST(@"Parsing of bit string", (bitString = [[OFData dataWithItems: "\x03\x01\x00" count: 3] ASN1DERValue]) && [bitString.bitStringValue isEqual: [OFData dataWithItems: "" count: 0]] && bitString.bitStringLength == 0 && (bitString = [[OFData dataWithItems: "\x03\x0D\x01Hello World\x80" count: 15] ASN1DERValue]) && [bitString.bitStringValue isEqual: [OFData dataWithItems: "Hello World\x80" count: 12]] && bitString.bitStringLength == 97 && (bitString = [[OFData dataWithItems: "\x03\x81\x80\x00xxxxxxxxxxxxx" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxxxxxxxxxxxxxxxx" count: 131] ASN1DERValue]) && [bitString.bitStringValue isEqual: [OFData dataWithItems: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" "xxxxxxxxxxxxxxxxxxxxxxxxx" count: 127]] && bitString.bitStringLength == 127 * 8) EXPECT_EXCEPTION(@"Detection of invalid bit string #1", OFInvalidFormatException, [[OFData dataWithItems: "\x03\x00" count: 2] ASN1DERValue]) EXPECT_EXCEPTION(@"Detection of invalid bit string #2", OFInvalidFormatException, [[OFData dataWithItems: "\x03\x01\x01" |
︙ | ︙ | |||
173 174 175 176 177 178 179 | OFInvalidFormatException, [[OFData dataWithItems: "\x05\x01\x00" count: 3] ASN1DERValue]) /* Object Identifier */ TEST(@"Parsing of Object Identifier", (array = [[[OFData dataWithItems: "\x06\x01\x27" count: 3] ASN1DERValue] | | | | | | 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 | OFInvalidFormatException, [[OFData dataWithItems: "\x05\x01\x00" count: 3] ASN1DERValue]) /* Object Identifier */ TEST(@"Parsing of Object Identifier", (array = [[[OFData dataWithItems: "\x06\x01\x27" count: 3] ASN1DERValue] subidentifiers]) && array.count == 2 && [[array objectAtIndex: 0] uIntMaxValue] == 0 && [[array objectAtIndex: 1] uIntMaxValue] == 39 && (array = [[[OFData dataWithItems: "\x06\x01\x4F" count: 3] ASN1DERValue] subidentifiers]) && array.count == 2 && [[array objectAtIndex: 0] uIntMaxValue] == 1 && [[array objectAtIndex: 1] uIntMaxValue] == 39 && (array = [[[OFData dataWithItems: "\x06\x02\x88\x37" count: 4] ASN1DERValue] subidentifiers]) && array.count == 2 && [[array objectAtIndex: 0] uIntMaxValue] == 2 && [[array objectAtIndex: 1] uIntMaxValue] == 999 && (array = [[[OFData dataWithItems: "\x06\x09\x2A\x86\x48\x86\xF7\x0D" "\x01\x01\x0B" count: 11] ASN1DERValue] subidentifiers]) && array.count == 7 && [[array objectAtIndex: 0] uIntMaxValue] == 1 && [[array objectAtIndex: 1] uIntMaxValue] == 2 && [[array objectAtIndex: 2] uIntMaxValue] == 840 && [[array objectAtIndex: 3] uIntMaxValue] == 113549 && [[array objectAtIndex: 4] uIntMaxValue] == 1 && [[array objectAtIndex: 5] uIntMaxValue] == 1 && [[array objectAtIndex: 6] uIntMaxValue] == 11) |
︙ | ︙ | |||
299 300 301 302 303 304 305 | "xxxxxxxxxxxxxxxxxx" count: 132] ASN1DERValue]) /* Sequence */ TEST(@"Parsing of sequence", (array = [[OFData dataWithItems: "\x30\x00" count: 2] ASN1DERValue]) && | | | | | | 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 | "xxxxxxxxxxxxxxxxxx" count: 132] ASN1DERValue]) /* Sequence */ TEST(@"Parsing of sequence", (array = [[OFData dataWithItems: "\x30\x00" count: 2] ASN1DERValue]) && [array isKindOfClass: [OFArray class]] && array.count == 0 && (array = [[OFData dataWithItems: "\x30\x09\x02\x01\x7B\x0C\x04Test" count: 11] ASN1DERValue]) && [array isKindOfClass: [OFArray class]] && array.count == 2 && [[array objectAtIndex: 0] integerValue] == 123 && [[[array objectAtIndex: 1] stringValue] isEqual: @"Test"]) EXPECT_EXCEPTION(@"Detection of truncated sequence #1", OFTruncatedDataException, [[OFData dataWithItems: "\x30\x01" count: 2] ASN1DERValue]) EXPECT_EXCEPTION(@"Detection of truncated sequence #2", OFTruncatedDataException, [[OFData dataWithItems: "\x30\x04\x02\x01\x01\x00\x00" count: 7] ASN1DERValue]) /* Set */ TEST(@"Parsing of set", (set = [[OFData dataWithItems: "\x31\x00" count: 2] ASN1DERValue]) && [set isKindOfClass: [OFSet class]] && set.count == 0 && (set = [[OFData dataWithItems: "\x31\x09\x02\x01\x7B\x0C\x04Test" count: 11] ASN1DERValue]) && [set isKindOfClass: [OFSet class]] && set.count == 2 && (enumerator = [set objectEnumerator]) && [[enumerator nextObject] integerValue] == 123 && [[[enumerator nextObject] stringValue] isEqual: @"Test"]) EXPECT_EXCEPTION(@"Detection of invalid set", OFInvalidFormatException, [[OFData dataWithItems: "\x31\x06\x02\x01\x02\x02\x01\x01" |
︙ | ︙ |