[vlc-commits] [Git][videolan/vlc][work/macosx-rating-sort] macosx: Add test for rating sorting in library model

Claudio Cambra (@claucambra) gitlab at videolan.org
Tue Nov 3 16:14:19 UTC 2026



Claudio Cambra pushed to branch work/macosx-rating-sort at VideoLAN / VLC


Commits:
bb07a18b by Claudio Cambra at 2026-11-04T00:13:56+08:00
macosx: Add test for rating sorting in library model

Signed-off-by: Claudio Cambra <developer at claudiocambra.com>

- - - - -


1 changed file:

- modules/gui/macosx/tests/VLCLibraryModelIntegrationTest.m


Changes:

=====================================
modules/gui/macosx/tests/VLCLibraryModelIntegrationTest.m
=====================================
@@ -412,6 +412,38 @@
                    VLCLibraryDataTypesIntegrationSortingAudioAlphaMediaID());
 }
 
+- (void)testAudioMediaQuerySortsByRatingInBothDirectionsWithUnratedLast
+{
+    vlc_medialibrary_t * const library = VLCLibraryDataTypesIntegrationMediaLibrary();
+    const int64_t highestRatedID =
+        VLCLibraryDataTypesIntegrationSortingAudioAlphaMediaID();
+    const int64_t lowestRatedID =
+        VLCLibraryDataTypesIntegrationSortingAudioZuluMediaID();
+    const int64_t unratedID = VLCLibraryDataTypesIntegrationFactoryAudioMediaID();
+    XCTAssertEqual(vlc_ml_media_set_playback_state(library, highestRatedID,
+                                                   VLC_ML_PLAYBACK_STATE_RATING, "5"),
+                   VLC_SUCCESS);
+    XCTAssertEqual(vlc_ml_media_set_playback_state(library, lowestRatedID,
+                                                   VLC_ML_PLAYBACK_STATE_RATING, "1"),
+                   VLC_SUCCESS);
+
+    [self.model sortByCriteria:VLC_ML_SORTING_RATING andDescending:NO];
+    NSArray<VLCMediaLibraryMediaItem *> *media = [self audioMediaAfterFilter:@""];
+
+    XCTAssertEqual(media.count, (NSUInteger)3);
+    XCTAssertEqual(media[0].libraryID, lowestRatedID);
+    XCTAssertEqual(media[1].libraryID, highestRatedID);
+    XCTAssertEqual(media[2].libraryID, unratedID);
+
+    [self.model sortByCriteria:VLC_ML_SORTING_RATING andDescending:YES];
+    media = [self audioMediaAfterFilter:@""];
+
+    XCTAssertEqual(media.count, (NSUInteger)3);
+    XCTAssertEqual(media[0].libraryID, highestRatedID);
+    XCTAssertEqual(media[1].libraryID, lowestRatedID);
+    XCTAssertEqual(media[2].libraryID, unratedID);
+}
+
 - (void)testVideoMediaQuerySortsMatchingItemsInAscendingOrder
 {
     [self.model sortByCriteria:VLC_ML_SORTING_ALPHA andDescending:NO];



View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/bb07a18be61282e989b23fd94935fb38fe11c642

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/commit/bb07a18be61282e989b23fd94935fb38fe11c642
You're receiving this email because of your account on code.videolan.org. Manage all notifications: https://code.videolan.org/-/profile/notifications | Help: https://code.videolan.org/help




More information about the vlc-commits mailing list