UNIT TEST PROTOCOL
bip39_utils.js — Extras
www/js/crypto/bip39_utils.js · tests/jest/unit/crypto/bip39_extras.test.js
📁
www/js/crypto/
📝 Fonctions complémentaires BIP39 : MnemonicsAs4letter, MnemonicsAsTwoParts, LabelWithSize.
27
Tests
27
Passing
0
Skipped
4
Suites
▸
PrivateKeyToMnemonics
retourne une chaîne pour une clé privée valide de 64 chars
pass
retourne 24 mots pour une clé de 32 bytes
pass
est déterministe — même clé → même résultat
pass
accepte une clé avec préfixe 0x
pass
produit des mnemonics différents pour des clés différentes
pass
retourne une erreur si la clé n'est pas hexadécimale
pass
retourne une erreur si la clé est trop courte (<32 bytes)
pass
retourne une erreur si la clé est trop longue (>32 bytes)
pass
▸
MnemonicsAs4letter
retourne une chaîne non vide
pass
retourne exactement 4 × nb_mots chars pour des mots de 4+ lettres
"abandon" × 12 → 48 chars
pass
chaque préfixe commence par une majuscule
pass
est déterministe
pass
produit des résultats différents pour des mnemonics différents
pass
fonctionne avec 24 mots → min(len(mot), 4) chars par mot
Calcul dynamique — robuste aux mots de 3 lettres (ex: "art")
pass
vecteur de référence : "abandon" → préfixe "Aban"
pass
▸
MnemonicsAsTwoParts
retourne un tableau pour 12 mots
pass
retourne [phrase, ""] pour 12 mots
pass
retourne 2 parties pour 24 mots
pass
chaque partie des 24 mots est non vide
pass
les 2 parties de 24 mots totalisent 24 mots
pass
les deux parties reconstituent les mnemonics d'origine
pass
retourne "Null-MNEMONICS" pour undefined
pass
fonctionne avec 15 mots (7 + 8)
pass
▸
LabelWithSize
retourne "data(size)" pour data="entropy" et size=256
pass
retourne "checksum(4)" pour data="checksum" et size=4
pass
fonctionne avec size=0
pass
est déterministe
pass