The fileuploader.log rotation introduced in 3.3.2 lived inline in main.js — fine for the runtime path, but it required electron's `app` to even reach the function under test. Pull the rotation logic into lib/log-rotation.js (pure fs/path, no electron deps) and cover it properly: - ENOENT (file missing) → no-op - Below cap → no-op - Over cap → live → .1, returns true - Existing backups shift up: .1 → .2, .2 → .3 - At maxBackups limit → oldest dropped, others shift, live becomes .1 - Idempotent: rotating twice keeps the chain consistent - maxBackups=1: never grows past .1 - Invalid maxBytes (0/negative/NaN) → safe no-op - Provided debug callback receives a "rotated" message - File without extension still rotates correctly main.js now imports `maybeRotateLogFile` and calls it directly. 97/97 tests pass. |
||
|---|---|---|
| .. | ||
| backup-crypto.test.js | ||
| config-store.test.js | ||
| hosters.test.js | ||
| log-rotation.test.js | ||
| remote-config.test.js | ||
| remote-server.test.js | ||
| semaphore.test.js | ||
| throttle.test.js | ||
| ui-smoke.js | ||
| upload-manager.test.js | ||