Ver código fonte

Fixes: incorrect sorting when chapter name contains hyphens '-' (#7161)

* Fixes: incorrect sorting when chapter name contains hyphens '-'

* Added a test case for hyphen in ChapterRecognitionTest.kt

* Removed chapter range test case since it will be replaced by chapterContainingHyphensCase
saud-97 2 anos atrás
pai
commit
3e07100dc2

+ 2 - 2
app/src/main/java/eu/kanade/tachiyomi/util/chapter/ChapterRecognition.kt

@@ -46,8 +46,8 @@ object ChapterRecognition {
         // Get chapter title with lower case
         var name = chapter.name.lowercase()
 
-        // Remove comma's from chapter.
-        name = name.replace(',', '.')
+        // Remove comma's or hyphens.
+        name = name.replace(',', '.').replace('-', '.')
 
         // Remove unwanted white spaces.
         unwantedWhiteSpace.findAll(name).let {

+ 21 - 11
app/src/test/java/eu/kanade/tachiyomi/data/database/ChapterRecognitionTest.kt

@@ -276,16 +276,6 @@ class ChapterRecognitionTest {
         assertEquals(1f, chapter.chapter_number)
     }
 
-    /**
-     * Chapter containing range
-     */
-    @Test
-    fun rangeInChapterCase() {
-        createChapter("Ch.191-200 Read Online")
-        ChapterRecognition.parseChapterNumber(chapter, manga)
-        assertEquals(191f, chapter.chapter_number)
-    }
-
     /**
      * Chapter containing multiple zeros
      */
@@ -440,7 +430,27 @@ class ChapterRecognitionTest {
         assertEquals(24.005f, chapter.chapter_number)
     }
 
-    /**
+	/**
+	 * Chapter title containing hyphen's
+	 */
+	@Test
+	fun chapterContainingHyphensCase() {
+		createManga("Solo Leveling")
+
+		createChapter("ch 122-a")
+		ChapterRecognition.parseChapterNumber(chapter, manga)
+		assertEquals(122.1f, chapter.chapter_number)
+
+		createChapter("Solo Leveling Ch.123-extra")
+		ChapterRecognition.parseChapterNumber(chapter, manga)
+		assertEquals(123.99f, chapter.chapter_number)
+
+		createChapter("Solo Leveling, 024-005")
+		ChapterRecognition.parseChapterNumber(chapter, manga)
+		assertEquals(24.005f, chapter.chapter_number)
+	}
+
+	/**
      * Test for chapters containing season
      */
     @Test