@@ -11153,6 +11153,174 @@ public void TestRoundTripRegressions() {
11153
11153
};
11154
11154
CBORTestCommon .AssertRoundTrip (CBORObject .DecodeFromBytes (bytes , options ));
11155
11155
}
11156
+ {
11157
+ CBOREncodeOptions options = new CBOREncodeOptions ("allowduplicatekeys=1" );
11158
+ byte [] bytes = new byte [] {
11159
+ (byte )0xbf , 0x0d ,
11160
+ (byte )0xdb , 0x7f , 0x53 ,
11161
+ (byte )0xd5 , 0x1e ,
11162
+ (byte )0xab , 0x1f ,
11163
+ (byte )0xb2 ,
11164
+ (byte )0xc2 ,
11165
+ (byte )0xb8 , 0x02 , 0x7f , 0x7a , 0x00 , 0x00 , 0x00 , 0x09 ,
11166
+ (byte )0xf0 ,
11167
+ (byte )0xb8 ,
11168
+ (byte )0xbf ,
11169
+ (byte )0xbf , 0x00 ,
11170
+ (byte )0xf0 ,
11171
+ (byte )0x9d ,
11172
+ (byte )0x84 ,
11173
+ (byte )0xa1 ,
11174
+ (byte )0xff , 0x1a , 0x00 , 0x46 , 0x31 ,
11175
+ (byte )0xdf , 0x7f , 0x69 , 0x05 , 0x47 , 0x76 , 0x4f , 0x01 ,
11176
+ (byte )0xf4 ,
11177
+ (byte )0x80 ,
11178
+ (byte )0x80 ,
11179
+ (byte )0x80 , (byte )0xff , 0x3a , 0x0a , (byte )0xaa , (byte )0xf2 , 0x00 ,
11180
+ (byte )0xff ,
11181
+ };
11182
+ CBORTestCommon .AssertRoundTrip (CBORObject .DecodeFromBytes (bytes , options ));
11183
+ }
11184
+ {
11185
+ CBOREncodeOptions options = new CBOREncodeOptions ("allowduplicatekeys=1" );
11186
+ byte [] bytes = new byte [] {
11187
+ (byte )0xbf , 0x0d ,
11188
+ (byte )0xdb , 0x7f , 0x53 ,
11189
+ (byte )0xd5 , 0x1e ,
11190
+ (byte )0xab , 0x1f , 0x23 ,
11191
+ (byte )0xc2 ,
11192
+ (byte )0xb8 , 0x02 , 0x7f , 0x69 ,
11193
+ (byte )0xc2 ,
11194
+ (byte )0xa8 , 0x7f , 0x39 , 0x7f ,
11195
+ (byte )0xe4 ,
11196
+ (byte )0xa1 ,
11197
+ (byte )0xae , 0x1c ,
11198
+ (byte )0xff , 0x17 , 0x7f , 0x69 , 0x05 , 0x47 , 0x76 , 0x4f , 0x01 ,
11199
+ (byte )0xec ,
11200
+ (byte )0x90 ,
11201
+ (byte )0xb2 , 0x0a , (byte )0xff , (byte )0xfa , 0x12 , 0x49 , 0x20 , 0x61 ,
11202
+ (byte )0xff ,
11203
+ };
11204
+ CBORTestCommon .AssertRoundTrip (CBORObject .DecodeFromBytes (bytes , options ));
11205
+ }
11206
+ {
11207
+ CBOREncodeOptions options = new CBOREncodeOptions ("allowduplicatekeys=1" );
11208
+ byte [] bytes = new byte [] {
11209
+ (byte )0x9b , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
11210
+ 0x00 , 0x01 ,
11211
+ (byte )0xd8 , 0x52 ,
11212
+ (byte )0xbf , 0x0c ,
11213
+ (byte )0xf9 , 0x68 , 0x67 , 0x3b ,
11214
+ (byte )0xdb ,
11215
+ (byte )0x85 , 0x5b , 0x59 ,
11216
+ (byte )0xfd , 0x03 , 0x6c ,
11217
+ (byte )0x80 ,
11218
+ (byte )0xf8 ,
11219
+ (byte )0xc4 , 0x7f , 0x67 , 0x73 , 0x2b , 0x51 , 0x31 , 0x5d , 0x26 , 0x67 ,
11220
+ (byte )0xff , 0x5f , 0x5b , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x08 ,
11221
+ (byte )0xc7 ,
11222
+ (byte )0xb9 , 0x6b ,
11223
+ (byte )0xb0 ,
11224
+ (byte )0xb6 ,
11225
+ (byte )0xbe , 0x6d ,
11226
+ (byte )0x9e , 0x41 , 0x34 , 0x5a , 0x00 , 0x00 , 0x00 , 0x02 ,
11227
+ (byte )0xc4 , 0x4a ,
11228
+ (byte )0xff , 0x67 ,
11229
+ (byte )0xe1 ,
11230
+ (byte )0x99 ,
11231
+ (byte )0x92 ,
11232
+ (byte )0xf0 , (
11233
+ byte )0xb5 , (byte )0xa4 , (byte )0xa2 , 0x3a , 0x77 , 0x11 , 0x4c , 0x6f ,
11234
+ (byte )0xff ,
11235
+ };
11236
+ CBORTestCommon .AssertRoundTrip (CBORObject .DecodeFromBytes (bytes , options ));
11237
+ }
11238
+ {
11239
+ CBOREncodeOptions options = new CBOREncodeOptions ("allowduplicatekeys=1;keepkeyorder=1" );
11240
+ byte [] bytes = new byte [] {
11241
+ (byte )0x9b , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 ,
11242
+ 0x00 , 0x01 ,
11243
+ (byte )0x9f ,
11244
+ (byte )0xf9 , 0x03 ,
11245
+ (byte )0xf1 , 0x3b , 0x1a , 0x6f ,
11246
+ (byte )0xc2 , 0x1b ,
11247
+ (byte )0xce , 0x23 ,
11248
+ (byte )0xcb , 0x2e ,
11249
+ (byte )0xbf ,
11250
+ (byte )0xf8 , 0x25 ,
11251
+ (byte )0xfb , 0x01 , 0x54 , 0x4a , 0x78 , 0x13 ,
11252
+ (byte )0xff , 0x12 ,
11253
+ (byte )0x91 ,
11254
+ (byte )0xff ,
11255
+ (byte )0xbf , 0x78 , 0x04 , 0x7a , 0x43 , 0x30 , 0x04 , 0x41 , 0x55 , 0x7f , 0x7a ,
11256
+ 0x00 , 0x00 , 0x00 , 0x03 ,
11257
+ (byte )0xda ,
11258
+ (byte )0xb3 , 0x64 , 0x7b , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x58 ,
11259
+ (byte )0xff , 0x39 , (byte )0xa2 , 0x48 , (byte )0xff , (byte )0xff ,
11260
+ };
11261
+ CBORTestCommon .AssertRoundTrip (CBORObject .DecodeFromBytes (bytes , options ));
11262
+ }
11263
+ {
11264
+ CBOREncodeOptions options = new CBOREncodeOptions ("allowduplicatekeys=1" );
11265
+ byte [] bytes = new byte [] {
11266
+ (byte )0x81 ,
11267
+ (byte )0xda ,
11268
+ (byte )0x8a , 0x18 , 0x00 , 0x00 ,
11269
+ (byte )0xda ,
11270
+ (byte )0xd5 ,
11271
+ (byte )0xf5 ,
11272
+ (byte )0x96 , 0x10 ,
11273
+ (byte )0x9b , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 ,
11274
+ (byte )0xbf , 0x6f , 0x22 , 0x65 , 0x65 ,
11275
+ (byte )0xf1 ,
11276
+ (byte )0x86 ,
11277
+ (byte )0x9d ,
11278
+ (byte )0xad , 0x22 , 0x42 ,
11279
+ (byte )0xc5 ,
11280
+ (byte )0xb1 , 0x62 , 0x58 , 0x01 , 0x5e ,
11281
+ (byte )0xda , 0x47 , 0x47 ,
11282
+ (byte )0x87 ,
11283
+ (byte )0x94 ,
11284
+ (byte )0xed , 0x7f , 0x6c ,
11285
+ (byte )0xf0 ,
11286
+ (byte )0x9c ,
11287
+ (byte )0xbc ,
11288
+ (byte )0x96 , 0x2f , 0x47 , 0x7c , 0x00 , 0x50 , 0x67 , 0x67 , 0x10 , 0x78 , 0x03 ,
11289
+ (byte )0xc3 ,
11290
+ (byte )0x90 , 0x17 ,
11291
+ (byte )0xff , 0x19 ,
11292
+ (byte )0xd2 ,
11293
+ (byte )0xe7 ,
11294
+ (byte )0x99 , 0x00 , 0x01 , 0x1b , 0x2a , 0x6e , 0x6f , 0x67 , 0x4b , 0x18 , 0x60 ,
11295
+ 0x51 , 0x1b , 0x46 , (
11296
+ byte )0x9f , (byte )0xd3 , (byte )0xb7 , (byte )0xf4 , 0x74 , (byte )0xad , 0x6c ,
11297
+ (byte )0xff ,
11298
+ };
11299
+ CBORTestCommon .AssertRoundTrip (CBORObject .DecodeFromBytes (bytes , options ));
11300
+ }
11301
+ {
11302
+ CBOREncodeOptions options = new CBOREncodeOptions ("allowduplicatekeys=1;keepkeyorder=1" );
11303
+ byte [] bytes = new byte [] {
11304
+ (byte )0xda ,
11305
+ (byte )0xcf ,
11306
+ (byte )0xf0 ,
11307
+ (byte )0xbe , 0x18 ,
11308
+ (byte )0x99 , 0x00 , 0x01 ,
11309
+ (byte )0xb9 , 0x00 , 0x01 ,
11310
+ (byte )0xbf , 0x7f , 0x61 , 0x5d , 0x7a , 0x00 , 0x00 , 0x00 , 0x06 , 0x00 , 0x00 ,
11311
+ 0x20 , 0x5a , 0x66 , 0x1c , 0x7a , 0x00 , 0x00 , 0x00 , 0x02 , 0x7d , 0x7f , 0x60 ,
11312
+ 0x78 , 0x01 , 0x43 ,
11313
+ (byte )0xff , 0x1a ,
11314
+ (byte )0xca , 0x5c ,
11315
+ (byte )0x83 , 0x47 , 0x7f , 0x79 , 0x00 , 0x0a ,
11316
+ (byte )0xcc ,
11317
+ (byte )0x88 , 0x00 , 0x73 , 0x5f , 0x00 , 0x26 , 0x08 , 0x72 , 0x60 ,
11318
+ (byte )0xff , 0x00 ,
11319
+ (byte )0xff , 0x1b ,
11320
+ (byte )0xbb , 0x19 , (byte )0xbf , (byte )0x9f , 0x55 , (byte )0xee , 0x56 , 0x09 ,
11321
+ };
11322
+ CBORTestCommon .AssertRoundTrip (CBORObject .DecodeFromBytes (bytes , options ));
11323
+ }
11156
11324
}
11157
11325
@ Test
11158
11326
public void TestMapCompareRegressions () {
0 commit comments