Module:Unité/Test

Une page de Wikipédia, l'encyclopédie libre.

 Documentation[voir] [modifier] [historique] [purger]

Ce module est principalement destiné à implémenter le modèle {{Unité}}.

Utilisation[modifier le code]

Fonctions exportables[modifier le code]

  • 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 avec p.unite{ '1.23 ±0.05 e5 m/s-2' }) ;
  • _unite( args ) – affiche l'unité à partir des paramètres classiques du modèle Unité (exemple p._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[modifier le code]

  • 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[modifier le code]

  • 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[modifier le code]

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.

-- 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 )
local template = mw.title.getCurrentTitle().baseText

local tableExemple = { '1' }
local frame = mw.getCurrentFrame()
local ref = frame:extensionTag( 'ref', 'blabla' )
local nowiki = frame:extensionTag( 'nowiki', '[[Arles]] : ' )

function p:test01_sanitizeNum()
	local function test( param, expected, comment )
		local text = tostring( param )
		if comment then
			if text:match( '\n$' ) then
				text = text .. '(' .. comment .. ')'
			else
				text = text .. ' (' .. comment .. ')'
			end
		end
		self:equals( text, Unit.sanitizeNum( param ), expected )
	end
	test( nil, '', 'pas de paramètre' )
	test( '', '', 'chaine vide' )
	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,567', '1,234,567' )
	test( '1 234', '1 234' )
	test( '1 234', '1 234', 'espace insécable' )
	test( '1 234', '1 234', 'espace fine' )
	test( '1 234', '1 234', '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;' )
	test( nowiki .. '1234' .. ref, nowiki .. '1234' .. ref, 'avec strip marker' )
end

function p:test02_parseNombre()
	local function test( param, expected, comment )
		local text = tostring( param )
		if comment then
			text = text .. ' (' .. comment .. ')'
		end
		self:equals( text, Unit.parseNombre( param ), expected )
	end
	test( nil, '', 'pas de paramètre' )
	test( '', '', 'chaine vide' )
	test( '1', '1' )
	test( '1234', '1234' )
	test( '1 234', '1234' )
	test( '1 234', '1234', 'espace insécable' )
	test( '1 234', '1234', ' ' )
	test( '12345678901234567890', '12345678901234567890' )
	test( '12 345 678 901 234 567 890', '12345678901234567890' )
	test( '1.234', '1.234' )
	test( '1,234', '1.234' )
	test( '1.234,567', '1.234567', 'pour être compatible avec l’ancien comportement du modèle' )
	test( '1,234.567', '1234.567' )
	test( '-1234,567', '-1234.567' )
	test( '−1234,567', '-1234.567', 'signe moins' )
	test( '²', '2' )
	test( '⁴', '4' )
	test( '10³', '10³' )
end

function p:test03_formatNum()
	local function test( param, expected, comment )
		local text = tostring( param )
		if type( param ) == 'table' then
			text = table_to_str( param )
		end
		if comment then
			text = text .. ' (' .. comment .. ')'
		end
		self:equals( text, Unit.formatNum( param ), expected )
	end
	test( nil, nil, 'pas de paramètre' )
	test( '', '', 'chaine vide' )
	test( '1', '1' )
	test( '1234', '1 234' )
	test( '12345678901234567890', '12 345 678 901 234 567 890' )
	test( '1.234', '1,234' )
	test( '1.2345', '1,234 5' )
	test( '1.234567', '1,234 567' )
	test( '1.2345678901234567890', '1,234 567 890 123 456 789 0' )
	test( '1234.56789', '1 234,567 89' )
	test( '1.230', '1,230' )
	test( '-1', '−1' )
	test( '-1234.56', '−1 234,56' )
	test( 1234, '1 234', 'number' )
	test( 1234.567890, '1 234,567 89' )
	test( -1234, '−1 234' )
	test( { '1234' }, '1 234', 'table' )
	test( { 1234 }, '1 234', 'table contenant un number' )
	test( { '1.234', round  = '2' }, '1,23' )
	test( { '1.2', round  = '2' }, '1,2' )
	test( { '1234', round  = '2' }, '1 234' )
	test( { '1234', round  = '-1' }, '1 230' )
	test( { 1.234, round  = 2 }, '1,23', 'numbers' )
	test( { '1.234', decimals = '2' }, '1,23' )
	test( { '1.2', decimals  = '2' }, '1,20' )
	test( { '1.2', decimals  = '5' }, '1,200 00' )
	test( { '1234', decimals  = '2' }, '1 234,00' )
	test( { '1234', decimals  = '-1' }, '1 230' )
	test( '1.234e5', '1,234 × 10<sup>5</sup>' )
	test( '1.234E5', '1,234 × 10<sup>5</sup>' )
	test( 1.234e5, '123 400', 'number sous forme 1.234e5' )
	test( 1.234e18, '1,234 × 10<sup>18</sup>', 'number sous forme 1.234e18' )
	test( '-1.234e-5', '−1,234 × 10<sup>−5</sup>' )
	test( { '1.234e5' }, '1,234 × 10<sup>5</sup>' )
	test( { '1.234e5', noHtml = true }, '1,234 × 10⁵' )
