diff --git a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/library/LibraryDisplaySettings.kt b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/library/LibraryDisplaySettings.kt index d7f2b7752..38c15d4c3 100644 --- a/composeApp/src/commonMain/kotlin/com/nuvio/app/features/library/LibraryDisplaySettings.kt +++ b/composeApp/src/commonMain/kotlin/com/nuvio/app/features/library/LibraryDisplaySettings.kt @@ -227,12 +227,8 @@ private val LibraryDisplaySettingsJson = Json { encodeDefaults = true } -private val LeadingLibraryTitleArticle = Regex("^(the|an|a)\\s+", RegexOption.IGNORE_CASE) - private fun libraryTitleSortKey(item: LibraryItem): String = libraryTitleTieBreakKey(item) - .trim() - .replace(LeadingLibraryTitleArticle, "") private fun libraryTitleTieBreakKey(item: LibraryItem): String = item.name diff --git a/composeApp/src/commonTest/kotlin/com/nuvio/app/features/library/LibraryDisplaySettingsTest.kt b/composeApp/src/commonTest/kotlin/com/nuvio/app/features/library/LibraryDisplaySettingsTest.kt index bbfdf90bb..51e20a4ac 100644 --- a/composeApp/src/commonTest/kotlin/com/nuvio/app/features/library/LibraryDisplaySettingsTest.kt +++ b/composeApp/src/commonTest/kotlin/com/nuvio/app/features/library/LibraryDisplaySettingsTest.kt @@ -51,7 +51,7 @@ class LibraryDisplaySettingsTest { } @Test - fun `title sorting ignores leading English articles`() { + fun `title sorting preserves leading articles for literal alphabetical order`() { val input = listOf( item("batman", name = "The Batman"), item("arrival", name = "Arrival"), @@ -59,11 +59,11 @@ class LibraryDisplaySettingsTest { ) assertEquals( - listOf("arrival", "batman", "quiet"), + listOf("quiet", "arrival", "batman"), sortLibraryItems(input, LibrarySortOption.TITLE_ASC, LibrarySourceMode.LOCAL).map { it.id }, ) assertEquals( - listOf("quiet", "batman", "arrival"), + listOf("batman", "arrival", "quiet"), sortLibraryItems(input, LibrarySortOption.TITLE_DESC, LibrarySourceMode.LOCAL).map { it.id }, ) }