mirror of
https://github.com/ggml-org/llama.cpp.git
synced 2026-08-31 01:21:23 +02:00
33 lines
1.1 KiB
TypeScript
33 lines
1.1 KiB
TypeScript
// Regression test: opening a chat-form picker must not scroll the
|
|
// conversation to the top. Root cause: the list's scroll effect fired
|
|
// scrollIntoView on the initial mount, before the popover was positioned,
|
|
// so the browser scrolled every scrollable ancestor to reveal the row.
|
|
|
|
import PickerListScrollHarness from './components/PickerListScrollHarness.svelte';
|
|
import { tick } from 'svelte';
|
|
import { describe, expect, it } from 'vitest';
|
|
import { render } from 'vitest-browser-svelte';
|
|
|
|
describe('ChatFormPickerList mount scroll', () => {
|
|
it('does not scroll documentElement when the picker mounts', async () => {
|
|
const screen = render(PickerListScrollHarness);
|
|
|
|
await tick();
|
|
|
|
document.documentElement.scrollTop = document.documentElement.scrollHeight;
|
|
await tick();
|
|
const before = document.documentElement.scrollTop;
|
|
|
|
expect(before).toBeGreaterThan(0);
|
|
|
|
screen.component.openPicker();
|
|
await tick();
|
|
await new Promise((r) => setTimeout(r, 100));
|
|
await tick();
|
|
|
|
const after = document.documentElement.scrollTop;
|
|
|
|
expect(after).toBe(before);
|
|
});
|
|
});
|