97.09%
Lines
97.09%
Statements
94.44%
Functions
90.44%
Branches
Needs attention
src/entry-server.jsx
0.00% lines
src/utils/env.js
0.00% lines
src/main.jsx
54.62% lines
Coverage Details
76 files tracked
60 at 100% line coverage
3 below 80% line coverage
Grouped by module, worst files first
Public scripts
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| public/js/certificates.js |
95.18%
711/747
|
95.18%
711/747
|
94.73%
18/19
|
72.97%
27/37
|
| public/js/gtag-init.js |
100.00%
10/10
|
100.00%
10/10
|
100.00%
1/1
|
100.00%
2/2
|
Components
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/CookieConsent.jsx |
88.15%
201/228
|
88.15%
201/228
|
85.71%
12/14
|
86.00%
43/50
|
| src/components/Navbar.jsx |
90.58%
481/531
|
90.58%
481/531
|
80.76%
21/26
|
90.17%
101/112
|
| src/components/ContactForm.jsx |
96.15%
200/208
|
96.15%
200/208
|
100.00%
3/3
|
77.77%
14/18
|
| src/components/Hero.jsx |
97.50%
273/280
|
97.50%
273/280
|
87.50%
7/8
|
81.35%
48/59
|
| src/components/Experience.jsx |
98.81%
167/169
|
98.81%
167/169
|
80.00%
4/5
|
91.66%
11/12
|
| src/components/LiveTestRunner.jsx |
99.58%
481/483
|
99.58%
481/483
|
100.00%
10/10
|
94.40%
135/143
|
| src/components/Articles.jsx |
100.00%
490/490
|
100.00%
490/490
|
100.00%
14/14
|
91.87%
147/160
|
| src/components/CertificatesModal.jsx |
100.00%
8/8
|
100.00%
8/8
|
100.00%
1/1
|
100.00%
1/1
|
| src/components/Contact.jsx |
100.00%
46/46
|
100.00%
46/46
|
100.00%
1/1
|
100.00%
1/1
|
| src/components/ContactModal.jsx |
100.00%
58/58
|
100.00%
58/58
|
100.00%
3/3
|
100.00%
11/11
|
| src/components/ErrorBoundary.jsx |
100.00%
99/99
|
100.00%
99/99
|
100.00%
8/8
|
100.00%
21/21
|
| src/components/Footer.jsx |
100.00%
187/187
|
100.00%
187/187
|
100.00%
4/4
|
100.00%
6/6
|
| src/components/Frameworks.jsx |
100.00%
207/207
|
100.00%
207/207
|
80.00%
4/5
|
96.15%
25/26
|
| src/components/HomeSectionHeader.jsx |
100.00%
25/25
|
100.00%
25/25
|
100.00%
1/1
|
100.00%
1/1
|
| src/components/Loading.jsx |
100.00%
32/32
|
100.00%
32/32
|
100.00%
0/0
|
100.00%
0/0
|
| src/components/NotFound.jsx |
100.00%
45/45
|
100.00%
45/45
|
100.00%
1/1
|
100.00%
5/5
|
| src/components/PageHeader.jsx |
100.00%
21/21
|
100.00%
21/21
|
100.00%
0/0
|
100.00%
0/0
|
| src/components/Reveal.jsx |
100.00%
12/12
|
100.00%
12/12
|
100.00%
1/1
|
100.00%
1/1
|
| src/components/Shipped.jsx |
100.00%
205/205
|
100.00%
205/205
|
100.00%
7/7
|
81.25%
26/32
|
| src/components/SideProjects.jsx |
100.00%
111/111
|
100.00%
111/111
|
100.00%
5/5
|
94.44%
17/18
|
| src/components/Stack.jsx |
100.00%
62/62
|
100.00%
62/62
|
100.00%
1/1
|
100.00%
3/3
|
| src/components/TestResults.jsx |
100.00%
339/339
|
100.00%
339/339
|
90.90%
10/11
|
76.47%
52/68
|
Article components
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/articles/ArticleCard.jsx |
100.00%
151/151
|
100.00%
151/151
|
100.00%
3/3
|
79.41%
27/34
|
| src/components/articles/MoreArticlesCard.jsx |
100.00%
37/37
|
100.00%
37/37
|
100.00%
1/1
|
100.00%
1/1
|
src/components/blog
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/blog/BlogPost.jsx |
92.61%
326/352
|
92.61%
326/352
|
100.00%
3/3
|
85.07%
57/67
|
| src/components/blog/BlogIndex.jsx |
99.05%
210/212
|
99.05%
210/212
|
80.00%
4/5
|
85.10%
40/47
|
| src/components/blog/blogDate.js |
100.00%
6/6
|
100.00%
6/6
|
100.00%
1/1
|
100.00%
2/2
|
| src/components/blog/blogIcons.jsx |
100.00%
100/100
|
100.00%
100/100
|
100.00%
2/2
|
100.00%
51/51
|
| src/components/blog/postBodies.js |
100.00%
51/51
|
100.00%
51/51
|
100.00%
5/5
|
100.00%
20/20
|
Framework components
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/frameworks/AdvancedTesting.jsx |
100.00%
157/157
|
100.00%
157/157
|
100.00%
1/1
|
100.00%
5/5
|
| src/components/frameworks/ComingSoonHero.jsx |
100.00%
76/76
|
100.00%
76/76
|
100.00%
1/1
|
100.00%
1/1
|
| src/components/frameworks/FrameworkCard.jsx |
100.00%
100/100
|
100.00%
100/100
|
100.00%
1/1
|
57.14%
4/7
|
| src/components/frameworks/FrameworkHero.jsx |
100.00%
66/66
|
100.00%
66/66
|
100.00%
1/1
|
100.00%
1/1
|
| src/components/frameworks/Frameworks.data.js |
100.00%
131/131
|
100.00%
131/131
|
100.00%
0/0
|
100.00%
0/0
|
Hooks
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/hooks/useTheme.jsx |
91.30%
84/92
|
91.30%
84/92
|
100.00%
8/8
|
81.57%
31/38
|
| src/components/hooks/index.js |
100.00%
4/4
|
100.00%
4/4
|
100.00%
0/0
|
100.00%
0/0
|
| src/components/hooks/useCountUp.js |
100.00%
32/32
|
100.00%
32/32
|
100.00%
3/3
|
100.00%
12/12
|
| src/components/hooks/useFetch.jsx |
100.00%
28/28
|
100.00%
28/28
|
100.00%
2/2
|
100.00%
6/6
|
| src/components/hooks/useFocusTrap.jsx |
100.00%
52/52
|
100.00%
52/52
|
100.00%
2/2
|
100.00%
13/13
|
| src/components/hooks/useInView.js |
100.00%
33/33
|
100.00%
33/33
|
100.00%
2/2
|
100.00%
11/11
|
| src/components/hooks/useKeyPress.jsx |
100.00%
17/17
|
100.00%
17/17
|
100.00%
2/2
|
100.00%
5/5
|
| src/components/hooks/useModal.jsx |
100.00%
14/14
|
100.00%
14/14
|
100.00%
3/3
|
100.00%
3/3
|
Side project components
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/sideprojects/ProjectShowcase.jsx |
100.00%
243/243
|
100.00%
243/243
|
100.00%
11/11
|
91.30%
21/23
|
| src/components/sideprojects/ScreenshotGallery.jsx |
100.00%
238/238
|
100.00%
238/238
|
100.00%
9/9
|
89.65%
26/29
|
| src/components/sideprojects/SideProjects.data.js |
100.00%
220/220
|
100.00%
220/220
|
100.00%
0/0
|
100.00%
0/0
|
src/components/stack
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/stack/stackData.jsx |
100.00%
150/150
|
100.00%
150/150
|
100.00%
0/0
|
100.00%
1/1
|
src/components/test-results
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/test-results/A11yScan.jsx |
98.34%
119/121
|
98.34%
119/121
|
100.00%
2/2
|
80.95%
17/21
|
| src/components/test-results/useCiResults.js |
98.92%
92/93
|
98.92%
92/93
|
100.00%
6/6
|
88.00%
44/50
|
| src/components/test-results/CiMetrics.jsx |
100.00%
346/346
|
100.00%
346/346
|
100.00%
9/9
|
97.87%
92/94
|
| src/components/test-results/CodeSample.jsx |
100.00%
19/19
|
100.00%
19/19
|
100.00%
1/1
|
100.00%
3/3
|
| src/components/test-results/CoverageMap.jsx |
100.00%
152/152
|
100.00%
152/152
|
100.00%
5/5
|
98.03%
50/51
|
| src/components/test-results/MutationScore.jsx |
100.00%
141/141
|
100.00%
141/141
|
100.00%
4/4
|
81.81%
18/22
|
| src/components/test-results/Ring.jsx |
100.00%
15/15
|
100.00%
15/15
|
100.00%
1/1
|
100.00%
2/2
|
| src/components/test-results/SectionRail.jsx |
100.00%
48/48
|
100.00%
48/48
|
100.00%
2/2
|
100.00%
16/16
|
| src/components/test-results/TrendHistory.jsx |
100.00%
230/230
|
100.00%
230/230
|
100.00%
13/13
|
96.00%
72/75
|
| src/components/test-results/historyStats.js |
100.00%
35/35
|
100.00%
35/35
|
100.00%
5/5
|
100.00%
45/45
|
| src/components/test-results/prismManual.js |
100.00%
4/4
|
100.00%
4/4
|
100.00%
0/0
|
100.00%
0/0
|
| src/components/test-results/runStatus.js |
100.00%
14/14
|
100.00%
14/14
|
100.00%
2/2
|
100.00%
24/24
|
| src/components/test-results/testExamples.js |
100.00%
113/113
|
100.00%
113/113
|
100.00%
0/0
|
100.00%
0/0
|
| src/components/test-results/useCountUp.js |
100.00%
23/23
|
100.00%
23/23
|
100.00%
2/2
|
100.00%
14/14
|
Data modules
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/data/articles.js |
100.00%
195/195
|
100.00%
195/195
|
100.00%
0/0
|
100.00%
0/0
|
| src/data/certificates.js |
100.00%
316/316
|
100.00%
316/316
|
100.00%
0/0
|
100.00%
0/0
|
| src/data/portrait.js |
100.00%
16/16
|
100.00%
16/16
|
100.00%
2/2
|
50.00%
2/4
|
Internationalization
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/i18n/LanguageRoutingContext.js |
100.00%
6/6
|
100.00%
6/6
|
100.00%
1/1
|
100.00%
2/2
|
| src/i18n/index.js |
100.00%
67/67
|
100.00%
67/67
|
100.00%
2/2
|
62.50%
5/8
|
| src/i18n/routing.js |
100.00%
23/23
|
100.00%
23/23
|
100.00%
4/4
|
90.00%
18/20
|
App shell
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/entry-server.jsx |
0.00%
0/19
|
0.00%
0/19
|
0.00%
0/1
|
0.00%
0/1
|
| src/main.jsx |
54.62%
65/119
|
54.62%
65/119
|
33.33%
1/3
|
55.55%
5/9
|
| src/App.jsx |
100.00%
145/145
|
100.00%
145/145
|
100.00%
1/1
|
91.30%
21/23
|
Utilities
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/utils/env.js |
0.00%
0/42
|
0.00%
0/42
|
0.00%
0/1
|
0.00%
0/1
|
| src/utils/inBrowserTestRunner.js |
99.24%
392/395
|
99.24%
392/395
|
100.00%
16/16
|
93.16%
109/117
|
| src/utils/documentHead.js |
100.00%
53/53
|
100.00%
53/53
|
100.00%
4/4
|
100.00%
16/16
|
| src/utils/motion.js |
100.00%
6/6
|
100.00%
6/6
|
100.00%
2/2
|
100.00%
5/5
|
| src/utils/scrollLock.js |
100.00%
11/11
|
100.00%
11/11
|
100.00%
2/2
|
100.00%
3/3
|