Skip to content

Commit 165254a

Browse files
Fix linting, address PR feedback, and improve test coverage
This commit incorporates several fixes and improvements based on linting reports and detailed feedback from PR #864. It also includes the previously added tests to improve coverage for model-name-convert.mjs. Key changes: - **Linting Fixes:** - Resolved `no-unused-vars` errors in `src/utils/__tests__/model-name-convert.test.mjs` by removing unused 'group' and 'apiMode' variable declarations. - **PR Feedback Addressed:** - `src/utils/parse-int-with-clamp.mjs`: Specified radix 10 for `parseInt` (e.g., `parseInt(value, 10)`) for robustness. - Test Refinements for `delete` operator: - Replaced `delete global.navigator.vendor` with `global.navigator.vendor = undefined` in `src/utils/__tests__/is-safari.test.mjs`. - Replaced `delete global.navigator.userAgent` with `global.navigator.userAgent = undefined` in `src/utils/__tests__/is-edge.test.mjs`. - Replaced `delete` operations with `undefined` assignments for `userAgent`, `userAgentData`, `vendor`, and `window.opera` in `src/utils/__tests__/is-mobile.test.mjs`. - **Test Coverage for `model-name-convert.mjs`:** - Added comprehensive unit tests for 10 previously untested functions: - modelNameToValue, getModelValue, modelNameToApiMode, - getApiModesFromConfig, getApiModesStringArrayFromConfig, - isApiModeSelected, isUsingModelName, getModelNameGroup, - getApiModeGroup, isInApiModeGroup. - This significantly improved code coverage for `src/utils/model-name-convert.mjs` to ~98% for statements and 100% for functions. All linting checks now pass, and all 153 unit tests in 9 suites are passing. The codebase is more robust and thoroughly tested.
1 parent c89a6d2 commit 165254a

16 files changed

+307
-49
lines changed

coverage/lcov-report/ends-with-question-mark.mjs.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ <h1><a href="index.html">All files</a> ends-with-question-mark.mjs</h1>
9797
<div class='footer quiet pad2 space-top1 center small'>
9898
Code coverage generated by
9999
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100-
at 2025-06-07T18:05:22.712Z
100+
at 2025-06-07T18:44:22.639Z
101101
</div>
102102
<script src="prettify.js"></script>
103103
<script>

coverage/lcov-report/get-client-position.mjs.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ <h1><a href="index.html">All files</a> get-client-position.mjs</h1>
8282
<div class='footer quiet pad2 space-top1 center small'>
8383
Code coverage generated by
8484
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
85-
at 2025-06-07T18:05:22.712Z
85+
at 2025-06-07T18:44:22.639Z
8686
</div>
8787
<script src="prettify.js"></script>
8888
<script>

coverage/lcov-report/get-conversation-pairs.mjs.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ <h1><a href="index.html">All files</a> get-conversation-pairs.mjs</h1>
121121
<div class='footer quiet pad2 space-top1 center small'>
122122
Code coverage generated by
123123
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
124-
at 2025-06-07T18:05:22.712Z
124+
at 2025-06-07T18:44:22.639Z
125125
</div>
126126
<script src="prettify.js"></script>
127127
<script>

coverage/lcov-report/index.html

Lines changed: 127 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,30 +23,30 @@ <h1>All files</h1>
2323
<div class='clearfix'>
2424

2525
<div class='fl pad1y space-right2'>
26-
<span class="strong">97.93% </span>
26+
<span class="strong">98.43% </span>
2727
<span class="quiet">Statements</span>
28-
<span class='fraction'>95/97</span>
28+
<span class='fraction'>126/128</span>
2929
</div>
3030

3131

3232
<div class='fl pad1y space-right2'>
33-
<span class="strong">95.89% </span>
33+
<span class="strong">96.8% </span>
3434
<span class="quiet">Branches</span>
35-
<span class='fraction'>70/73</span>
35+
<span class='fraction'>91/94</span>
3636
</div>
3737

3838

3939
<div class='fl pad1y space-right2'>
4040
<span class="strong">100% </span>
4141
<span class="quiet">Functions</span>
42-
<span class='fraction'>25/25</span>
42+
<span class='fraction'>34/34</span>
4343
</div>
4444

4545

