Skip to content

Commit 0c48ee3

Browse files
author
Liakhovskyi Vladyslav
committed
Add more tests. test "scroll:false" behaviour.
1 parent 78f754d commit 0c48ee3

File tree

6 files changed

+2539
-2055
lines changed

6 files changed

+2539
-2055
lines changed

__tests__/ScrollRestorer.spec.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,14 @@ test('End to end testing of scroll restorer', async ({page, browserName}) => {
132132
await resolveTimeout(1000)//Sometimes browsers struggle to restore the same millisecond
133133
await expectScrollToBe(page, mainPage)
134134

135+
136+
137+
await page.getByText('Lets-go without scroll').scrollIntoViewIfNeeded()
138+
await expectScrollToBe(page, mainPage)
139+
await page.getByText('Lets-go without scroll').click()
140+
await page.waitForURL('/?fff=fff')
141+
await expectScrollToBe(page, mainPage)
142+
135143
})
136144

137145
test('Safari scroll reset bug simulation', async ({page}) => {
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
1-
2-
import {Suspense} from "react"
1+
'use client'
32
import {ScrollRestorer} from "../../src"
43

54
const ClientSideScrollRestorer = () => {
6-
return <Suspense><ScrollRestorer /></Suspense>
5+
return <ScrollRestorer />
76
}
87
export default ClientSideScrollRestorer

next-app-mock/src/app/layout.tsx

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import ClientSideScrollRestorer from "@/ClientSideScrollRestorer"
22
import type {Metadata} from 'next'
33
import {Inter} from 'next/font/google'
44
import './globals.css'
5-
import {FunctionComponent, ReactNode} from "react"
5+
import {FunctionComponent, ReactNode, Suspense} from "react"
66

77
const inter = Inter({subsets: ['latin']})
88

@@ -16,7 +16,9 @@ const RootLayout: FunctionComponent<{
1616
return (
1717
<html lang="en">
1818
<body className={inter.className}>
19-
<ClientSideScrollRestorer/>
19+
<Suspense>
20+
<ClientSideScrollRestorer/>
21+
</Suspense>
2022
{children}
2123
</body>
2224
</html>

next-app-mock/src/app/page.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ const Page = ()=>{
99
<Link href="/low-page">
1010
Lets-go to low-page
1111
</Link>
12+
<Link href="/?fff=fff" scroll={false}>
13+
Lets-go without scroll
14+
</Link>
1215
</div>
1316
}
1417
export default Page

package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,14 @@
5151
"changeset": "^0.2.6",
5252
"eslint-config-grisaia-react": "^0.6.15",
5353
"eslint-config-grisaia-typescript": "^0.6.14",
54-
"grisaia-package-builder": "^0.1.16"
54+
"grisaia-package-builder": "^0.1.16",
55+
"typescript": "^5.4.5"
5556
},
5657
"peerDependencies": {
5758
"next": "^13.0 || ^14.0",
5859
"react": "^17.0 || ^18.0"
5960
},
60-
"packageManager": "pnpm@8.7.5",
61+
"packageManager": "pnpm@9.1.2",
6162
"dependencies": {
6263
"@bladl/react-hooks": "^1.5.2"
6364
}

0 commit comments

Comments
 (0)