mirror of
https://github.com/C4illin/ConvertX.git
synced 2026-03-03 02:37:02 +00:00
* Fix to issue #425 * Fix to Fix error in previous fix, and adapt tests * Fix to Fix error in previous fix, and adapt tests plus prettier * Update tests/converters/libreoffice.test.ts Thanks Co-authored-by: Emrik Östling <emrik.ostling@gmail.com> * Update src/converters/libreoffice.ts Thanks Co-authored-by: Emrik Östling <emrik.ostling@gmail.com> * Update src/converters/libreoffice.ts Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com> --------- Co-authored-by: Emrik Östling <emrik.ostling@gmail.com> Co-authored-by: cubic-dev-ai[bot] <191113872+cubic-dev-ai[bot]@users.noreply.github.com>
This commit is contained in:
@@ -102,7 +102,7 @@ const filters: Record<FileCategories, Record<string, string>> = {
|
|||||||
odt: "writer8",
|
odt: "writer8",
|
||||||
ott: "writer8_template",
|
ott: "writer8_template",
|
||||||
pages: "Apple Pages",
|
pages: "Apple Pages",
|
||||||
// pdf: "writer_pdf_import",
|
pdf: "writer_pdf_import",
|
||||||
psw: "PocketWord File",
|
psw: "PocketWord File",
|
||||||
rtf: "Rich Text Format",
|
rtf: "Rich Text Format",
|
||||||
sdw: "StarOffice_Writer",
|
sdw: "StarOffice_Writer",
|
||||||
@@ -124,7 +124,9 @@ const filters: Record<FileCategories, Record<string, string>> = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const getFilters = (fileType: string, converto: 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]];
|
return [filters.text[fileType], filters.text[converto]];
|
||||||
} else if (fileType in filters.calc && converto in filters.calc) {
|
} else if (fileType in filters.calc && converto in filters.calc) {
|
||||||
return [filters.calc[fileType], filters.calc[converto]];
|
return [filters.calc[fileType], filters.calc[converto]];
|
||||||
@@ -148,7 +150,7 @@ export function convert(
|
|||||||
const [inFilter, outFilter] = getFilters(fileType, convertTo);
|
const [inFilter, outFilter] = getFilters(fileType, convertTo);
|
||||||
|
|
||||||
if (inFilter) {
|
if (inFilter) {
|
||||||
args.push(`--infilter="${inFilter}"`);
|
args.push(`--infilter=${inFilter}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (outFilter) {
|
if (outFilter) {
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ test("invokes soffice with --headless and outdir derived from targetPath", async
|
|||||||
expect(cmd).toBe("soffice");
|
expect(cmd).toBe("soffice");
|
||||||
expect(args).toEqual([
|
expect(args).toEqual([
|
||||||
"--headless",
|
"--headless",
|
||||||
`--infilter="MS Word 2007 XML"`,
|
"--infilter=MS Word 2007 XML",
|
||||||
"--convert-to",
|
"--convert-to",
|
||||||
"odt:writer8",
|
"odt:writer8",
|
||||||
"--outdir",
|
"--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");
|
const { args } = requireDefined(calls[0], "Expected at least one execFile call");
|
||||||
|
|
||||||
expect(args).not.toContainEqual(expect.stringMatching(/^--infilter=/));
|
expect(args).toEqual([
|
||||||
expect(args).toEqual(["--headless", "--convert-to", "txt", "--outdir", "out", "in.pdf"]);
|
"--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 () => {
|
test("uses only infilter when convertTo has no out filter (e.g., docx -> pdf)", async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user