96.81%
Lines
96.81%
Statements
93.21%
Functions
90.24%
Branches
Needs attention
src/entry-server.jsx
0.00% lines
src/utils/env.js
0.00% lines
src/main.jsx
56.89% lines
Coverage Details
71 files tracked
55 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 |
85.56%
160/187
|
85.56%
160/187
|
81.81%
9/11
|
79.41%
27/34
|
| src/components/Navbar.jsx |
89.79%
440/490
|
89.79%
440/490
|
79.16%
19/24
|
88.34%
91/103
|
| src/components/ContactForm.jsx |
96.38%
213/221
|
96.38%
213/221
|
100.00%
3/3
|
87.50%
14/16
|
| src/components/Hero.jsx |
97.39%
262/269
|
97.39%
262/269
|
87.50%
7/8
|
78.00%
39/50
|
| src/components/Experience.jsx |
98.72%
155/157
|
98.72%
155/157
|
80.00%
4/5
|
90.90%
10/11
|
| src/components/LiveTestRunner.jsx |
99.56%
457/459
|
99.56%
457/459
|
100.00%
10/10
|
94.24%
131/139
|
| src/components/Articles.jsx |
100.00%
506/506
|
100.00%
506/506
|
100.00%
12/12
|
93.49%
158/169
|
| 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%
57/57
|
100.00%
57/57
|
100.00%
3/3
|
100.00%
11/11
|
| src/components/ErrorBoundary.jsx |
100.00%
145/145
|
100.00%
145/145
|
100.00%
9/9
|
100.00%
22/22
|
| src/components/Footer.jsx |
100.00%
175/175
|
100.00%
175/175
|
100.00%
3/3
|
100.00%
5/5
|
| src/components/Frameworks.jsx |
100.00%
146/146
|
100.00%
146/146
|
80.00%
4/5
|
95.65%
22/23
|
| 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/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%
158/158
|
100.00%
158/158
|
100.00%
5/5
|
90.90%
20/22
|
| src/components/SideProjects.jsx |
100.00%
108/108
|
100.00%
108/108
|
100.00%
5/5
|
88.88%
16/18
|
| src/components/Stack.jsx |
100.00%
60/60
|
100.00%
60/60
|
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%
107/107
|
100.00%
107/107
|
100.00%
2/2
|
73.07%
19/26
|
| src/components/articles/MoreArticlesCard.jsx |
100.00%
35/35
|
100.00%
35/35
|
100.00%
1/1
|
100.00%
1/1
|
src/components/blog
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/blog/BlogPost.jsx |
88.60%
311/351
|
88.60%
311/351
|
50.00%
1/2
|
78.43%
40/51
|
| 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%
46/46
|
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
|
87.50%
7/8
|
81.08%
30/37
|
| 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%
29/29
|
100.00%
29/29
|
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%
48/48
|
100.00%
48/48
|
100.00%
2/2
|
100.00%
11/11
|
| 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%
205/205
|
100.00%
205/205
|
100.00%
10/10
|
89.47%
17/19
|
| src/components/sideprojects/ScreenshotGallery.jsx |
100.00%
234/234
|
100.00%
234/234
|
100.00%
9/9
|
89.28%
25/28
|
| src/components/sideprojects/SideProjects.data.js |
100.00%
121/121
|
100.00%
121/121
|
100.00%
0/0
|
100.00%
0/0
|
src/components/stack
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/components/stack/stackData.jsx |
100.00%
235/235
|
100.00%
235/235
|
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%
147/147
|
100.00%
147/147
|
100.00%
5/5
|
98.03%
50/51
|
| src/components/test-results/MutationScore.jsx |
100.00%
136/136
|
100.00%
136/136
|
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%
209/209
|
100.00%
209/209
|
100.00%
13/13
|
95.94%
71/74
|
| 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%
32/32
|
100.00%
32/32
|
100.00%
3/3
|
100.00%
17/17
|
Data modules
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/data/articles.js |
100.00%
123/123
|
100.00%
123/123
|
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%
9/9
|
100.00%
9/9
|
100.00%
1/1
|
50.00%
1/2
|
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%
60/60
|
100.00%
60/60
|
100.00%
2/2
|
62.50%
5/8
|
| src/i18n/routing.js |
100.00%
23/23
|
100.00%
23/23
|
100.00%
4/4
|
88.88%
16/18
|
App shell
| File | Lines | Statements | Functions | Branches |
|---|---|---|---|---|
| src/entry-server.jsx |
0.00%
0/17
|
0.00%
0/17
|
0.00%
0/1
|
0.00%
0/1
|
| src/main.jsx |
56.89%
66/116
|
56.89%
66/116
|
33.33%
1/3
|
55.55%
5/9
|
| src/App.jsx |
100.00%
114/114
|
100.00%
114/114
|
100.00%
1/1
|
100.00%
16/16
|
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.20%
375/378
|
99.20%
375/378
|
100.00%
16/16
|
95.32%
102/107
|