session-timeline-visual-tracking.test.ts 703 B

12345678910111213141516
  1. import { expect, test } from "bun:test"
  2. import { layoutShiftValue, removeVisibleRow } from "../timeline/session-timeline-stream-probe"
  3. test("excludes layout shifts before the probe window and recent input", () => {
  4. expect(layoutShiftValue({ startTime: 9, value: 0.1 }, 10)).toBeUndefined()
  5. expect(layoutShiftValue({ startTime: 10, value: 0.2, hadRecentInput: true }, 10)).toBeUndefined()
  6. expect(layoutShiftValue({ startTime: 11, value: 0.3 }, 10)).toBe(0.3)
  7. })
  8. test("classifies removed rows from their last painted visibility", () => {
  9. const row = {}
  10. const visible = new Set([row])
  11. expect(removeVisibleRow(visible, row)).toBe(true)
  12. expect(removeVisibleRow(visible, row)).toBe(false)
  13. })