mirror of
https://github.com/wavetermdev/xterm.js.git
synced 2026-08-05 13:43:48 -07:00
Add a test which fails without the change
This commit is contained in:
+1
-1
@@ -125,7 +125,7 @@ const xtermjsTheme = {
|
||||
foreground: '#F8F8F8',
|
||||
background: '#2D2E2C',
|
||||
selectionBackground: '#5DA5D533',
|
||||
selectionInactiveBackground: '#444444',
|
||||
selectionInactiveBackground: '#555555AA',
|
||||
black: '#1E1E1D',
|
||||
brightBlack: '#262625',
|
||||
red: '#CE5C5C',
|
||||
|
||||
@@ -960,6 +960,32 @@ export function injectSharedRendererTests(ctx: ISharedRendererTestContext): void
|
||||
});
|
||||
});
|
||||
|
||||
(ctx.skipCanvasExceptions ? test.describe.skip : test.describe)('selectionInactiveBackground', async () => {
|
||||
test.only('should render the the inactive selection when not focused', async () => {
|
||||
const theme: ITheme = {
|
||||
selectionBackground: '#FF000080',
|
||||
selectionInactiveBackground: '#0000FF80'
|
||||
};
|
||||
await ctx.value.page.evaluate(`window.term.options.theme = ${JSON.stringify(theme)};`);
|
||||
await ctx.value.proxy.focus();
|
||||
// Check both the cursor line and another line
|
||||
await ctx.value.proxy.writeln('_');
|
||||
await ctx.value.proxy.write('_');
|
||||
await ctx.value.page.evaluate(`window.term.selectAll()`);
|
||||
await pollFor(ctx.value.page, () => getCellColor(ctx.value, 1, 1), [128, 0, 0, 255]);
|
||||
await pollFor(ctx.value.page, () => getCellColor(ctx.value, 2, 1), [128, 0, 0, 255]);
|
||||
await pollFor(ctx.value.page, () => getCellColor(ctx.value, 1, 2), [128, 0, 0, 255]);
|
||||
await pollFor(ctx.value.page, () => getCellColor(ctx.value, 2, 2), [128, 0, 0, 255]);
|
||||
await ctx.value.page.evaluate(`document.activeElement.blur()`);
|
||||
frameDetails = undefined;
|
||||
// Selection only cell needs to be first to ensure renderer has kicked in
|
||||
await pollFor(ctx.value.page, () => getCellColor(ctx.value, 1, 1), [0, 0, 128, 255]);
|
||||
await pollFor(ctx.value.page, () => getCellColor(ctx.value, 2, 1), [0, 0, 128, 255]);
|
||||
await pollFor(ctx.value.page, () => getCellColor(ctx.value, 1, 2), [0, 0, 128, 255]);
|
||||
await pollFor(ctx.value.page, () => getCellColor(ctx.value, 2, 2), [0, 0, 128, 255]);
|
||||
});
|
||||
});
|
||||
|
||||
test.describe('allowTransparency', async () => {
|
||||
test.beforeEach(() => ctx.value.page.evaluate(`term.options.allowTransparency = true`));
|
||||
|
||||
|
||||
@@ -400,8 +400,8 @@ export async function pollFor<T>(page: playwright.Page, evalOrFn: string | (() =
|
||||
deepStrictEqual(result, val, ([
|
||||
`pollFor max duration exceeded.`,
|
||||
(`Last comparison: ` +
|
||||
`${typeof result === 'object' ? JSON.stringify(result) : result} !== ` +
|
||||
`${typeof val === 'object' ? JSON.stringify(val) : val}`),
|
||||
`${typeof result === 'object' ? JSON.stringify(result) : result} (actual) !== ` +
|
||||
`${typeof val === 'object' ? JSON.stringify(val) : val} (expected)`),
|
||||
`Stack: ${stack}`
|
||||
].join('\n')));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user