MCPcopy
hub / github.com/vercel/next.js / runTests

Function runTests

test/integration/scroll-forward-restoration/test/index.test.ts:18–68  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

16let app
17
18const runTests = () => {
19 it('should restore the scroll position on navigating forward', async () => {
20 const browser = await webdriver(appPort, '/another')
21 await browser.elementByCss('#to-index').click()
22
23 await check(
24 () => browser.eval(() => document.documentElement.innerHTML),
25 /the end/
26 )
27
28 await browser.eval(() =>
29 document.querySelector('#to-another').scrollIntoView()
30 )
31 const scrollRestoration = await browser.eval(
32 () => window.history.scrollRestoration
33 )
34
35 expect(scrollRestoration).toBe('manual')
36
37 const scrollX = Math.floor(await browser.eval(() => window.scrollX))
38 const scrollY = Math.floor(await browser.eval(() => window.scrollY))
39
40 expect(scrollX).not.toBe(0)
41 expect(scrollY).not.toBe(0)
42
43 await browser.eval(() => window.history.back())
44
45 await check(
46 () => browser.eval(() => document.documentElement.innerHTML),
47 /hi from another/
48 )
49
50 await browser.eval(() => ((window as any).didHydrate = false))
51 await browser.eval(() => window.history.forward())
52
53 await check(() => browser.eval(() => (window as any).didHydrate), true)
54
55 const newScrollX = Math.floor(await browser.eval(() => window.scrollX))
56 const newScrollY = Math.floor(await browser.eval(() => window.scrollY))
57
58 console.log({
59 scrollX,
60 scrollY,
61 newScrollX,
62 newScrollY,
63 })
64
65 expect(scrollX).toBe(newScrollX)
66 expect(scrollY).toBe(newScrollY)
67 })
68}
69
70describe('Scroll Forward Restoration Support', () => {
71 ;(process.env.TURBOPACK_BUILD ? describe.skip : describe)(

Callers 1

index.test.tsFile · 0.70

Calls 10

checkFunction · 0.90
webdriverFunction · 0.85
clickMethod · 0.80
elementByCssMethod · 0.80
evalMethod · 0.80
backMethod · 0.65
forwardMethod · 0.65
itFunction · 0.50
expectFunction · 0.50
logMethod · 0.45

Tested by

no test coverage detected