Module:Date complexe/Test
Apparence
[voir] [modifier] [historique] [purger]
Fonctions permettant de mettre en forme des dates non gérées par Module:Date, en particulier celles concernant une plage de temps plutôt qu'une date ponctuelle.
Pour un meilleur rendu, il est souvent préférable de passer comme argument plutôt que des chaînes des tables sous la forme{year = number, month = number, day = number, precision = string or number, calendar = string}
Fonctions
[modifier le code]p.simplestring(dateobject, displayformat)
prend un objet date et le transforme en chaîne en fonction des paramètres passée en deuxième paramètre.
p.between(startpoint, endpoint, displayformat)
. Retourne "entre startpoint et endpoint". Si startpoint est absent, retourn "avant endpoint". Si endpoint est absent, retourne "après startpoint".
p.daterange(startpoint, endpoint, displayformat)
. Retourne "de startpoint à endpoint". Si startpoint est absent, retourn "jusqu'à endpoint". Si endpoint est absent, retourne "à partir de startpoint".
p.splitDate(str)
transforme une chaîne en objet date.
p.duration(startpoint, endpoint)
. Retourne la durée en jours, mois années entre startpoint et endpoint
p.before(a, b)
. Retourne true si b est avant a.
p.equal(a, b, precision)
retourne true si a et b sont identiques jusqu'à un certain niveau de précision ("day", "month" ou "year")
Exemples
[modifier le code]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 complexe]], voir résultats sur la page de discussion
local p = require "Module:UnitTests"
local t = require "Module:Date complexe"
function p:test_before()
self:equals('2001, 1900', t.before('2001', '1900'), true)
self:equals('1900, 2001', t.before('1900', '2001'), false)
self:equals('1900, 1900', t.before('1900', '1900'), true)
self:equals('1900-01-01, 1900', t.before('1900-01-01', '1900'), true)
-- deux valeurse discutables, mais plus pratique de dire que before(a,a = true) et Wikidata traite 1900 comme 1900-01-01
self:equals('1900, 1900-01-01', t.before('1900', '1900-01-01'), true)
self:equals('1900, 1900-01-02', t.before('1900', '1900-01-02'), false)
self:equals('1900-01-01, 1900-01-01', t.before('1900-01-01', '1900-01-01'), true)
self:equals('2001-01-01, 1900-01-01', t.before('2001-01-01', '1900-01-01'), true)
self:equals('1900-01-01, 2001-01-01', t.before('1900-01-01', '2001-01-01'), false)
self:equals('1900-01-01, 2001', t.before('1900-01-01', '2001'), false)
self:equals("+1900-01-01T00:00:00Z, +1900-01-01T00:00:00Z", t.before("+1900-01-01T00:00:00Z", "+1900-01-01T00:00:00Z"), true)
self:equals("+1900-01-01T00:00:00Z, +2001-01-01T00:00:00Z", t.before("+1900-01-01T00:00:00Z", "+2001-01-01T00:00:00Z"), false)
self:equals("+1900-01-01T00:00:00Z, +2001", t.before("+1900-01-01T00:00:00Z", "+2001"), false)
self:equals("+1900-01-01T00:00:00Z, +2001-02", t.before("+1900-01-01T00:00:00Z", "+2001-02"), false)
self:equals("+1900-01-01T00:00:00Z, +1899", t.before("+1900-01-01T00:00:00Z", "+1899"), true)
self:equals("+1900-01-01T00:00:00Z, +1899-02", t.before("+1900-01-01T00:00:00Z", "+1899-02"), true)
end
function p:test_before_eratest()
self:equals('-, +', t.before('-', '+'), false)
self:equals('+, -', t.before('+', '-'), true)
self:equals('-1900, 1900', t.before('-1900', '1900'), false)
self:equals('1900, -1900', t.before('1900', '-1900'), true)
self:equals('-1900, 1800', t.before('-1900', '1800'), false)
self:equals('1900, -1900', t.before('1900', '-1900'), true)
end
return p