mirror of
https://github.com/tiennm99/ccs.git
synced 2026-10-13 10:15:40 +00:00
fix(hardening): handle regex literals after else/do
This commit is contained in:
1 parent
bb9d846a54
commit
65a1d8ae2c
2 files changed
+86
-4
No files matched your search
@@ -0,0 +1,36 @@
|
||||
import { describe, expect, test } from 'bun:test';
|
||||
|
||||
const { collectSyncCallSites } = require('../../../scripts/hardening-inventory.js');
|
||||
|
||||
describe('hardening-inventory sync call scanning', () => {
|
||||
test('ignores sync-call names inside regex literals after else', () => {
|
||||
const source = [
|
||||
'if (enabled) {',
|
||||
' run();',
|
||||
'} else /fs\\.readFileSync\\(/.test("pattern");',
|
||||
].join('\n');
|
||||
|
||||
const result = collectSyncCallSites(source);
|
||||
expect(result.count).toBe(0);
|
||||
});
|
||||
|
||||
test('ignores sync-call names inside regex literals after do', () => {
|
||||
const source = 'do /fs\\.writeFileSync\\(/.test("pattern"); while (false);';
|
||||
const result = collectSyncCallSites(source);
|
||||
|
||||
expect(result.count).toBe(0);
|
||||
});
|
||||
|
||||
test('still counts real sync fs call sites', () => {
|
||||
const source = [
|
||||
'if (enabled) {',
|
||||
' run();',
|
||||
'} else /fs\\.readFileSync\\(/.test("pattern");',
|
||||
'fs.readFileSync("file.txt", "utf8");',
|
||||
].join('\n');
|
||||
|
||||
const result = collectSyncCallSites(source);
|
||||
expect(result.count).toBe(1);
|
||||
expect(result.calls).toEqual(['readFileSync']);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user