@@ -13,7 +13,7 @@ function release(overrides: Partial<Release> = {}): Release {
1313 }
1414}
1515
16- describe ( 'checkSecurityRelease — definitive identifiers' , ( ) => {
16+ describe ( 'checkSecurityRelease - definitive identifiers' , ( ) => {
1717 test . each ( [
1818 {
1919 body : 'Fixes CVE-2024-12345.' ,
@@ -28,7 +28,7 @@ describe('checkSecurityRelease — definitive identifiers', () => {
2828 expectedReason : 'Contains OSV identifier' ,
2929 } ,
3030 ] ) (
31- '$expectedReason in body → high confidence' ,
31+ '$expectedReason in body -> high confidence' ,
3232 ( { body, expectedReason } ) => {
3333 const result = checkSecurityRelease ( release ( { body } ) )
3434 expect ( result . isSecurity ) . toBe ( true )
@@ -54,7 +54,7 @@ describe('checkSecurityRelease — definitive identifiers', () => {
5454 } )
5555} )
5656
57- describe ( 'checkSecurityRelease — strong phrase signals' , ( ) => {
57+ describe ( 'checkSecurityRelease - strong phrase signals' , ( ) => {
5858 test . each ( [
5959 {
6060 body : 'security advisory released' ,
@@ -105,14 +105,14 @@ describe('checkSecurityRelease — strong phrase signals', () => {
105105 { body : 'exploitable buffer' , expectedReason : 'Mentions exploit' } ,
106106 { body : 'exploited in the wild' , expectedReason : 'Mentions exploit' } ,
107107 { body : 'CVSS score 9.8' , expectedReason : 'Mentions CVSS score' } ,
108- ] ) ( '$expectedReason → isSecurity' , ( { body, expectedReason } ) => {
108+ ] ) ( '$expectedReason -> isSecurity' , ( { body, expectedReason } ) => {
109109 const result = checkSecurityRelease ( release ( { body } ) )
110110 expect ( result . isSecurity ) . toBe ( true )
111111 expect ( result . reasons ) . toContain ( expectedReason )
112112 } )
113113} )
114114
115- describe ( 'checkSecurityRelease — medium phrase signals' , ( ) => {
115+ describe ( 'checkSecurityRelease - medium phrase signals' , ( ) => {
116116 test . each ( [
117117 {
118118 body : 'security fix included' ,
@@ -186,14 +186,14 @@ describe('checkSecurityRelease — medium phrase signals', () => {
186186 body : 'improper authorization logic' ,
187187 expectedReason : 'Mentions improper validation/auth' ,
188188 } ,
189- ] ) ( '$expectedReason → isSecurity' , ( { body, expectedReason } ) => {
189+ ] ) ( '$expectedReason -> isSecurity' , ( { body, expectedReason } ) => {
190190 const result = checkSecurityRelease ( release ( { body } ) )
191191 expect ( result . isSecurity ) . toBe ( true )
192192 expect ( result . reasons ) . toContain ( expectedReason )
193193 } )
194194} )
195195
196- describe ( 'checkSecurityRelease — markdown section headers' , ( ) => {
196+ describe ( 'checkSecurityRelease - markdown section headers' , ( ) => {
197197 test . each ( [
198198 {
199199 body : '## Security\nFixed an issue.' ,
@@ -211,14 +211,14 @@ describe('checkSecurityRelease — markdown section headers', () => {
211211 body : '## Vulnerabilities\nSee below.' ,
212212 expectedReason : 'Has Vulnerabilities section header' ,
213213 } ,
214- ] ) ( '$expectedReason → isSecurity' , ( { body, expectedReason } ) => {
214+ ] ) ( '$expectedReason -> isSecurity' , ( { body, expectedReason } ) => {
215215 const result = checkSecurityRelease ( release ( { body } ) )
216216 expect ( result . isSecurity ) . toBe ( true )
217217 expect ( result . reasons ) . toContain ( expectedReason )
218218 } )
219219} )
220220
221- describe ( 'checkSecurityRelease — corroboration rule (weak signals only)' , ( ) => {
221+ describe ( 'checkSecurityRelease - corroboration rule (weak signals only)' , ( ) => {
222222 test . each ( [
223223 {
224224 label : 'single weak signal below threshold' ,
@@ -231,7 +231,7 @@ describe('checkSecurityRelease — corroboration rule (weak signals only)', () =
231231 body : 'This is critical. A malicious attacker could abuse this. Urgent.' ,
232232 } ,
233233 // "critical" (2) + "malicious" (2) + "attacker" (2) + "urgent" (1) = 7,
234- // but all requiresCorroboration → hasNonWeakMatch stays false
234+ // but all requiresCorroboration -> hasNonWeakMatch stays false
235235 } ,
236236 {
237237 label : 'weak signals split across title and body' ,
@@ -240,15 +240,15 @@ describe('checkSecurityRelease — corroboration rule (weak signals only)', () =
240240 body : 'Improved security hardening across the board.' ,
241241 } ,
242242 // "critical" in title (2 × 1.5 = 3) + "security" in body (2) = 5 ≥ threshold,
243- // but both requiresCorroboration → hasNonWeakMatch stays false
243+ // but both requiresCorroboration -> hasNonWeakMatch stays false
244244 } ,
245- ] ) ( '$label → not flagged as security' , ( { overrides } ) => {
245+ ] ) ( '$label -> not flagged as security' , ( { overrides } ) => {
246246 const result = checkSecurityRelease ( release ( overrides ) )
247247 expect ( result . isSecurity ) . toBe ( false )
248248 } )
249249} )
250250
251- describe ( 'checkSecurityRelease — non-security releases' , ( ) => {
251+ describe ( 'checkSecurityRelease - non-security releases' , ( ) => {
252252 test . each ( [
253253 { body : '' , label : 'empty body' } ,
254254 {
@@ -259,7 +259,7 @@ describe('checkSecurityRelease — non-security releases', () => {
259259 body : 'Bug fixes and stability improvements.' ,
260260 label : 'generic bug fix' ,
261261 } ,
262- ] ) ( '$label → not security' , ( { body } ) => {
262+ ] ) ( '$label -> not security' , ( { body } ) => {
263263 const result = checkSecurityRelease ( release ( { body } ) )
264264 expect ( result . isSecurity ) . toBe ( false )
265265 } )
@@ -272,7 +272,7 @@ describe('checkSecurityRelease — non-security releases', () => {
272272 } )
273273} )
274274
275- describe ( 'checkSecurityRelease — confidence levels' , ( ) => {
275+ describe ( 'checkSecurityRelease - confidence levels' , ( ) => {
276276 test . each ( [
277277 {
278278 body : 'CVE-2024-00001 patched.' ,
@@ -290,15 +290,15 @@ describe('checkSecurityRelease — confidence levels', () => {
290290 label : 'score ≥ 5 and < 7' ,
291291 } ,
292292 ] as const ) (
293- '$label → $expectedConfidence confidence' ,
293+ '$label -> $expectedConfidence confidence' ,
294294 ( { body, expectedConfidence } ) => {
295295 const result = checkSecurityRelease ( release ( { body } ) )
296296 expect ( result . confidence ) . toBe ( expectedConfidence )
297297 } ,
298298 )
299299} )
300300
301- describe ( 'checkSecurityRelease — deduplication of reasons' , ( ) => {
301+ describe ( 'checkSecurityRelease - deduplication of reasons' , ( ) => {
302302 test ( 'same signal in title and body appears only once in reasons' , ( ) => {
303303 const result = checkSecurityRelease (
304304 release ( {
0 commit comments