Identity: a set's number before yEnc is no size; names after an arrow
Test and deploy / test (push) Successful in 49s
Test and deploy / edge (push) Successful in 1m59s
Test and deploy / deploy (push) Successful in 2m6s

- The unit-less size before the closing yEnc ('"x.mp3" - 8123 yEnc') took
  the set number in 'Newstar Destiny I set 1 [1 of 60] "destiny-001-001.jpg"
  yEnc' once the quotes were gone: 97 sets of 60 were one release. A number
  of fewer than 4 digits after a word stays.
- unquotedName also cuts after "-> " ("… -> [0001 of 0076] ->
  Exclusive-tgirls_000000-lg.jpg"): the arrow was part of the file name.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Daan MeijerandClaude Opus 5.5 committed 2026-10-12 06:46:19 +02:00
1 parent 18a146e130
commit e1d21d1e7c
6 files changed
+37 -5

No files matched your search

+11
View File
@@ -251,6 +251,17 @@ test.group('release / par2 names', () => {
]) assert.equal(imageSet(stem), set, stem)
})
test("a set's number before the closing yEnc is no size", ({ assert }) => {
const id = (subject: string, name: string) => releaseIdentity({ poster: 'p', subject, name, weak: false })!
const destiny = (set: number, i: number) => {
const name = `destiny-${String(set).padStart(3, '0')}-${String(i).padStart(3, '0')}.jpg`
return id(`Newstar Destiny I set ${set} [${i} of 60] "${name}" yEnc`, name)
}
assert.equal(destiny(1, 1).key, destiny(1, 2).key)
assert.notEqual(destiny(1, 1).key, destiny(63, 34).key)
assert.equal(destiny(63, 34).name, 'Newstar Destiny I set 63')
})
test('an image without words around it is keyed by its set', ({ assert }) => {
const id = (name: string, counter: string) => releaseIdentity({ poster: 'p', subject: `##[ "${name}" (${counter})`, name, weak: false })!
assert.equal(id('diana-040-001.jpg', '01/68').key, id('diana-040-002.jpg', '02/68').key)