wayBetter for X

This commit is contained in:
CRTkafa 2026-10-01 06:01:13 +07:00
commit 2f1e35ba20
720 changed files with 147465 additions and 0 deletions

View file

@ -0,0 +1,52 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import { cssRgb, paneVisibility, raiseSupported } from '../src/shell/paneModel.ts';
test('a shell overlay never parks a pane (no drop to low memory)', () => {
for (const raiseSupported of [true, false]) {
for (const overlay of [0, 1, 3]) {
assert.equal(paneVisibility({ shown: true, overlay, raiseSupported }).parked, false);
}
}
});
test('where the shell can rise above the tabs, an overlay never hides a shown pane', () => {
for (const overlay of [0, 1, 5]) {
assert.deepEqual(paneVisibility({ shown: true, overlay, raiseSupported: true }), { visible: true, parked: false });
}
});
test('where it cannot, an overlay hides shown panes so the shell draws above them', () => {
assert.deepEqual(paneVisibility({ shown: true, overlay: 1, raiseSupported: false }), { visible: false, parked: false });
assert.deepEqual(paneVisibility({ shown: true, overlay: 0, raiseSupported: false }), { visible: true, parked: false });
});
test('a pane that is not shown is hidden and parked either way', () => {
for (const raiseSupported of [true, false]) {
assert.deepEqual(paneVisibility({ shown: false, overlay: 0, raiseSupported }), { visible: false, parked: true });
assert.deepEqual(paneVisibility({ shown: false, overlay: 2, raiseSupported }), { visible: false, parked: true });
}
});
test('raising is used only when the native probe says yes and the developer switch is off', () => {
assert.equal(raiseSupported(true, false), true);
assert.equal(raiseSupported(true, true), false);
for (const probe of [false, undefined, null, 'true', 1]) assert.equal(raiseSupported(probe, false), false);
// With the switch on, an overlay hides shown panes again (the "before" behaviour).
assert.deepEqual(paneVisibility({ shown: true, overlay: 1, raiseSupported: raiseSupported(true, true) }), { visible: false, parked: false });
});
test('overlays opening and closing never change what a raised shell shows or parks', () => {
const seen = [0, 1, 2, 1, 0].map(overlay => paneVisibility({ shown: true, overlay, raiseSupported: true }));
assert.ok(seen.every(state => state.visible && !state.parked));
});
test('the window ground is read from computed colors', () => {
assert.deepEqual(cssRgb('rgb(7, 8, 12)'), [7, 8, 12]);
assert.deepEqual(cssRgb('rgba(250, 249, 246, 0.9)'), [250, 249, 246]);
assert.deepEqual(cssRgb(' rgb(12 34 56 / 1) '), [12, 34, 56]);
assert.equal(cssRgb('rgba(0, 0, 0, 0)'), null);
assert.equal(cssRgb('transparent'), null);
assert.equal(cssRgb('#07080c'), null);
assert.equal(cssRgb('rgb(a, b, c)'), null);
});