Merge branch 'main' into hwa

This commit is contained in:
Webysther Sperandio 2026-01-29 18:41:53 +01:00 committed by GitHub
commit 2a2d0e387e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 15 additions and 6 deletions

View file

@ -102,7 +102,7 @@ const filters: Record<FileCategories, Record<string, string>> = {
odt: "writer8",
ott: "writer8_template",
pages: "Apple Pages",
// pdf: "writer_pdf_import",
pdf: "writer_pdf_import",
psw: "PocketWord File",
rtf: "Rich Text Format",
sdw: "StarOffice_Writer",
@ -124,7 +124,9 @@ const filters: Record<FileCategories, Record<string, string>> = {
};
const getFilters = (fileType: string, converto: string) => {
if (fileType in filters.text && converto in filters.text) {
if (converto === "pdf") {
return [null, null];
} else if (fileType in filters.text && converto in filters.text) {
return [filters.text[fileType], filters.text[converto]];
} else if (fileType in filters.calc && converto in filters.calc) {
return [filters.calc[fileType], filters.calc[converto]];
@ -148,7 +150,7 @@ export function convert(
const [inFilter, outFilter] = getFilters(fileType, convertTo);
if (inFilter) {
args.push(`--infilter="${inFilter}"`);
args.push(`--infilter=${inFilter}`);
}
if (outFilter) {

View file

@ -63,7 +63,7 @@ test("invokes soffice with --headless and outdir derived from targetPath", async
expect(cmd).toBe("soffice");
expect(args).toEqual([
"--headless",
`--infilter="MS Word 2007 XML"`,
"--infilter=MS Word 2007 XML",
"--convert-to",
"odt:writer8",
"--outdir",
@ -77,8 +77,15 @@ test("uses only outFilter when input has no filter (e.g., pdf -> txt)", async ()
const { args } = requireDefined(calls[0], "Expected at least one execFile call");
expect(args).not.toContainEqual(expect.stringMatching(/^--infilter=/));
expect(args).toEqual(["--headless", "--convert-to", "txt", "--outdir", "out", "in.pdf"]);
expect(args).toEqual([
"--headless",
"--infilter=writer_pdf_import",
"--convert-to",
"txt:Text",
"--outdir",
"out",
"in.pdf",
]);
});
test("uses only infilter when convertTo has no out filter (e.g., docx -> pdf)", async () => {