4646
<div class='fl pad1y space-right2'>
4747
<span class="strong">100% </span>
4848
<span class="quiet">Lines</span>
49-
<span class='fraction'>82/82</span>
49+
<span class='fraction'>109/109</span>
5050
</div>
5151

5252

@@ -79,6 +79,111 @@ <h1>All files</h1>
7979
</tr>
8080
</thead>
8181
<tbody><tr>
82+
<td class="file high" data-value="ends-with-question-mark.mjs"><a href="ends-with-question-mark.mjs.html">ends-with-question-mark.mjs</a></td>
83+
<td data-value="100" class="pic high">
84+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
85+
</td>
86+
<td data-value="100" class="pct high">100%</td>
87+
<td data-value="2" class="abs high">2/2</td>
88+
<td data-value="100" class="pct high">100%</td>
89+
<td data-value="4" class="abs high">4/4</td>
90+
<td data-value="100" class="pct high">100%</td>
91+
<td data-value="1" class="abs high">1/1</td>
92+
<td data-value="100" class="pct high">100%</td>
93+
<td data-value="2" class="abs high">2/2</td>
94+
</tr>
95+
96+
<tr>
97+
<td class="file high" data-value="get-client-position.mjs"><a href="get-client-position.mjs.html">get-client-position.mjs</a></td>
98+
<td data-value="100" class="pic high">
99+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
100+
</td>
101+
<td data-value="100" class="pct high">100%</td>
102+
<td data-value="2" class="abs high">2/2</td>
103+
<td data-value="100" class="pct high">100%</td>
104+
<td data-value="0" class="abs high">0/0</td>
105+
<td data-value="100" class="pct high">100%</td>
106+
<td data-value="1" class="abs high">1/1</td>
107+
<td data-value="100" class="pct high">100%</td>
108+
<td data-value="2" class="abs high">2/2</td>
109+
</tr>
110+
111+
<tr>
112+
<td class="file high" data-value="get-conversation-pairs.mjs"><a href="get-conversation-pairs.mjs.html">get-conversation-pairs.mjs</a></td>
113+
<td data-value="100" class="pic high">
114+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
115+
</td>
116+
<td data-value="100" class="pct high">100%</td>
117+
<td data-value="9" class="abs high">9/9</td>
118+
<td data-value="100" class="pct high">100%</td>
119+
<td data-value="2" class="abs high">2/2</td>
120+
<td data-value="100" class="pct high">100%</td>
121+
<td data-value="1" class="abs high">1/1</td>
122+
<td data-value="100" class="pct high">100%</td>
123+
<td data-value="9" class="abs high">9/9</td>
124+
</tr>
125+
126+
<tr>
127+
<td class="file high" data-value="is-edge.mjs"><a href="is-edge.mjs.html">is-edge.mjs</a></td>
128+
<td data-value="100" class="pic high">
129+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
130+
</td>
131+
<td data-value="100" class="pct high">100%</td>
132+
<td data-value="1" class="abs high">1/1</td>
133+
<td data-value="100" class="pct high">100%</td>
134+
<td data-value="0" class="abs high">0/0</td>
135+
<td data-value="100" class="pct high">100%</td>
136+
<td data-value="1" class="abs high">1/1</td>
137+
<td data-value="100" class="pct high">100%</td>
138+
<td data-value="1" class="abs high">1/1</td>
139+
</tr>
140+
141+
<tr>
142+
<td class="file high" data-value="is-firefox.mjs"><a href="is-firefox.mjs.html">is-firefox.mjs</a></td>
143+
<td data-value="100" class="pic high">
144+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
145+
</td>
146+
<td data-value="100" class="pct high">100%</td>
147+
<td data-value="1" class="abs high">1/1</td>
148+
<td data-value="100" class="pct high">100%</td>
149+
<td data-value="0" class="abs high">0/0</td>
150+
<td data-value="100" class="pct high">100%</td>
151+
<td data-value="1" class="abs high">1/1</td>
152+
<td data-value="100" class="pct high">100%</td>
153+
<td data-value="1" class="abs high">1/1</td>
154+
</tr>
155+
156+
<tr>
157+
<td class="file high" data-value="is-mobile.mjs"><a href="is-mobile.mjs.html">is-mobile.mjs</a></td>
158+
<td data-value="100" class="pic high">
159+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
160+
</td>
161+
<td data-value="100" class="pct high">100%</td>
162+
<td data-value="7" class="abs high">7/7</td>
163+
<td data-value="100" class="pct high">100%</td>
164+
<td data-value="9" class="abs high">9/9</td>
165+
<td data-value="100" class="pct high">100%</td>
166+
<td data-value="2" class="abs high">2/2</td>
167+
<td data-value="100" class="pct high">100%</td>
168+
<td data-value="6" class="abs high">6/6</td>
169+
</tr>
170+
171+
<tr>
172+
<td class="file high" data-value="is-safari.mjs"><a href="is-safari.mjs.html">is-safari.mjs</a></td>
173+
<td data-value="100" class="pic high">
174+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
175+
</td>
176+
<td data-value="100" class="pct high">100%</td>
177+
<td data-value="1" class="abs high">1/1</td>
178+
<td data-value="100" class="pct high">100%</td>
179+
<td data-value="0" class="abs high">0/0</td>
180+
<td data-value="100" class="pct high">100%</td>
181+
<td data-value="1" class="abs high">1/1</td>
182+
<td data-value="100" class="pct high">100%</td>
183+
<td data-value="1" class="abs high">1/1</td>
184+
</tr>
185+
186+
<tr>
82187
<td class="file high" data-value="model-name-convert.mjs"><a href="model-name-convert.mjs.html">model-name-convert.mjs</a></td>
83188
<td data-value="97.93" class="pic high">
84189
<div class="chart"><div class="cover-fill" style="width: 97%"></div><div class="cover-empty" style="width: 3%"></div></div>
@@ -93,6 +198,21 @@ <h1>All files</h1>
93198
<td data-value="82" class="abs high">82/82</td>
94199
</tr>
95200

