test(web): свод 2 — окно строк через отступы виртуализатора

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Andrey Epifancev 2026-10-28 22:17:21 +04:00
parent 782a04381b
commit 2421f7ddd5

View File

@ -0,0 +1,24 @@
import assert from 'node:assert/strict';
import test from 'node:test';
import { Virtualizer } from '@tanstack/virtual-core';
test('paddingStart/paddingEnd ставят глобальную строку i на i*rowH, общий размер = total*rowH', () => {
const rowH = 37;
const total = 5563;
const windowStart = 300;
const windowEnd = 1200;
const v = new Virtualizer({
count: windowEnd - windowStart,
getScrollElement: () => null,
estimateSize: () => rowH,
paddingStart: windowStart * rowH,
paddingEnd: (total - windowEnd) * rowH,
scrollToFn: () => undefined,
observeElementRect: () => undefined,
observeElementOffset: () => undefined,
});
const m = v.getMeasurements();
assert.equal(m[0].start, windowStart * rowH);
assert.equal(m.at(-1).end, windowEnd * rowH);
assert.equal(v.getTotalSize(), total * rowH);
});