Skip to content

Commit d1e6ae4

Browse files
committed
test: fix correct pos for browser env
1 parent 3b6f989 commit d1e6ae4

File tree

1 file changed

+13
-20
lines changed

1 file changed

+13
-20
lines changed

packages/infinitegrid/test/unit/InfiniteGrid.spec.ts

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1603,7 +1603,7 @@ describe("test InfiniteGrid", () => {
16031603
return {
16041604
groupKey: Math.floor(child / 3),
16051605
key: `key${child}`,
1606-
html: `<div style="height: 100px">${child}</div>`,
1606+
html: `<div style="height: 100px;width: 100%; ">${child}</div>`,
16071607
};
16081608
}));
16091609

@@ -1615,39 +1615,38 @@ describe("test InfiniteGrid", () => {
16151615
await waitEvent(ig!, "renderComplete");
16161616

16171617

1618-
// top 320, center는 570 5와 6 사이
1618+
// top 100, center 350
16191619
// 브라우저간의 오차로 인한 테스트가 필요
1620-
ig!.getScrollContainerElement().scrollTop = 320;
1620+
ig!.getScrollContainerElement().scrollTop = 100;
16211621

16221622
// 스크롤 이동에 따른 보이는 아이템 자동 변경: change cursor (0, 3)
16231623
await waitEvent(ig!, "renderComplete");
1624+
// 300 + 50 => 700 (offset: 350)
16241625

16251626

16261627
// When
16271628
ig!.getItems().forEach((item) => {
16281629
item.element!.style.height = "200px";
16291630
});
16301631

1631-
// 6의 300 + 300 + 50 => 300 + 600 + 100
1632-
// 350 차이
16331632
// 스크롤 위치는 변경 되지 않는다.
16341633
ig!.renderItems({ useResize: true });
16351634
await waitEvent(ig!, "renderComplete");
16361635

16371636

16381637
// Then
16391638
const correctedPos = ig!.getScrollContainerElement().scrollTop;
1640-
expect(correctedPos).to.be.equals(670);
1641-
expect(ig!.getStartCursor()).to.be.equals(1);
1642-
expect(ig!.getEndCursor()).to.be.equals(2);
1639+
expect(correctedPos).to.be.equals(450);
1640+
expect(ig!.getStartCursor()).to.be.equals(0);
1641+
expect(ig!.getEndCursor()).to.be.equals(1);
16431642
});
16441643
it(`should check if scroll position is corrected when size, pos, window size is changed (startCursor > 0)`, async () => {
16451644
// Given
16461645
ig!.syncItems([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17].map((child) => {
16471646
return {
16481647
groupKey: Math.floor(child / 3),
16491648
key: `key${child}`,
1650-
html: `<div style="height: 100px">${child}</div>`,
1649+
html: `<div style="height: 100px;width: 100%;">${child}</div>`,
16511650
};
16521651
}));
16531652

@@ -1659,27 +1658,21 @@ describe("test InfiniteGrid", () => {
16591658
await waitEvent(ig!, "renderComplete");
16601659

16611660

1662-
// 6의 300 + 300 + 50 => 300 + 600 + 100
1663-
// 350 차이
1661+
// top: 750, center 1000
16641662
ig!.getScrollContainerElement().scrollTop = 750;
16651663

16661664
// 스크롤 이동에 따른 보이는 아이템 자동 변경: change cursor (2, 4)
1667-
// 6 ~ 14 9개
1668-
// 600 ~ 1500
1669-
// 중간값: 1050
16701665
await waitEvent(ig!, "renderComplete");
16711666
const prevStartCursor = ig!.getStartCursor();
16721667
const prevEndCursor = ig!.getEndCursor();
16731668

16741669

16751670

16761671
// When
1677-
// 6 ~ 14 9개
1678-
// 600 + 0 ~ 600 + 1800
1679-
// 중간값: 1500
16801672
ig!.getItems().forEach((item) => {
16811673
item.element!.style.height = "200px";
16821674
});
1675+
// 600 + 300 + 50 => 600 + 700 (offset: 350)
16831676

16841677

16851678
// 스크롤 위치는 변경 되지 않는다.
@@ -1691,9 +1684,9 @@ describe("test InfiniteGrid", () => {
16911684
expect(prevStartCursor).to.be.equals(2);
16921685
expect(prevEndCursor).to.be.equals(4);
16931686
const correctedPos = ig!.getScrollContainerElement().scrollTop;
1694-
expect(correctedPos).to.be.equals(1200);
1695-
expect(ig!.getStartCursor()).to.be.equals(3);
1696-
expect(ig!.getEndCursor()).to.be.equals(4);
1687+
expect(correctedPos).to.be.equals(1100);
1688+
expect(ig!.getStartCursor()).to.be.equals(2);
1689+
expect(ig!.getEndCursor()).to.be.equals(3);
16971690
});
16981691
});
16991692
describe("test ResizeObserver", () => {

0 commit comments

Comments
 (0)