@@ -1276,7 +1276,7 @@ fn special_items_roundtrip() {
1276
1276
assert_eq ! ( tag. len( ) , 1 ) ;
1277
1277
assert_eq ! ( tag. artist( ) . as_deref( ) , Some ( "Foo Artist" ) ) ;
1278
1278
1279
- let tag: Id3v2Tag = tag. into ( ) ;
1279
+ let mut tag: Id3v2Tag = tag. into ( ) ;
1280
1280
1281
1281
assert_eq ! ( tag. frames. len( ) , 2 ) ;
1282
1282
assert_eq ! ( tag. artist( ) . as_deref( ) , Some ( "Foo Artist" ) ) ;
@@ -1286,7 +1286,13 @@ fn special_items_roundtrip() {
1286
1286
tag. dump_to ( & mut tag_bytes, WriteOptions :: default ( ) )
1287
1287
. unwrap ( ) ;
1288
1288
1289
- let tag_re_read = read_tag_raw ( & tag_bytes[ ..] ) ;
1289
+ let mut tag_re_read = read_tag_raw ( & tag_bytes[ ..] ) ;
1290
+
1291
+ // Ensure ordered comparison
1292
+ tag. frames . sort_by_key ( |frame| frame. id ( ) . to_string ( ) ) ;
1293
+ tag_re_read
1294
+ . frames
1295
+ . sort_by_key ( |frame| frame. id ( ) . to_string ( ) ) ;
1290
1296
assert_eq ! ( tag, tag_re_read) ;
1291
1297
1292
1298
// Now write from `Tag`
@@ -1296,6 +1302,10 @@ fn special_items_roundtrip() {
1296
1302
tag. dump_to ( & mut tag_bytes, WriteOptions :: default ( ) )
1297
1303
. unwrap ( ) ;
1298
1304
1299
- let generic_tag_re_read = read_tag_raw ( & tag_bytes[ ..] ) ;
1305
+ let mut generic_tag_re_read = read_tag_raw ( & tag_bytes[ ..] ) ;
1306
+
1307
+ generic_tag_re_read
1308
+ . frames
1309
+ . sort_by_key ( |frame| frame. id ( ) . to_string ( ) ) ;
1300
1310
assert_eq ! ( tag_re_read, generic_tag_re_read) ;
1301
1311
}
0 commit comments