From 8bbc3bbd4b4557dabbf5b3d8f2332f707f12cde7 Mon Sep 17 00:00:00 2001 From: Mick Cooney Date: Sat, 17 Oct 2026 20:10:26 +0100 Subject: [PATCH] test(r): narrow the regex and rename-safety results so typecheck:tests passes --- gitnexus/test/unit/r-documented-caps.test.ts | 6 +++--- .../unit/r-rename-namespace-export.test.ts | 2 +- gitnexus/test/unit/r-rename-s3-guard.test.ts | 19 +++++++++---------- 3 files changed, 13 insertions(+), 14 deletions(-) diff --git a/gitnexus/test/unit/r-documented-caps.test.ts b/gitnexus/test/unit/r-documented-caps.test.ts index 0ecf22092..9d7ba15b2 100644 --- a/gitnexus/test/unit/r-documented-caps.test.ts +++ b/gitnexus/test/unit/r-documented-caps.test.ts @@ -101,7 +101,7 @@ describe('the per-pattern state cap sits exactly at MAX_STATES', () => { it('refuses a pattern one state over the cap, and says why', () => { const result = compileLinearRegexDetailed('^a{16382}$'); expect(result.regex).toBeNull(); - expect(result.regex === null ? result.reason : '').toMatch(/state cap/); + expect('reason' in result ? result.reason : '').toMatch(/state cap/); }); }); @@ -112,13 +112,13 @@ describe('the pattern length cap sits exactly at MAX_PATTERN_LENGTH', () => { // Longer than the state cap would allow if it were expanded, so look at the reason only // when it is refused: the length rule must not be the one that refuses it. const result = compileLinearRegexDetailed(pattern); - expect(result.regex === null ? result.reason : '').not.toMatch(/longer than/); + expect('reason' in result ? result.reason : '').not.toMatch(/longer than/); }); it('refuses a pattern one character longer', () => { const result = compileLinearRegexDetailed(`^${'a'.repeat(MAX_PATTERN_LENGTH - 1)}$`); expect(result.regex).toBeNull(); - expect(result.regex === null ? result.reason : '').toMatch(/longer than 16384 characters/); + expect('reason' in result ? result.reason : '').toMatch(/longer than 16384 characters/); }); }); diff --git a/gitnexus/test/unit/r-rename-namespace-export.test.ts b/gitnexus/test/unit/r-rename-namespace-export.test.ts index 80bb6a84a..675924205 100644 --- a/gitnexus/test/unit/r-rename-namespace-export.test.ts +++ b/gitnexus/test/unit/r-rename-namespace-export.test.ts @@ -135,6 +135,6 @@ describe('R rename: NAMESPACE export guard on a refined graph', () => { ]), graph, } as never); - expect(issue?.code).toBe('unsupported_occurrence'); + expect(issue ? issue.code : 'ok').toBe('unsupported_occurrence'); }); }); diff --git a/gitnexus/test/unit/r-rename-s3-guard.test.ts b/gitnexus/test/unit/r-rename-s3-guard.test.ts index f06c89635..cf9037d25 100644 --- a/gitnexus/test/unit/r-rename-s3-guard.test.ts +++ b/gitnexus/test/unit/r-rename-s3-guard.test.ts @@ -134,16 +134,15 @@ describe('R rename: the S3 registration guard', () => { label, properties: { filePath: 'R/a.R', name: 'helper', isExported: true }, }); - return ( - rRenameProvider.checkSafety?.({ - target: { type: 'Function', qualifiedName: 'helper', filePath: 'R/a.R' }, - newName: 'helper2', - files: new Map([ - ['R/a.R', { tree: parser.parse('helper <- function(x) x'), parsed: { localDefs: [] } }], - ]), - graph, - } as never)?.code ?? 'ok' - ); + const issue = rRenameProvider.checkSafety?.({ + target: { type: 'Function', qualifiedName: 'helper', filePath: 'R/a.R' }, + newName: 'helper2', + files: new Map([ + ['R/a.R', { tree: parser.parse('helper <- function(x) x'), parsed: { localDefs: [] } }], + ]), + graph, + } as never); + return issue ? issue.code : 'ok'; }; expect(inPackage('Function')).toBe('unsupported_occurrence'); expect(inPackage('Method')).toBe('ok');