mirror of
https://github.com/nimbold/Firelink.git
synced 2026-08-12 04:26:57 +00:00
feat(torrents): support tracker exclusion
This commit is contained in:
@@ -6,6 +6,7 @@ import {
|
||||
downloadMediaKindsMatch,
|
||||
MAX_DOWNLOAD_FILENAME_BYTES,
|
||||
canonicalizeDownloadFileName,
|
||||
isValidTorrentExcludeTrackerList,
|
||||
isValidTorrentTrackerList,
|
||||
redactDownloadForPersistence,
|
||||
resolveDownloadConnections
|
||||
@@ -66,6 +67,14 @@ describe('Torrent tracker input validation', () => {
|
||||
expect(isValidTorrentTrackerList('https://tracker.example/announce,')).toBe(false);
|
||||
expect(isValidTorrentTrackerList(Array.from({ length: 65 }, (_, index) => `https://tracker${index}.example/announce`).join('\n'))).toBe(false);
|
||||
});
|
||||
|
||||
it('accepts wildcard exclusions but rejects ambiguous mixtures', () => {
|
||||
expect(isValidTorrentExcludeTrackerList('*')).toBe(true);
|
||||
expect(isValidTorrentExcludeTrackerList('https://tracker.example/announce\nudp://tracker.example:6969/announce')).toBe(true);
|
||||
expect(isValidTorrentExcludeTrackerList('*,https://tracker.example/announce')).toBe(false);
|
||||
expect(isValidTorrentExcludeTrackerList('https://tracker.example/announce,*')).toBe(false);
|
||||
expect(isValidTorrentExcludeTrackerList('https://user:pass@tracker.example/announce')).toBe(false);
|
||||
});
|
||||
});
|
||||
|
||||
describe('download connection resolution', () => {
|
||||
|
||||
Reference in New Issue
Block a user