diff --git a/src/components/file-preview/MonacoDiffViewer.tsx b/src/components/file-preview/MonacoDiffViewer.tsx
index 5436fbe..5101258 100644
--- a/src/components/file-preview/MonacoDiffViewer.tsx
+++ b/src/components/file-preview/MonacoDiffViewer.tsx
@@ -7,6 +7,7 @@ import { useMemo } from 'react';
import { DiffEditor, languageForPath } from '@/lib/monaco/loader';
import { useSettingsStore } from '@/stores/settings';
import { LoadingSpinner } from '@/components/common/LoadingSpinner';
+import { cn } from '@/lib/utils';
export interface MonacoDiffViewerProps {
filePath: string;
@@ -45,7 +46,10 @@ export default function MonacoDiffViewer({
const left = original ?? '';
return (
-
+
{
}
await expect(page.getByTestId('main-layout')).toBeVisible();
+ await page.evaluate(() => {
+ const root = document.documentElement;
+ root.classList.remove('dark');
+ root.classList.add('light');
+ });
await expect(page.getByRole('button', { name: '工作空间' })).toHaveCount(0);
await expect(page.getByText('查看文件变更')).toHaveCount(0);
@@ -108,6 +113,19 @@ test.describe('ClawX chat file changes', () => {
await fileCard.click();
await expect(page.locator('aside').getByRole('button', { name: '工作空间' })).toHaveCount(0);
await expect(fileCard).toContainText('demo.ts');
+
+ const diffBackground = page.getByTestId('monaco-diff-viewer').locator('.monaco-editor-background').first();
+ await expect(diffBackground).toBeVisible({ timeout: 30_000 });
+
+ const colors = await diffBackground.evaluate((element) => {
+ return {
+ diffBackground: window.getComputedStyle(element).backgroundColor,
+ appBackground: window.getComputedStyle(document.body).backgroundColor,
+ };
+ });
+
+ expect(colors.diffBackground).toBe(colors.appBackground);
+ expect(colors.diffBackground).not.toBe('rgb(255, 255, 255)');
} finally {
await closeElectronApp(app);
}