mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
committed by
claude[bot]
parent
a55ba3de8b
commit
a75c729d87
@@ -48,3 +48,18 @@ test('the shared component keeps its API and contains no nested native color pic
|
||||
assert.equal((card.match(/<hp-color-opacity/g) || []).length, 8);
|
||||
assert.equal((card.match(/\.pickerLabels=\$\{this\._colorPickerLabels\}/g) || []).length, 8);
|
||||
});
|
||||
|
||||
test('the hue range exposes one cyclic spectrum without restyling other ranges', () => {
|
||||
const component = readFileSync(new URL('../src/hp-color-opacity.ts', import.meta.url), 'utf8');
|
||||
const spectrum = component.match(/\.hue-range\s*\{[\s\S]*?\n\s*\}/)?.[0] || '';
|
||||
assert.match(spectrum, /--hp-picker-hue-track:\s*linear-gradient\(to right/);
|
||||
for (const stop of ['#f00 0%', '#ff0 16.667%', '#0f0 33.333%', '#0ff 50%',
|
||||
'#00f 66.667%', '#f0f 83.333%', '#f00 100%']) assert.ok(spectrum.includes(stop), stop);
|
||||
assert.match(component, /\.hue-range::\-webkit-slider-runnable-track\s*\{[\s\S]*?height:\s*10px;[\s\S]*?background:\s*var\(--hp-picker-hue-track\);/);
|
||||
assert.match(component, /\.hue-range::\-moz-range-track\s*\{[\s\S]*?height:\s*10px;[\s\S]*?background:\s*var\(--hp-picker-hue-track\);/);
|
||||
assert.match(component, /\.hue-range::\-moz-range-progress\s*\{[\s\S]*?background:\s*transparent;/);
|
||||
assert.match(component, /@media \(forced-colors:\s*active\)[\s\S]*?background:\s*Canvas;/);
|
||||
assert.match(component, /class="hue-range" type="range" min="0" max="359" step="1"/);
|
||||
const commonRange = component.match(/input\[type='range'\]\s*\{[\s\S]*?\n\s*\}/)?.[0] || '';
|
||||
assert.doesNotMatch(commonRange, /linear-gradient|hp-picker-hue-track/);
|
||||
});
|
||||
|
||||
@@ -209,7 +209,7 @@ test('sun-ray golden requires browser-painted light from a state-only sun entity
|
||||
assert.ok(scenario);
|
||||
const fixture = prepareGoldenFixture(scenario);
|
||||
const space = fixture.config.spaces.find((item) => item.id === scenario.space);
|
||||
assert.equal(GOLDEN_MATRIX_VERSION, 26);
|
||||
assert.equal(GOLDEN_MATRIX_VERSION, 27);
|
||||
assert.equal(space.settings.sun_rays, true);
|
||||
assert.equal(scenario.northDeg, 90,
|
||||
'the sign-sensitive golden must keep a non-zero north direction');
|
||||
@@ -227,6 +227,16 @@ test('sun-ray golden requires browser-painted light from a state-only sun entity
|
||||
assert.equal(scenario.sunRayPixels.minChannelDelta >= 4, true);
|
||||
});
|
||||
|
||||
test('the open color picker golden covers dark mobile and light desktop themes', () => {
|
||||
const scenarios = GOLDEN_SCENARIOS.filter((item) => item.dialog === 'decor-color');
|
||||
assert.deepEqual(scenarios.map(({ id, language, theme, viewport }) => ({
|
||||
id, language, theme, width: viewport.width,
|
||||
})), [
|
||||
{ id: 'decor-color-popover-mobile-ru', language: 'ru', theme: 'dark', width: 390 },
|
||||
{ id: 'decor-color-popover-desktop-en', language: 'en', theme: 'light', width: 760 },
|
||||
]);
|
||||
});
|
||||
|
||||
test('value badge golden covers four positions and bottom badge with separate LQI', () => {
|
||||
const scenario = GOLDEN_SCENARIOS.find((item) => item.id === 'device-value-badge-positions-dark');
|
||||
assert.ok(scenario);
|
||||
|
||||
Reference in New Issue
Block a user