unarchiveFile_test.go 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package archive_helper
  2. import (
  3. "github.com/allanpk716/ChineseSubFinder/internal/pkg/my_util"
  4. "path/filepath"
  5. "strings"
  6. "testing"
  7. )
  8. func TestUnArchiveFile(t *testing.T) {
  9. testDataPath := "../../../TestData/zips"
  10. testRootDir, err := my_util.CopyTestData(testDataPath)
  11. if err != nil {
  12. t.Fatal(err)
  13. }
  14. tetUnArchive(t, testRootDir, "zip.zip")
  15. tetUnArchive(t, testRootDir, "tar.tar")
  16. tetUnArchive(t, testRootDir, "rar.rar")
  17. tetUnArchive(t, testRootDir, "7z.7z")
  18. }
  19. func tetUnArchive(t *testing.T, testRootDir string, missionName string) {
  20. fileFPath := filepath.Join(testRootDir, missionName)
  21. desPath := filepath.Join(testRootDir, strings.ReplaceAll(filepath.Ext(missionName), ".", ""))
  22. err := UnArchiveFile(fileFPath, desPath)
  23. if err != nil {
  24. t.Fatal(err)
  25. }
  26. if my_util.IsFile(filepath.Join(desPath, subASS)) == false {
  27. t.Fatal(missionName, " unArchive failed")
  28. }
  29. if my_util.IsFile(filepath.Join(desPath, subSRT)) == false {
  30. t.Fatal(missionName, " unArchive failed")
  31. }
  32. }
  33. const subASS = "oslo.2021.1080p.web.h264-naisu.繁体&英文.ass"
  34. const subSRT = "oslo.2021.1080p.web.h264-naisu.繁体&英文.srt"