import { describe, expect, it } from "vite-plus/test"; import { sectionCollapseAnchorScrollTop } from "./pullRequestSummaryScroll.logic"; describe("section collapse scroll anchoring", () => { it("returns the section's natural offset when its heading is pinned", () => { expect( sectionCollapseAnchorScrollTop({ scrollTop: 600, viewportTop: 264, sectionTop: -200, headingTop: 264, }), ).toBe(136); }); it("allows a fractional sticky-edge difference", () => { expect( sectionCollapseAnchorScrollTop({ scrollTop: 500, viewportTop: 264, sectionTop: 100, headingTop: 264.5, }), ).toBe(336); }); it("leaves the scroll position alone before the heading becomes sticky", () => { expect( sectionCollapseAnchorScrollTop({ scrollTop: 120, viewportTop: 264, sectionTop: 320, headingTop: 320, }), ).toBeNull(); }); it("does not produce a negative scroll offset", () => { expect( sectionCollapseAnchorScrollTop({ scrollTop: 20, viewportTop: 264, sectionTop: 200, headingTop: 264, }), ).toBe(0); });});
import { describe, expect, it } from "vite-plus/test";
import { sectionCollapseAnchorScrollTop } from "./pullRequestSummaryScroll.logic";
describe("section collapse scroll anchoring", () => {
it("returns the section's natural offset when its heading is pinned", () => {
expect(
sectionCollapseAnchorScrollTop({
scrollTop: 600,
viewportTop: 264,
sectionTop: -200,
headingTop: 264,
}),
).toBe(136);
});
it("allows a fractional sticky-edge difference", () => {
expect(
sectionCollapseAnchorScrollTop({
scrollTop: 500,
viewportTop: 264,
sectionTop: 100,
headingTop: 264.5,
}),
).toBe(336);
});
it("leaves the scroll position alone before the heading becomes sticky", () => {
expect(
sectionCollapseAnchorScrollTop({
scrollTop: 120,
viewportTop: 264,
sectionTop: 320,
headingTop: 320,
}),
).toBeNull();
});
it("does not produce a negative scroll offset", () => {
expect(
sectionCollapseAnchorScrollTop({
scrollTop: 20,
viewportTop: 264,
sectionTop: 200,
headingTop: 264,
}),
).toBe(0);
});
});