Jump to content

Module:FarsiDate/testcases

د ويکيپېډيا، وړیا پوهنغونډ له خوا

لاسوند لپاره ددې موډيول کېدای سی په Module:FarsiDate/testcases/لاسوند کي وي

local p = require('Module:UnitTests')

local frame = mw.getCurrentFrame()
 
function p:testMain()
	self:preprocess_equals('{{#invoke:FarsiDate|main|۱۳۹۷|۱|۱|solar}}', '۱ وری ۱۳۹۷')
    self:preprocess_equals('{{#invoke:FarsiDate|main| ۱۳۹۷ | ۱ | ۱ | solar }}', '۱ وری ۱۳۹۷')
    self:preprocess_equals('{{#invoke:FarsiDate|main| 1397 | 1 | 1 | solar }}', '۱ وری ۱۳۹۷')
    self:preprocess_equals('{{#invoke:FarsiDate|main| 1397 | 1 | 1 | لمريز }}', '۱ وری ۱۳۹۷')
    self:preprocess_equals('{{#invoke:FarsiDate|main| 1370| 10 | 10 | لمريز }}', '۱۰ دی ۱۳۷۰')
    self:preprocess_equals('{{#invoke:FarsiDate|main| ۲۰۰۰ | ۱ | ۱ }}', '۱ جنوري ۲۰۰۰')
    self:preprocess_equals('{{#invoke:FarsiDate|main| 2000 | 1 | 1 }}', '۱ جنوري ۲۰۰۰')
    self:preprocess_equals('{{#invoke:FarsiDate|main| 2000 | 01 | 01 }}', '۱ جنوري ۲۰۰۰')
    self:preprocess_equals('{{#invoke:FarsiDate|main| 2000 | 1 }}', 'جنوري ۲۰۰۰')
    self:preprocess_equals('{{#invoke:FarsiDate|main| 2000 |}}', '۲۰۰۰')
    self:preprocess_equals('{{#invoke:FarsiDate|main| 2000 }}', '۲۰۰۰')
end

local function causesInvalidDateError(...)
  local success, result = pcall(frame.callParserFunction, frame, '#invoke', 'FarsiDate', 'main', unpack(arg))
  return result:match('.ليکل شوې نېټه ناسمه ده') and true or false
end

function p:testInvalidDates()
    self:equals('all valid', causesInvalidDateError(' 2000 ', ' 01 ', ' 01 '), false)
    self:equals('year only', causesInvalidDateError(' 2000 '), false)
    self:equals('valid month, no day', causesInvalidDateError(' 2000 ' , '1'), false)
    self:equals('invalid month, no day', causesInvalidDateError(' 2000 ', ' 00 '), true)
    self:equals('valid month, invalid day', causesInvalidDateError(' 2000 ', ' 0 ', ' 00 '), true)
end
 
return p