Browse Source

修复 sub_timeline_fixer 测试用例

Signed-off-by: allan716 <[email protected]>
allan716 3 years ago
parent
commit
de5d7659cc

+ 2 - 0
.gitignore

@@ -50,3 +50,5 @@ TestData/*
 TestData/
 /internal/pkg/hot_fix/Logs/*.log
 /internal/pkg/sub_parser_hub/Logs/*.log
+/internal/logic/series_helper/Logs/*.log
+/internal/pkg/my_util/Logs/*.log

+ 1 - 1
internal/downloader.go

@@ -451,7 +451,7 @@ func (d Downloader) RestoreFixTimelineBK(moviesDir, seriesDir string) error {
 
 	defer d.log.Infoln("End Restore Fix Timeline BK")
 	d.log.Infoln("Start Restore Fix Timeline BK...")
-	err := sub_timeline_fixer_pkg.Restore(moviesDir, seriesDir)
+	_, err := sub_timeline_fixer_pkg.Restore(moviesDir, seriesDir)
 	if err != nil {
 		return err
 	}

+ 8 - 6
internal/pkg/sub_timeline_fixer/restore.go

@@ -9,15 +9,15 @@ import (
 )
 
 // Restore 从备份还原自动校正的字幕文件
-func Restore(movieDir, seriesDir string) error {
+func Restore(movieDir, seriesDir string) (int, error) {
 	// 搜索出所有的 csf-bk 文件
 	backUpSubMoviesFilePathList, err := searchBackUpSubFile(movieDir)
 	if err != nil {
-		return err
+		return 0, err
 	}
 	backUpSubSeriesFilePathList, err := searchBackUpSubFile(seriesDir)
 	if err != nil {
-		return err
+		return 0, err
 	}
 	allBkFilesPath := make([]string, len(backUpSubMoviesFilePathList)+len(backUpSubSeriesFilePathList))
 	allBkFilesPath = append(allBkFilesPath, backUpSubMoviesFilePathList...)
@@ -25,23 +25,25 @@ func Restore(movieDir, seriesDir string) error {
 	// 通过这些文件,判断当前每个 bk 下面是否有相应的文件,如果在则删除,然后再重命名 bk 文件回原来的文件名称
 	// Fargo - S04E04 - The Pretend War WEBDL-1080p.chinese(简英,shooter).default.ass.csf-bk
 	// Fargo - S04E04 - The Pretend War WEBDL-1080p.chinese(简英,shooter).default.ass
+	restoreCount := 0
 	for index, oneBkFile := range allBkFilesPath {
 
 		fixedFileName := strings.ReplaceAll(oneBkFile, BackUpExt, "")
 		if my_util.IsFile(fixedFileName) == true {
 			err = os.Remove(fixedFileName)
 			if err != nil {
-				return err
+				return 0, err
 			}
 			err = os.Rename(oneBkFile, fixedFileName)
 			if err != nil {
-				return err
+				return 0, err
 			}
+			restoreCount++
 			log_helper.GetLogger().Infoln("Restore", index, fixedFileName)
 		}
 	}
 
-	return nil
+	return restoreCount, nil
 }
 
 func searchBackUpSubFile(dir string) ([]string, error) {

+ 14 - 4
internal/pkg/sub_timeline_fixer/restore_test.go

@@ -1,23 +1,33 @@
 package sub_timeline_fixer
 
 import (
+	"github.com/allanpk716/ChineseSubFinder/internal/pkg/unit_test_helper"
+	"path/filepath"
 	"testing"
 )
 
 func Test_searchBackUpSubFile(t *testing.T) {
 
-	dir := "X:\\连续剧"
-	files, err := searchBackUpSubFile(dir)
+	files, err := searchBackUpSubFile(unit_test_helper.GetTestDataResourceRootPath([]string{"sub_timeline_fixer", "org", "movies"}, 4, false))
 	if err != nil {
 		t.Fatal(err)
 	}
-	println(len(files))
+	if len(files) != 3 {
+		t.Fatal("backup files != 3")
+	}
 }
 
 func TestRestore(t *testing.T) {
 
-	err := Restore("X:\\电影", "X:\\连续剧")
+	rootDir := unit_test_helper.GetTestDataResourceRootPath([]string{"sub_timeline_fixer"}, 4, true)
+	movieDir := filepath.Join(rootDir, "movies")
+	seriesDir := filepath.Join(rootDir, "series")
+	count, err := Restore(movieDir, seriesDir)
 	if err != nil {
 		t.Fatal(err)
 	}
+
+	if count != 4 {
+		t.Fatal("Restore files != 4")
+	}
 }