mirror of
https://github.com/IliesAllali/parenthese.git
synced 2026-11-14 08:30:50 +00:00
- API : nickname accepté à la création, à la modification et dans les propositions de contribution (trim, vide = null, 120 caractères max) - Mode direct et circuit des contributions : même validation, avant/après - Édition et ajout : champ « Surnom » facultatif - Arbre : surnom en italique sous le nom, coupé avec … au-delà de 150 px - Recherche : trouve une personne par son surnom (libellé « Surnom ») - Démo : surnoms sur Marie et Robert Vérifié : lint, tests (front 159, back 224), builds (front, back tsc, landing). Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
18 lines
625 B
JavaScript
18 lines
625 B
JavaScript
import { describe, expect, it } from 'vitest'
|
|
import { fitNickname } from './nickname.js'
|
|
|
|
// Mesure fictive : 7 px par caractère, suffisant pour tester la règle de coupe
|
|
const ctx = { measureText: (text) => ({ width: text.length * 7 }) }
|
|
|
|
describe('fitNickname', () => {
|
|
it('garde le surnom entier quand il tient', () => {
|
|
expect(fitNickname(ctx, 'Loulou', 150)).toBe('Loulou')
|
|
})
|
|
|
|
it('coupe avec … sans dépasser la largeur', () => {
|
|
const out = fitNickname(ctx, 'Tonton Jojo de Brive', 70)
|
|
expect(out.endsWith('…')).toBe(true)
|
|
expect(ctx.measureText(out).width).toBeLessThanOrEqual(70)
|
|
})
|
|
})
|