end

function p:test04_formatNombre()
	local function test( param, param2, param3, expected, comment )
		local text = tostring( param )
		if param2 or param3 then
			text = param ..  ' / ' .. tostring( param2 ) ..  ' / ' .. tostring( param3 )
		end
		if comment then
			text = text .. ' (' .. comment .. ')'
		end
		self:equals( text, Unit.formatNombre( param, param2, param3 ), expected )
	end
	test( nil, nil, nil, '', 'pas de paramètre' )
	test( '', nil, nil, '', 'chaine vide' )
	test( '1', nil, nil, '1' )
	test( '−1&nbsp;234', nil, nil, '−1 234' )
	test( '1.234', '2', nil, '1,23' )
	test( '1.234', nil, '2', '1,23' )
	test( '1.234', nil, '5', '1,234 00' )
	test( '1', nil, '2', '1,00' )
	test( '', '2', nil, '' )
	test( '', nil, '2', '' )
end

function p:test05_formatNombres()
	local function test( param, param2, param3, expected, comment )
		local text = tostring( param )
		if param2 or param3 then
			text = param ..  ' / ' .. tostring( param2 ) ..  ' / ' .. tostring( param3 )
		end
		if comment then
			text = text .. ' (' .. comment .. ')'
		end
		self:equals( text, Unit.formatNombres( param, param2, param3 ), expected )
	end
	test( nil, nil, nil, '', 'pas de paramètre' )
	test( '', nil, nil, '', 'chaine vide' )
	test( '1', nil, nil, '1' )
	test( '−1&nbsp;234.5', nil, nil, '−1 234,5' )
	test( '5.678e3', nil, nil, '5,678 × 10<sup>3</sup>' )
	test( '1.567,89', nil, nil, '1,567 89' )
	test( '1.234', '2', nil, '1,23' )
	test( '1.234', nil, '2', '1,23' )
	test( '1.234', nil, '5', '1,234 00' )
	test( 'environ 1234.5', nil, nil, 'environ 1 234,5' )
	test( 'entre −1&nbsp;234.5 et 5.678e3', nil, nil, 'entre −1 234,5 et 5,678 × 10<sup>3</sup>' )
	test( 'de 0,2 jusqu\'à 1.567,89', nil, 5, 'de 0,200 00 jusqu\'à 1,567 89' )
	test( '1234-5678', nil, nil, '1 234-5 678' )
	test( nowiki .. '1234', nil, nil, nowiki .. '1 234', 'avec nowiki' )
	test( '1234' .. ref, nil, nil, '1 234' .. ref, 'avec ref' )
end

