1
0
mirror of https://github.com/badges/shields.git synced 2025-04-18 19:44:04 +03:00
shields/services/github/github-code-size.tester.js
chris48s 151c70dd17
Add ability to format bytes as metric or IEC; affects [bundlejs bundlephobia ChromeWebStoreSize CratesSize DockerSize GithubRepoSize GithubCodeSize GithubSize NpmUnpackedSize SpigetDownloadSize steam VisualStudioAppCenterReleasesSize whatpulse] (#10547)
* add renderSizeBadge helper, use it everywhere

- switch from pretty-bytes to byte-size
- add renderSizeBadge() helper function
- match upstream conventions for metric/IEC units
- add new test helpers and use them in service tests

* unrelated: fix npm unpacked size query param schema

not strictly related to this PR
but I noticed it was broken

* chromewebstore: reformat size string, test against isIecFileSize
2024-12-01 19:53:26 +00:00

25 lines
659 B
JavaScript

import { isIecFileSize } from '../test-validators.js'
import { createServiceTester } from '../tester.js'
export const t = await createServiceTester()
t.create('code size in bytes for all languages')
.get('/badges/shields.json')
.expectBadge({
label: 'code size',
message: isIecFileSize,
})
t.create('code size in bytes for all languages (empty repo)')
.get('/pyvesb/emptyrepo.json')
.expectBadge({
label: 'code size',
message: '0 B',
})
t.create('code size in bytes for all languages (repo not found)')
.get('/not-a-real-user/not-a-real-repo.json')
.expectBadge({
label: 'code size',
message: 'repo not found',
})