Module:Unité/Test
Apparence
[voir] [modifier] [historique] [purger]
Ce module est principalement destiné à implémenter le modèle {{Unité}}.
Utilisation
Fonctions exportables
unite( frame )
– implémente le modèle unité. Les paramètres sont pris soit au niveau du modèle appelant le module via #invoke, soit directement dans la table fournie lorsque la fonction est appelée depuis un autre module. Essaye de parser les deux premiers paramètres pour facilité la saisie (par exemple fonction avecp.unite{ '1.23 ±0.05 e5 m/s-2' }
) ;_unite( args )
– affiche l'unité à partir des paramètres classiques du modèle Unité (exemplep._unite{ '1.23', 'm', '/s', '-2', ['±'] = '0.05', e='5' }
) ;formatNombres( texte )
– formate tous les nombres de la chaine fournie suivant les conventions du français ;formatNombre( nombre )
– transforme un nombre formaté ou non en chaine formatée suivant les conventions du français ; si la chaine n'est pas reconnue comme un nombre, elle n'est pas modifiée ;_formatNum( num )
– transforme un number, ou une chaine correspondant à un number en chaine formatée suivant les conventions du français ; si le paramètre ne représente pas un number lua il est retourné sans modification ;parseNombre( nombre )
– transforme si possible une chaine formatée en un chaine interprétable par tonumber() (retourne une chaine pour éviter les arrondis éventuels de lua) ; les chaines non reconnues sont retournées sans modification.
Autres fonctions
sanitizeNum( nombre )
– transforme les signes moins en tiret, les espaces insécables en espace simple (simplifie les pattern ultérieures) ;parseUnit( texte )
– essaye de séparer une chaine en différents paramètres du modèle unité ;nomUnit( unit, exposant )
– retourne si possible le nom de l'unité et son exposant en toute lettre.
Modules externes et autres éléments dont ce module a besoin pour fonctionner
- Module:Unité/Data – Liste d'unités et de multiples, avec leur abréviation et leur nom en toute lettre.
- Module:Delink – Utilisé pour supprimer les liens des unités pour essayer de les reconnaitre.
Exemples
Pour des exemples, voir la page de test permettant de tester diverses modifications apportées.
Voir aussi : les tests unitaires et ceux du bac à sable.
La documentation de ce module est générée par le modèle {{Documentation module}}.
Elle est incluse depuis sa sous-page de documentation. Veuillez placer les catégories sur cette page-là.
Les éditeurs peuvent travailler dans le bac à sable (modifier).
Voir les statistiques d'appel depuis le wikicode sur l'outil wstat et les appels depuis d'autres modules.
-- Test unitaire pour [[Module:Date]]. Cliquer sur « Discussion » pour voir le résultat du test.
local p = require('Module:UnitTests')
local Unit = require( 'Module:' .. mw.title.getCurrentTitle().baseText )
function p:test01_sanitizeNum()
local function test( str, result, comment )
local text = str
if comment then
text = str .. ' (' .. comment .. ')'
end
self:equals( text, unit.sanitizeNum( str ), result )
end
test( '1', '1' )
test( '1234', '1234' )
test( ' 1234', '1234', 'espace avant' )
test( '1234 ', '1234', 'espace après' )
test( '1234\n', '1234', 'retour ligne après' )
test( ' 1234', '1234', 'tab avant' )
test( '1234 ', '1234', 'espace insécable après' )
test( '1.234', '1.234' )
test( '1,234', '1,234' )
test( '1 234', '1 234' )
test( '1 234', '1 234', 'espace insécable' )
test( '1 234', '1234', 'espace fine' )
test( '1 234', '1234', 'espace fine insécable' )
test( '1 234', '1 234', ' ' )
test( '-1234', '-1234' )
test( '−1234', '-1234', 'signe moins' )
test( '–1234', '-1234', 'demi cadratin' )
test( '−1234', '-1234', 'amp;minus;' )
end
return p