function p:test06_parseUnit()
	local function test( param, expected, comment )
		local text = tostring( param )
		if comment then
			text = text .. ' (' .. comment .. ')'
		end
		local result = Unit.parseUnit( param )
		if result.prefix == '' then
			result.prefix = nil
		end
		self:equals_deep( text, result, expected )
	end
	test( nil, {}, 'pas de paramètre' )
	test( '', {}, 'chaine vide' )
	test( '1', { '1' } )
	test( '1,234.567', { '1,234.567' } )
	test( '1 234', { '1 234' } )
	test( '&minus;1&nbsp;234', { '-1 234' } )
	test( '1 m', { '1', 'm' } )
	test( '1 m2', { '1', 'm', '2' } )
	test( '1 km²', { '1', 'km', '2' } )
	test( '1 m³', { '1', 'm', '3' } )
	test( '1 m<sup>2</sup>', { '1', 'm', '2' }, 'HTML <nowiki><sup></nowiki>' )
	test( '1 m2 s-1', { '1', 'm', '2', 's', '-1' } )
	test( '1 m2/s', { '1', 'm', '2', '/s' } )
	test( '5 km / h', { '5', 'km', '', '/ h' } )
	test( '1 J2K3s-1', { '1', 'J', '2', 'K', '3', 's', '-1' } )
	test( '1 J kg m−2', { '1', 'J', '', 'kg', '', 'm', '-2' } )
	test( '1 kilomètres par heure', { '1', 'kilomètres par heure' } )
	test( '43 700 / jour', { '43 700', '/ jour' } )
	test( '1 [[mètre carré|m{{exp|2}}]]', { '1', '[[mètre carré|m{{exp|2}}]]' } )
	test( '1 [[mètre carré|m]]2', { '1', '[[mètre carré|m]]', '2' } )
	test( '10 [[parsec]]s', { '10', '[[parsec]]s' } )
	test( '1.23456789e15', { '1.23456789', e='15' } )
	test( '1.23456789 e15', { '1.23456789', e='15' } )
	test( '1.23456789x10e-15', { '1.23456789', e='-15' } )
	test( '1.23456789x10^-15', { '1.23456789', e='-15' } )
	test( '40.234°C', { '40.234', '°C' } )
	test( 'm', { false, 'm' } )
	test( 'm2', { false, 'm', '2' } )
	test( 'e3 m2', { false, 'm', '2', e='3' } )
	test( 'x10e3 m2', { false, 'm', '2', e='3' } )
	test( '10<sup>3</sup> m2', { false, 'm', '2', e='3' }, 'HTML <nowiki><sup></nowiki>'  )
	test( '55 à 56 cal', { '55', 'cal', ['à'] = '56' } )
	test( '55 et 56 cal', { '55', 'cal', et = '56' } )
	test( '55-56 cal', { '55', 'cal', ['–'] = '56' } )
	test( '100±9 mm', { '100', 'mm', ['±'] = '9' } )
	test( '100+-9 mm', { '100', 'mm', ['±'] = '9' } )
	test( '100+/-9 mm', { '100', 'mm', ['±'] = '9' } )
	test( '+/-9 mm', { false, 'mm', ['±'] = '9' } )
	test( '100,5 +/- 9.3 e5 mm', { '100,5', 'mm', ['±'] = '9.3', e = '5' } )
	test( '95+5-4 m', { '95', 'm', ['+'] = '5', ['−'] = '4' } )
	test( '29.7 x 21 cm', { '29.7', 'cm', ['×'] = '21' } )
	test( '50x25x3 m', { '50', 'm', ['×'] = '25', ['××'] = '3' } )
	test( '[[Kilojoule|kJ]] [[Mole (unité)|mol]]-1', { false, '[[Kilojoule|kJ]]', '', '[[Mole (unité)|mol]]', '-1' } )
	test( 'hab./km2', { false, 'hab.', '', '/km', '2' } )
	test( 'fl oz', { false, 'fl oz' } )
	test( 'fl. oz.', { false, 'fl. oz.' } )
	test( 'fl.oz.', { false, 'fl.oz.' } )
	test( '1.266,865,3 e17 m3s−2', { '1.266,865,3', 'm', '3', 's', '-2', e = "17" } )
	test( '2.518 021 002… eV', { '2.518 021 002…', 'eV' } )
	test( '2 1/2 lb', { '2', 'lb', fraction = '1/2' } )
	test( '2 ½ lb', { '2', 'lb', fraction = '1/2' } )
	test( '1/2 lb', { '', 'lb', fraction = '1/2' } )
	test( '1/2', { '', fraction = '1/2' } )
	test( '½', { '', fraction = '1/2' } )
	test( '1 / 2 lb', { '1', 'lb', ['/'] = '2' } )
	test( '(6~10)', { '(6~10)' } )
	test( '? m', { false, 'm', prefix = '?' } )
	test( '2 €', { '2', '€' } )
	test( '€', { false, '€' } )
	test( '+1.23 m', { '+1.23', 'm' } )
	test( '~2 m', { '2', 'm', prefix = '~' } )
	test( '~ 2 m', { '2', 'm', prefix = '~ ' } )
	test( '1.23 « m »', { '1.23', '«','', 'm','', '»' } )
	test( '« m »', { false, '«','', 'm','', '»' } )
	test( '3 km/€', { '3', 'km', '', '/€' } )
	test( '> 2 km', { '2', 'km', prefix = '> ' } )
	test( '>2 km', { '2', 'km', prefix = '>' } )
	test( '1.23(4) eV', { '1.23(4)', 'eV' } )
	test( '(1,234 ±0,45) mas/a', { '1,234', 'mas', '', '/a', ['±']='0,45)', prefix = '(' } )
	test( 'env. 238 km', { '238', 'km', prefix = 'env. ' } )
	test( 'env, 238 km', { '238', 'km', prefix = 'env, ' } )
	test( 'essence : 238 km', { '238', 'km', prefix = 'essence : ' } )
	test( 'moteur essence : 238 km', { '238', 'km', prefix = 'moteur essence : ' } )
	test( 'env. : 238 km', { '238', 'km', prefix = 'env. : ' } )
	test( "'''4000''' $", { "'''4000'''", '$' } )
	test( '110 / 220 / 380 V', { '110', ['/'] = '220', ['//'] = '380' , 'V' } )
	test( '4.4 l/100km', { '4.4', 'l', '', '/100km' } )
	test( '300 mg / 24 h', { '300', 'mg', '', '/ 24 h' } )
