Skip to content

Commit 5bfdaa3

Browse files
Scrub query/fragment from error messages; add href redaction test
1 parent 1be1ef4 commit 5bfdaa3

2 files changed

Lines changed: 20 additions & 2 deletions

File tree

src/rules/alt-text-quality.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,8 @@ export const altTextQuality: Rule = {
103103
try {
104104
dataUrl = await loadImageAsDataUrl(resolved)
105105
} catch (err) {
106-
console.error(`[alt-text-quality] failed to load ${redactUrl(resolved)}:`, err)
106+
const msg = (err instanceof Error ? err.message : String(err)).replace(/([?#])[^\s]*/g, '$1…')
107+
console.error(`[alt-text-quality] failed to load ${redactUrl(resolved)}: ${redactUrl(msg)}`)
107108
continue
108109
}
109110

@@ -117,7 +118,8 @@ export const altTextQuality: Rule = {
117118
naturalHeight: image.naturalHeight,
118119
})
119120
} catch (err) {
120-
console.error(`[alt-text-quality] judge failed for ${redactUrl(resolved)}:`, err)
121+
const msg = (err instanceof Error ? err.message : String(err)).replace(/([?#])[^\s]*/g, '$1…')
122+
console.error(`[alt-text-quality] judge failed for ${redactUrl(resolved)}: ${redactUrl(msg)}`)
121123
continue
122124
}
123125

tests/unit/alt-text-quality.test.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,4 +125,20 @@ describe('alt-text-quality', () => {
125125
expect(context).toContain('src="(omitted)"')
126126
expect(context).toContain('srcset="(omitted)"')
127127
})
128+
129+
it('redacts query/fragment from the link href in the judge context', async () => {
130+
const fake = new FakeJudge(() => verdict())
131+
__setJudge(fake)
132+
await run([
133+
makeImage({
134+
src: DATA_URL,
135+
alt: 'a dog',
136+
inLink: {href: 'https://example.com/page?sig=secret123#frag'},
137+
}),
138+
])
139+
const context = fake.calls[0]!.context
140+
expect(context).not.toContain('sig=secret123')
141+
expect(context).not.toContain('#frag')
142+
expect(context).toContain('https://example.com/page')
143+
})
128144
})

0 commit comments

Comments
 (0)