📄 metadata_object.c
字号:
} printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_track_clone()... "); trackcopy_ = FLAC__metadata_object_cuesheet_track_clone(track_); if(0 == trackcopy_) { printf("FAILED, returned NULL\n"); return false; } if(!compare_track_(trackcopy_, track_)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_track_delete()... "); FLAC__metadata_object_cuesheet_track_delete(trackcopy_); FLAC__metadata_object_cuesheet_track_delete(track_); printf("OK\n"); } printf("testing FLAC__metadata_object_new()... "); block = FLAC__metadata_object_new(FLAC__METADATA_TYPE_CUESHEET); if(0 == block) { printf("FAILED, returned NULL\n"); return false; } expected_length = ( FLAC__STREAM_METADATA_CUESHEET_MEDIA_CATALOG_NUMBER_LEN + FLAC__STREAM_METADATA_CUESHEET_LEAD_IN_LEN + FLAC__STREAM_METADATA_CUESHEET_IS_CD_LEN + FLAC__STREAM_METADATA_CUESHEET_RESERVED_LEN + FLAC__STREAM_METADATA_CUESHEET_NUM_TRACKS_LEN ) / 8; if(block->length != expected_length) { printf("FAILED, bad length, expected %u, got %u\n", expected_length, block->length); return false; } printf("OK\n"); printf("testing FLAC__metadata_object_clone()... "); cuesheet = FLAC__metadata_object_clone(block); if(0 == cuesheet) { printf("FAILED, returned NULL\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); cs_resize_(cuesheet, 2); printf("testing FLAC__metadata_object_cuesheet_resize_tracks(grow to %u)...", cuesheet->data.cue_sheet.num_tracks); if(!FLAC__metadata_object_cuesheet_resize_tracks(block, cuesheet->data.cue_sheet.num_tracks)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); cs_resize_(cuesheet, 1); printf("testing FLAC__metadata_object_cuesheet_resize_tracks(shrink to %u)...", cuesheet->data.cue_sheet.num_tracks); if(!FLAC__metadata_object_cuesheet_resize_tracks(block, cuesheet->data.cue_sheet.num_tracks)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); cs_resize_(cuesheet, 0); printf("testing FLAC__metadata_object_cuesheet_resize_tracks(shrink to %u)...", cuesheet->data.cue_sheet.num_tracks); if(!FLAC__metadata_object_cuesheet_resize_tracks(block, cuesheet->data.cue_sheet.num_tracks)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_insert_track(copy) on empty array..."); cs_insert_new_(&track, cuesheet, 0, 0, 1, "ABCDE1234567", false, false); if(!FLAC__metadata_object_cuesheet_insert_track(block, 0, &track, /*copy=*/true)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_insert_track(copy) on beginning of non-empty array..."); cs_insert_new_(&track, cuesheet, 0, 10, 2, "BBCDE1234567", false, false); if(!FLAC__metadata_object_cuesheet_insert_track(block, 0, &track, /*copy=*/true)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_insert_track(copy) on middle of non-empty array..."); cs_insert_new_(&track, cuesheet, 1, 20, 3, "CBCDE1234567", false, false); if(!FLAC__metadata_object_cuesheet_insert_track(block, 1, &track, /*copy=*/true)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_insert_track(copy) on end of non-empty array..."); cs_insert_new_(&track, cuesheet, 3, 30, 4, "DBCDE1234567", false, false); if(!FLAC__metadata_object_cuesheet_insert_track(block, 3, &track, /*copy=*/true)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_insert_blank_track() on end of non-empty array..."); cs_insert_new_(&track, cuesheet, 4, 0, 0, "\0\0\0\0\0\0\0\0\0\0\0\0", false, false); if(!FLAC__metadata_object_cuesheet_insert_blank_track(block, 4)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_clone()... "); blockcopy = FLAC__metadata_object_clone(block); if(0 == blockcopy) { printf("FAILED, returned NULL\n"); return false; } if(!mutils__compare_block(block, blockcopy)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_delete()... "); FLAC__metadata_object_delete(blockcopy); printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_delete_track() on end of array..."); cs_delete_(cuesheet, 4); if(!FLAC__metadata_object_cuesheet_delete_track(block, 4)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_delete_track() on middle of array..."); cs_delete_(cuesheet, 2); if(!FLAC__metadata_object_cuesheet_delete_track(block, 2)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_delete_track() on end of array..."); cs_delete_(cuesheet, 2); if(!FLAC__metadata_object_cuesheet_delete_track(block, 2)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_delete_track() on beginning of array..."); cs_delete_(cuesheet, 0); if(!FLAC__metadata_object_cuesheet_delete_track(block, 0)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_set_track(copy)..."); cs_set_new_(&track, cuesheet, 0, 40, 5, "EBCDE1234567", false, false); FLAC__metadata_object_cuesheet_set_track(block, 0, &track, /*copy=*/true); if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); tr_resize_(cuesheet, 0, 2); printf("testing FLAC__metadata_object_cuesheet_track_resize_indices(grow to %u)...", cuesheet->data.cue_sheet.tracks[0].num_indices); if(!FLAC__metadata_object_cuesheet_track_resize_indices(block, 0, cuesheet->data.cue_sheet.tracks[0].num_indices)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); tr_resize_(cuesheet, 0, 1); printf("testing FLAC__metadata_object_cuesheet_track_resize_indices(shrink to %u)...", cuesheet->data.cue_sheet.tracks[0].num_indices); if(!FLAC__metadata_object_cuesheet_track_resize_indices(block, 0, cuesheet->data.cue_sheet.tracks[0].num_indices)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); tr_resize_(cuesheet, 0, 0); printf("testing FLAC__metadata_object_cuesheet_track_resize_indices(shrink to %u)...", cuesheet->data.cue_sheet.tracks[0].num_indices); if(!FLAC__metadata_object_cuesheet_track_resize_indices(block, 0, cuesheet->data.cue_sheet.tracks[0].num_indices)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); index.offset = 0; index.number = 1; printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on empty array..."); tr_insert_new_(cuesheet, 0, 0, index); if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 0, index)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); index.offset = 10; index.number = 2; printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on beginning of non-empty array..."); tr_insert_new_(cuesheet, 0, 0, index); if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 0, index)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); index.offset = 20; index.number = 3; printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on middle of non-empty array..."); tr_insert_new_(cuesheet, 0, 1, index); if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 1, index)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); index.offset = 30; index.number = 4; printf("testing FLAC__metadata_object_cuesheet_track_insert_index() on end of non-empty array..."); tr_insert_new_(cuesheet, 0, 3, index); if(!FLAC__metadata_object_cuesheet_track_insert_index(block, 0, 3, index)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); index.offset = 0; index.number = 0; printf("testing FLAC__metadata_object_cuesheet_track_insert_blank_index() on end of non-empty array..."); tr_insert_new_(cuesheet, 0, 4, index); if(!FLAC__metadata_object_cuesheet_track_insert_blank_index(block, 0, 4)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_clone()... "); blockcopy = FLAC__metadata_object_clone(block); if(0 == blockcopy) { printf("FAILED, returned NULL\n"); return false; } if(!mutils__compare_block(block, blockcopy)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_delete()... "); FLAC__metadata_object_delete(blockcopy); printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_track_delete_index() on end of array..."); tr_delete_(cuesheet, 0, 4); if(!FLAC__metadata_object_cuesheet_track_delete_index(block, 0, 4)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_track_delete_index() on middle of array..."); tr_delete_(cuesheet, 0, 2); if(!FLAC__metadata_object_cuesheet_track_delete_index(block, 0, 2)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_track_delete_index() on end of array..."); tr_delete_(cuesheet, 0, 2); if(!FLAC__metadata_object_cuesheet_track_delete_index(block, 0, 2)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_track_delete_index() on beginning of array..."); tr_delete_(cuesheet, 0, 0); if(!FLAC__metadata_object_cuesheet_track_delete_index(block, 0, 0)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_delete()... "); FLAC__metadata_object_delete(cuesheet); FLAC__metadata_object_delete(block); printf("OK\n"); printf("testing FLAC__metadata_object_new()... "); block = FLAC__metadata_object_new(FLAC__METADATA_TYPE_CUESHEET); if(0 == block) { printf("FAILED, returned NULL\n"); return false; } printf("OK\n"); printf("testing FLAC__metadata_object_clone()... "); cuesheet = FLAC__metadata_object_clone(block); if(0 == cuesheet) { printf("FAILED, returned NULL\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_insert_track(own) on empty array..."); cs_insert_new_(&track, cuesheet, 0, 60, 7, "GBCDE1234567", false, false); track_clone_(&track); if(!FLAC__metadata_object_cuesheet_insert_track(block, 0, &track, /*copy=*/false)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, block)) return false; printf("OK\n"); printf("testing FLAC__metadata_object_cuesheet_insert_track(own) on beginning of non-empty array..."); cs_insert_new_(&track, cuesheet, 0, 70, 8, "HBCDE1234567", false, false); track_clone_(&track); if(!FLAC__metadata_object_cuesheet_insert_track(block, 0, &track, /*copy=*/false)) { printf("FAILED, returned false\n"); return false; } if(!mutils__compare_block(cuesheet, bloc
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -