From 61c9400673df4fdbc92114d088b5c1c9b6f6e99d Mon Sep 17 00:00:00 2001 From: clarencepalmer Date: Wed, 20 Aug 2025 00:20:16 -0700 Subject: [PATCH 1/2] fix(line-break): make gdocs compatible line breaks --- .../src/core/super-converter/exporter.js | 8 +++- .../super-editor/src/tests/data/test.docx | Bin 0 -> 14342 bytes .../tests/export/lineBreakExporter.test.js | 41 ++++++++++++++++++ 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 packages/super-editor/src/tests/data/test.docx create mode 100644 packages/super-editor/src/tests/export/lineBreakExporter.test.js diff --git a/packages/super-editor/src/core/super-converter/exporter.js b/packages/super-editor/src/core/super-converter/exporter.js index 56920b9b97..6a03349004 100644 --- a/packages/super-editor/src/core/super-converter/exporter.js +++ b/packages/super-editor/src/core/super-converter/exporter.js @@ -945,7 +945,13 @@ function translateLineBreak(params) { } return { - name: 'w:br', + name: 'w:r', + elements: [ + { + name: 'w:br', + attributes, + }, + ], attributes, }; } diff --git a/packages/super-editor/src/tests/data/test.docx b/packages/super-editor/src/tests/data/test.docx new file mode 100644 index 0000000000000000000000000000000000000000..c0139688821d15b26139dedc94e4cb161b5a1b60 GIT binary patch literal 14342 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 literal 0 HcmV?d00001 diff --git a/packages/super-editor/src/tests/export/lineBreakExporter.test.js b/packages/super-editor/src/tests/export/lineBreakExporter.test.js new file mode 100644 index 0000000000..40523484f3 --- /dev/null +++ b/packages/super-editor/src/tests/export/lineBreakExporter.test.js @@ -0,0 +1,41 @@ +import { getExportedResult } from './export-helpers/index'; + +describe('LineBreakExporter', () => { + let result; + let body; + + beforeAll(async () => { + result = await getExportedResult('line-break.docx'); + }); + + beforeEach(() => { + body = result.elements?.find((el) => el.name === 'w:body'); + }); + + it('exports lineBreak nodes wrapped in w:r (run) elements', () => { + // Grab the first paragraph that contains line breaks + const paragraphWithLineBreaks = body.elements?.find( + (el) => + el.name === 'w:p' && + el.elements?.some((run) => run.name === 'w:r' && run.elements?.some((element) => element.name === 'w:br')), + ); + + expect(paragraphWithLineBreaks).toBeDefined(); + expect(paragraphWithLineBreaks.name).toBe('w:p'); + + const runs = paragraphWithLineBreaks.elements?.filter((el) => el.name === 'w:r') || []; + expect(runs.length).toBeGreaterThan(0); + + const runsWithLineBreaks = runs.filter((run) => run.elements?.some((element) => element.name === 'w:br')); + + expect(runsWithLineBreaks.length).toBeGreaterThan(0); + + // Verify the structure: w:r -> w:br + runsWithLineBreaks.forEach((run) => { + expect(run.name).toBe('w:r'); + const lineBreak = run.elements?.find((element) => element.name === 'w:br'); + expect(lineBreak).toBeDefined(); + expect(lineBreak.name).toBe('w:br'); + }); + }); +}); From d683f34da314ff5c60df95cef32066d87d8e0fb9 Mon Sep 17 00:00:00 2001 From: clarencepalmer Date: Wed, 20 Aug 2025 00:31:10 -0700 Subject: [PATCH 2/2] chore: push rename file --- .../src/tests/data/{test.docx => line-break.docx} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename packages/super-editor/src/tests/data/{test.docx => line-break.docx} (100%) diff --git a/packages/super-editor/src/tests/data/test.docx b/packages/super-editor/src/tests/data/line-break.docx similarity index 100% rename from packages/super-editor/src/tests/data/test.docx rename to packages/super-editor/src/tests/data/line-break.docx