Improve rename and extractor diagnostics
This commit is contained in:
@@ -744,4 +744,22 @@ describe("buildAutoRenameBaseNameFromFolders", () => {
|
||||
);
|
||||
expect(result).toBe("A.Million.Little.Things.S03E10.GERMAN.DL.720p.WEB.H264-4SF");
|
||||
});
|
||||
|
||||
it("renames abbreviated source jkl.web.7p-s01e13 via season folder", () => {
|
||||
const result = buildAutoRenameBaseNameFromFoldersWithOptions(
|
||||
["9JKL.S01.GERMAN.720p.WEB.x264-WvF"],
|
||||
"jkl.web.7p-s01e13",
|
||||
{ forceEpisodeForSeasonFolder: true }
|
||||
);
|
||||
expect(result).toBe("9JKL.S01E13.GERMAN.720p.WEB.x264-WvF");
|
||||
});
|
||||
|
||||
it("renames abbreviated source jkl.web.7p-s01e14 via season folder", () => {
|
||||
const result = buildAutoRenameBaseNameFromFoldersWithOptions(
|
||||
["9JKL.S01.GERMAN.720p.WEB.x264-WvF"],
|
||||
"jkl.web.7p-s01e14",
|
||||
{ forceEpisodeForSeasonFolder: true }
|
||||
);
|
||||
expect(result).toBe("9JKL.S01E14.GERMAN.720p.WEB.x264-WvF");
|
||||
});
|
||||
});
|
||||
|
||||
@@ -5,6 +5,7 @@ import AdmZip from "adm-zip";
|
||||
import { afterEach, beforeEach, describe, expect, it } from "vitest";
|
||||
import {
|
||||
buildExternalExtractArgs,
|
||||
cleanErrorText,
|
||||
collectArchiveCleanupTargets,
|
||||
extractPackageArchives,
|
||||
type ExtractArchiveFailureInfo,
|
||||
@@ -1038,6 +1039,13 @@ describe("extractor", () => {
|
||||
it("returns unknown for unrecognized errors", () => {
|
||||
expect(classifyExtractionError("something weird happened")).toBe("unknown");
|
||||
});
|
||||
|
||||
it("keeps important tail markers when long extractor output is trimmed", () => {
|
||||
const noisy = `Extracting from archive.rar ${"x".repeat(700)} Unexpected end of archive`;
|
||||
const cleaned = cleanErrorText(noisy);
|
||||
expect(cleaned).toContain("Unexpected end of archive");
|
||||
expect(classifyExtractionError(cleaned)).toBe("missing_parts");
|
||||
});
|
||||
});
|
||||
|
||||
describe("password discovery", () => {
|
||||
|
||||
Reference in New Issue
Block a user