diff --git a/web/src/pages/Svod2Page/svod2Virtualizer.test.js b/web/src/pages/Svod2Page/svod2Virtualizer.test.js new file mode 100644 index 0000000..83c9691 --- /dev/null +++ b/web/src/pages/Svod2Page/svod2Virtualizer.test.js @@ -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); +});