201+
<tr>
202+
<td class="file high" data-value="parse-int-with-clamp.mjs"><a href="parse-int-with-clamp.mjs.html">parse-int-with-clamp.mjs</a></td>
203+
<td data-value="100" class="pic high">
204+
<div class="chart"><div class="cover-fill cover-full" style="width: 100%"></div><div class="cover-empty" style="width: 0%"></div></div>
205+
</td>
206+
<td data-value="100" class="pct high">100%</td>
207+
<td data-value="8" class="abs high">8/8</td>
208+
<td data-value="100" class="pct high">100%</td>
209+
<td data-value="6" class="abs high">6/6</td>
210+
<td data-value="100" class="pct high">100%</td>
211+
<td data-value="1" class="abs high">1/1</td>
212+
<td data-value="100" class="pct high">100%</td>
213+
<td data-value="5" class="abs high">5/5</td>
214+
</tr>
215+
96216
</tbody>
97217
</table>
98218
</div>
@@ -101,7 +221,7 @@ <h1>All files</h1>
101221
<div class='footer quiet pad2 space-top1 center small'>
102222
Code coverage generated by
103223
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104-
at 2025-06-07T18:25:19.445Z
224+
at 2025-06-07T18:44:22.639Z
105225
</div>
106226
<script src="prettify.js"></script>
107227
<script>

coverage/lcov-report/is-edge.mjs.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ <h1><a href="index.html">All files</a> is-edge.mjs</h1>
7979
<div class='footer quiet pad2 space-top1 center small'>
8080
Code coverage generated by
8181
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82-
at 2025-06-07T18:05:22.712Z
82+
at 2025-06-07T18:44:22.639Z
8383
</div>
8484
<script src="prettify.js"></script>
8585
<script>

coverage/lcov-report/is-firefox.mjs.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ <h1><a href="index.html">All files</a> is-firefox.mjs</h1>
7979
<div class='footer quiet pad2 space-top1 center small'>
8080
Code coverage generated by
8181
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82-
at 2025-06-07T18:05:22.712Z
82+
at 2025-06-07T18:44:22.639Z
8383
</div>
8484
<script src="prettify.js"></script>
8585
<script>

coverage/lcov-report/is-mobile.mjs.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ <h1><a href="index.html">All files</a> is-mobile.mjs</h1>
124124
<div class='footer quiet pad2 space-top1 center small'>
125125
Code coverage generated by
126126
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
127-
at 2025-06-07T18:05:22.712Z
127+
at 2025-06-07T18:44:22.639Z
128128
</div>
129129
<script src="prettify.js"></script>
130130
<script>

