Fix remaining UI state and shutdown edge cases
Keep the loaded cutter layout stable across supported window sizes, preserve recovered encoder choices during capability discovery, and reject unsupported video selections without changing the active project. Honor the Windows system theme, fully localize runtime metrics, invalidate imported System Check state safely, and bound child-process shutdown waits when close events never arrive. Extend focused and Electron smoke coverage and prepare the v1.0.17 public release metadata.
This commit is contained in:
@@ -6,14 +6,23 @@ const styles = readFileSync(join(__dirname, 'styles.css'), 'utf8');
|
||||
const workspaceStyles = readFileSync(join(__dirname, 'workspace.css'), 'utf8');
|
||||
|
||||
describe('cutter workspace style production paths', () => {
|
||||
test('hides the source bar when the non-adjacent workspace is shown', () => {
|
||||
expect(styles).toContain('.cutter-source-bar:has(~ .cutter-workspace.shown)');
|
||||
test('keeps loaded-source visibility independent from the large-window media query', () => {
|
||||
const selector = '#cutterTab .cutter-source-bar:has(~ .cutter-workspace.shown)';
|
||||
const selectorIndex = styles.indexOf(selector);
|
||||
const mediaStart = styles.indexOf('@media (min-width: 1181px) and (min-height: 680px)');
|
||||
const nextTopLevelRule = styles.indexOf('\n.cutter-source-bar {', mediaStart);
|
||||
expect(selectorIndex).toBeGreaterThan(-1);
|
||||
expect(selectorIndex < mediaStart || selectorIndex > nextTopLevelRule).toBe(true);
|
||||
});
|
||||
|
||||
test('keeps the export profile indicator from tiling after workspace background styling', () => {
|
||||
test('keeps one reserved non-repeating indicator on every cutter export select', () => {
|
||||
const selector = '#cutterTab .cutter-export-options select {';
|
||||
const start = workspaceStyles.indexOf(selector);
|
||||
const end = workspaceStyles.indexOf('}', start);
|
||||
expect(workspaceStyles.slice(start, end)).toMatch(/background-repeat:\s*no-repeat/);
|
||||
const rule = workspaceStyles.slice(start, end);
|
||||
expect(rule.match(/background-image:/g)).toHaveLength(1);
|
||||
expect(rule).toMatch(/appearance:\s*none/);
|
||||
expect(rule).toMatch(/padding-right:\s*28px/);
|
||||
expect(rule).toMatch(/background-repeat:\s*no-repeat/);
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user