mirror of
https://github.com/C4illin/ConvertX.git
synced 2026-03-02 22:47:01 +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",
|
||||
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) {
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
Reference in New Issue
Block a user