test(docs): прокручивать настоящий скроллер превью (#600)

После #600 единственный скроллер диалога находится в shadow-root .content.
Съёмка продолжала менять scrollTop у старой .body, поэтому обычный кадр
устройства и кадр Display preview получались побайтово одинаковыми.

Тест фиксирует владельца скролла и запрещает возврат к неработающей .body.

Issue: #600
User-Visible: no
This commit is contained in:
Claude
2026-09-20 13:51:05 +03:00
parent ed2af1b122
commit 286c26d18b
2 changed files with 16 additions and 6 deletions
+10
View File
@@ -36,3 +36,13 @@ test('съёмка берёт набор из этого модуля, а не
assert.doesNotMatch(source, /const DETERMINISTIC_ARGS\s*=/,
'собственное объявление в capture.mjs разошлось бы с проверяемым набором');
});
test('#600 кадр превью крутит единственный скроллер hp-dialog', () => {
const source = readFileSync(new URL('../demo/docs/capture.mjs', import.meta.url), 'utf8');
const block = source.match(/if \(current\.devicePresentationPreview\) \{([\s\S]*?)\n \}/)?.[1] || '';
assert.match(block, /dialog\?\.renderRoot\?\.querySelector\('\.content'\)/,
'после #600 скроллом владеет .content в shadow root оболочки');
assert.match(block, /scroller\.scrollTop\s*\+=/);
assert.doesNotMatch(block, /querySelector\('\.body'\)/,
'.body больше не скроллер: такая съёмка даёт два одинаковых кадра');
});