end

function p:test07_nomUnit()
	local function test( param, expected )
		self:equals( param, Unit.nomUnit( param ), expected )
	end
	test( 'm', 'mètre' )
	test( 'km', 'kilomètre' )
	test( 'kilomètre', 'kilomètre' )
	test( '100km', 'cent kilomètres' )
	test( '24 h', 'vingt-quatre heures' )
end

function p:test08__unite()

end

p['test09_modèle_unité'] = function ( self )
	self:preprocess_equals_many( '{{' .. template .. '|', '}}', {
        { '1', '1' },
        { '1234567', '1 234 567' },
        { '-1234567.89', '−1 234 567,89' },
        { '1.23456789|e=15', '1,234 567 89 × 10<sup>15</sup>' },
        { '1.234 567 89|e=15', '1,234 567 89 × 10<sup>15</sup>' },
        { '1.234,567,89|e=15', '1,234 567 89 × 10<sup>15</sup>' },
        { '10000|km', '10 000 <abbr class="abbr" title="kilomètre">km</abbr>' },
        { '10000|km/h', '<span title="2 777,78 m/s" style="cursor:help">10 000</span> <abbr class="abbr" title="kilomètre par heure">km/h</abbr>' },
        { '10000|km|2', '10 000 <abbr class="abbr" title="kilomètre carré">km<sup>2</sup></abbr>' },
        { '10000|km|3', '10 000 <abbr class="abbr" title="kilomètre cube">km<sup>3</sup></abbr>' },
        { '10000|kilomètres par heure', '<span title="2 777,78 m/s" style="cursor:help">10 000</span> kilomètres par heure' },
        { '10000|km||h|-1', '<span title="2 777,78 m/s" style="cursor:help">10 000</span> <abbr class="abbr" title="kilomètre par heure">km h<sup>−1</sup></abbr>' },
        { '10000|J|2|K|3|s|-1', '10 000 <abbr class="abbr" title="joule carré kelvin cube par seconde">J<sup>2</sup> K<sup>3</sup> s<sup>−1</sup></abbr>' },
        { '10000|J||kg||m|-2', '10 000 <abbr class="abbr" title="joule kilogramme par mètre carré">J kg m<sup>−2</sup></abbr>' },
        { '10 000|km', '10 000 <abbr class="abbr" title="kilomètre">km</abbr>' },
        { '10 000 km', '10 000 <abbr class="abbr" title="kilomètre">km</abbr>' },
        { '−40.234|°C', '<span title="−40,4 °F ou 232,9 K" style="cursor:help">−40,234</span> <abbr class="abbr" title="degré Celsius">°C</abbr>' },
        { '1|[[mètre carré|m{{exp|2}}]]', '1 [[mètre carré|m<sup>2</sup>]]' },
        { '1|[[mètre carré|m]]|2', '1 <abbr class="abbr" title="mètre carré">[[mètre carré|m]]<sup>2</sup></abbr>' },
        { '10{{exp|−1}}|m', '10<sup>−1</sup> <abbr class="abbr" title="mètre">m</abbr>' },
        { '|e=-1|m', '10<sup>−1</sup> <abbr class="abbr" title="mètre">m</abbr>' },
        { 'e=-1|m', '10<sup>−1</sup> <abbr class="abbr" title="mètre">m</abbr>' },
        { '55|à=56|cal', '<span title="230,451 1 J" style="cursor:help">55</span> à <span title="234,641 12 J" style="cursor:help">56</span> <abbr class="abbr" title="calorie">cal</abbr>' },
        { '100|±=9|mm', '100 ± 9 <abbr class="abbr" title="millimètre">mm</abbr>' },
        { '1.23|±=0.09|e=5|Bq', '(1,23 ± 0,09) × 10<sup>5</sup> <abbr class="abbr" title="becquerel">Bq</abbr>' },
        { '100|+=5|−=4|mm', '100<span class="nowrap"><span style="display:inline-block; padding-left:0.2em; vertical-align:top; line-height:1em; font-size:80%; text-align:left;">+5<br> −4</span></span> <abbr class="abbr" title="millimètre">mm</abbr>' },
        { '18.23|g||l|-1|M=36.46', '<span title="0,5 mol/l" style="cursor:help">18,23</span> <abbr class="abbr" title="gramme par litre">g l<sup>−1</sup></abbr>' },
        { '1.82|g||cm|-3|M=30.973762', '<span title="1 820 kg/m³ ou 1,701 855 × 10⁻⁵ m³/mol" style="cursor:help">1,82</span> <abbr class="abbr" title="gramme par centimètre cube">g cm<sup>−3</sup></abbr>' },
        { '1.23456789 e15', '1,234 567 89 × 10<sup>15</sup>' },
        { '-1.23456789 x10e-15', '−1,234 567 89 × 10<sup>−15</sup>' },
        { '10000 km/h', '<span title="2 777,78 m/s" style="cursor:help">10 000</span> <abbr class="abbr" title="kilomètre par heure">km/h</abbr>' },
        { '10000 km2', '10 000 <abbr class="abbr" title="kilomètre carré">km<sup>2</sup></abbr>' },
        { '10000 km²', '10 000 <abbr class="abbr" title="kilomètre carré">km<sup>2</sup></abbr>' },
        { '10000 m3', '10 000 <abbr class="abbr" title="mètre cube">m<sup>3</sup></abbr>' },
        { '10000 km h-1', '<span title="2 777,78 m/s" style="cursor:help">10 000</span> <abbr class="abbr" title="kilomètre par heure">km h<sup>−1</sup></abbr>' },
        { '10 000 J2 K3 s-1', '10 000 <abbr class="abbr" title="joule carré kelvin cube par seconde">J<sup>2</sup> K<sup>3</sup> s<sup>−1</sup></abbr>' },
        { '−40,234 °C', '<span title="−40,4 °F ou 232,9 K" style="cursor:help">−40,234</span> <abbr class="abbr" title="degré Celsius">°C</abbr>' },
        { 'e-1 m', '10<sup>−1</sup> <abbr class="abbr" title="mètre">m</abbr>' },
        { 'x10e3 m', '10<sup>3</sup> <abbr class="abbr" title="mètre">m</abbr>' },
        { '55 ou 56 cal', '<span title="230,451 1 J" style="cursor:help">55</span> ou <span title="234,641 12 J" style="cursor:help">56</span> <abbr class="abbr" title="calorie">cal</abbr>' },
        { '100±9 mm', '100 ± 9 <abbr class="abbr" title="millimètre">mm</abbr>' },
        { '1.23 +/-0.09 e5 Bq', '(1,23 ± 0,09) × 10<sup>5</sup> <abbr class="abbr" title="becquerel">Bq</abbr>' },
        { '100+5-4 mm', '100<span class="nowrap"><span style="display:inline-block; padding-left:0.2em; vertical-align:top; line-height:1em; font-size:80%; text-align:left;">+5<br> −4</span></span> <abbr class="abbr" title="millimètre">mm</abbr>' },
        { '29.7 x 21 cm', '29,7 × 21 <abbr class="abbr" title="centimètre">cm</abbr>' },
        { '50x25x3 m', '50 × 25 × 3 <abbr class="abbr" title="mètre">m</abbr>' },
        { '123,45678 | décimales=1', '123,5' },
        { '123,45678 | décimales=-1', '120' },
        { '123,45678 | décimales=6', '123,456 780' },
        { '1,2345 e5 m3 | décimales=1', '1,2 × 10<sup>5</sup> <abbr class="abbr" title="mètre cube">m<sup>3</sup></abbr>' },
        { '1,2345 x10^5 m3 | décimales=6', '1,234 500 × 10<sup>5</sup> <abbr class="abbr" title="mètre cube">m<sup>3</sup></abbr>' },
        { '2.518 021 002…|e=-8|W||m|-2', '2,518 021 002… × 10<sup>−8</sup> <abbr class="abbr" title="watt par mètre carré">W m<sup>−2</sup></abbr>' },
        { '1000|[[Paire de bases|bp]]||s|-1', '1 000 <abbr class="abbr" title="bp par seconde">[[Paire de bases|bp]] s<sup>−1</sup></abbr>' },
        { '10{{exp|34}}|cm|-2|s|-1', '10<sup>34</sup> <abbr class="abbr" title="par centimètre carré seconde">cm<sup>−2</sup> s<sup>−1</sup></abbr>' },
        { '-61.9|[[Kilojoule|kJ]]||[[Mole (unité)|mol]]|-1', '<span title="−0,641 548 eV ou −14 794,471 4 cal(th)/mol" style="cursor:help">−61,9</span> <abbr class="abbr" title="kilojoule par mole">[[Kilojoule|kJ]] [[Mole (unité)|mol]]<sup>−1</sup></abbr>' },
        { '12.03 hab./km2', '12,03 <abbr class="abbr" title="habitant par kilomètre carré">hab./km<sup>2</sup></abbr>' },
        { '320 / 270 km/h', '<span title="88,888 96 m/s" style="cursor:help">320</span> / <span title="75,000 06 m/s" style="cursor:help">270</span> <abbr class="abbr" title="kilomètre par heure">km/h</abbr>' },
        { '5|chrétiens orthodoxes', '5 chrétiens orthodoxes' },
        { '5 chrétiens orthodoxes', '5 chrétiens orthodoxes' },
        { '110 ; 220 ; 380 V', '110 / 220 / 380 <abbr class="abbr" title="volt">V</abbr>' },
        { '', '' },
    })
end
	
	
	
return p