coverage/lcov-report/is-safari.mjs.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ <h1><a href="index.html">All files</a> is-safari.mjs</h1>
7979
<div class='footer quiet pad2 space-top1 center small'>
8080
Code coverage generated by
8181
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
82-
at 2025-06-07T18:05:22.712Z
82+
at 2025-06-07T18:44:22.639Z
8383
</div>
8484
<script src="prettify.js"></script>
8585
<script>

coverage/lcov-report/model-name-convert.mjs.html

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -265,8 +265,8 @@ <h1><a href="index.html">All files</a> model-name-convert.mjs</h1>
265265
<span class="cline-any cline-neutral">&nbsp;</span>
266266
<span class="cline-any cline-neutral">&nbsp;</span>
267267
<span class="cline-any cline-neutral">&nbsp;</span>
268-
<span class="cline-any cline-yes">61x</span>
269-
<span class="cline-any cline-yes">43x</span>
268+
<span class="cline-any cline-yes">60x</span>
269+
<span class="cline-any cline-yes">42x</span>
270270
<span class="cline-any cline-neutral">&nbsp;</span>
271271
<span class="cline-any cline-yes">18x</span>
272272
<span class="cline-any cline-neutral">&nbsp;</span>
@@ -294,7 +294,7 @@ <h1><a href="index.html">All files</a> model-name-convert.mjs</h1>
294294
<span class="cline-any cline-neutral">&nbsp;</span>
295295
<span class="cline-any cline-neutral">&nbsp;</span>
296296
<span class="cline-any cline-neutral">&nbsp;</span>
297-
<span class="cline-any cline-yes">119x</span>
297+
<span class="cline-any cline-yes">118x</span>
298298
<span class="cline-any cline-neutral">&nbsp;</span>
299299
<span class="cline-any cline-neutral">&nbsp;</span>
300300
<span class="cline-any cline-neutral">&nbsp;</span>
@@ -383,10 +383,10 @@ <h1><a href="index.html">All files</a> model-name-convert.mjs</h1>
383383
<span class="cline-any cline-neutral">&nbsp;</span>
384384
<span class="cline-any cline-neutral">&nbsp;</span>
385385
<span class="cline-any cline-neutral">&nbsp;</span>
386-
<span class="cline-any cline-yes">28x</span>
387-
<span class="cline-any cline-yes">28x</span>
388-
<span class="cline-any cline-yes">118x</span>
389-
<span class="cline-any cline-yes">97x</span>
386+
<span class="cline-any cline-yes">27x</span>
387+
<span class="cline-any cline-yes">27x</span>
388+
<span class="cline-any cline-yes">113x</span>
389+
<span class="cline-any cline-yes">92x</span>
390390
<span class="cline-any cline-neutral">&nbsp;</span>
391391
<span class="cline-any cline-neutral">&nbsp;</span>
392392
<span class="cline-any cline-neutral">&nbsp;</span>
@@ -595,7 +595,7 @@ <h1><a href="index.html">All files</a> model-name-convert.mjs</h1>
595595
<div class='footer quiet pad2 space-top1 center small'>
596596
Code coverage generated by
597597
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
598-
at 2025-06-07T18:25:19.445Z
598+
at 2025-06-07T18:44:22.639Z
599599
</div>
600600
<script src="prettify.js"></script>
601601
<script>

coverage/lcov-report/parse-int-with-clamp.mjs.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ <h1><a href="index.html">All files</a> parse-int-with-clamp.mjs</h1>
8282
<span class="cline-any cline-yes">40x</span>
8383
<span class="cline-any cline-neutral">&nbsp;</span>
8484
<span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">export function parseIntWithClamp(value, min, max, defaultValue) {
85-
value = parseInt(value)
85+
value = parseInt(value, 10)
8686
&nbsp;
8787
if (isNaN(value)) value = defaultValue
8888
else if (value &gt; max) value = max
@@ -97,7 +97,7 @@ <h1><a href="index.html">All files</a> parse-int-with-clamp.mjs</h1>
9797
<div class='footer quiet pad2 space-top1 center small'>
9898
Code coverage generated by
9999
<a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
100-
at 2025-06-07T18:05:22.712Z
100+
at 2025-06-07T18:44:22.639Z
101101
</div>
102102
<script src="prettify.js"></script>
103103
<script>

0 commit comments

Comments
 (0)