diff --git a/packages/diff-view/src/parts/RenderCss/RenderCss.ts b/packages/diff-view/src/parts/RenderCss/RenderCss.ts index e51fba7..7b65c55 100644 --- a/packages/diff-view/src/parts/RenderCss/RenderCss.ts +++ b/packages/diff-view/src/parts/RenderCss/RenderCss.ts @@ -220,6 +220,7 @@ export const renderCss = (oldState: DiffViewState, newState: DiffViewState): any .DiffEditorContentRight { align-items: stretch; display: flex; + flex: none !important; min-height: 0; min-width: 0; overflow: hidden; @@ -509,9 +510,6 @@ ${getEmptyLineNumberCss(newState.visibleLinesLeft, newState.visibleLinesRight, i } -.DiffEditorContent { - flex: unset !important -} ` return [ViewletCommand.SetCss, id, css] } diff --git a/packages/diff-view/test/RenderCss.test.ts b/packages/diff-view/test/RenderCss.test.ts index 6e851b3..9f42384 100644 --- a/packages/diff-view/test/RenderCss.test.ts +++ b/packages/diff-view/test/RenderCss.test.ts @@ -60,8 +60,9 @@ test('renderCss renders left and right widths as css variables', (): void => { expect(result[2]).toContain('.DiffEditorContentLeft {') expect(result[2]).toContain('.DiffEditorContentRight {') expect(result[2]).toContain( - '.DiffEditorContentLeft,\n.DiffEditorContentRight {\n align-items: stretch;\n display: flex;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n}', + '.DiffEditorContentLeft,\n.DiffEditorContentRight {\n align-items: stretch;\n display: flex;\n flex: none !important;\n min-height: 0;\n min-width: 0;\n overflow: hidden;\n position: relative;\n}', ) + expect(result[2]).not.toContain('.DiffEditorContent {\n flex: unset !important') expect(result[2]).toContain('user-select: text;') expect(result[2]).toContain( '.DiffEditorRows {\n background: var(--DiffBackground);\n contain: layout paint style;\n cursor: text;\n flex: 1 1 auto;\n font-family: var(--DiffFontFamily, monospace);\n height: 100%;\n min-width: 0;\n overflow: hidden;\n}', diff --git a/packages/e2e/src/diff.pane-flex-sizing.ts b/packages/e2e/src/diff.pane-flex-sizing.ts new file mode 100644 index 0000000..8e182af --- /dev/null +++ b/packages/e2e/src/diff.pane-flex-sizing.ts @@ -0,0 +1,19 @@ +import type { Test } from '@lvce-editor/test-with-playwright' + +export const name = 'diff.pane-flex-sizing' + +export const test: Test = async ({ DiffView, expect, FileSystem, Locator, Workspace }) => { + const tmpDir = await FileSystem.getTmpDir() + await FileSystem.writeFile(`${tmpDir}/before.txt`, 'before') + await FileSystem.writeFile(`${tmpDir}/after.txt`, 'after') + await Workspace.setPath(tmpDir) + + await DiffView.open(`${tmpDir}/before.txt`, `${tmpDir}/after.txt`) + + const leftPane = Locator('.DiffEditorContentLeft') + const rightPane = Locator('.DiffEditorContentRight') + await expect(leftPane).toHaveCSS('flex-grow', '0') + await expect(leftPane).toHaveCSS('flex-shrink', '0') + await expect(rightPane).toHaveCSS('flex-grow', '0') + await expect(rightPane).toHaveCSS('flex-shrink', '0') +}