import { test } from '@japa/runner' import { classKey, describeClass, pendingClass } from '#lib/release/index' test.group('release / pendingClass', () => { test('size bucket × name shape × partial, as names.rs pending_class', ({ assert }) => { // The same cases as the Rust test. assert.equal(pendingClass('c04212a389cf69edc54767355ab5285f', 5_000_000, false), 15) assert.equal(pendingClass('c04212a389cf69edc54767355ab5285f', 5_000_000, true), 16) assert.equal(pendingClass('Zx5AjNaK-mh7CFg6Hf8uu', 500_000_000, false), 3 * 14 + 5 * 2 + 1) assert.equal(pendingClass('1650777167', 100, false), 3) assert.equal( pendingClass('mrrtmzrzmi4dgmrzmyytqmlbztczbx', 2_000_000_000, false), 4 * 14 + 2 * 2 + 1 ) assert.equal(pendingClass('PsNdnYiugfZ.rar', 20_000_000, false), 2 * 14 + 3 * 2 + 1) assert.equal(pendingClass('n5d1ueIf34X', 20_000_000, true), 2 * 14 + 4 * 2 + 2) assert.equal(pendingClass('sgkra vU7u2yuw9LDLCjDu04pOez', 999, false), 13) assert.equal(describeClass(16), '1-10M hex partial') assert.equal(describeClass(3 * 14 + 5 * 2 + 1), '100M-1G separators') assert.equal(classKey('nyuu', 'alt.binaries.boneless', 16), 'nyuu\talt.binaries.boneless\t16') }) })