模組:YMD to ISO/testcases

维基百科,自由的百科全书
-- Unit tests for [[Module:YMD to ISO]]. Click talk page to run tests.

local p = require('Module:UnitTests')

function p:test1_Valid_YMD_date_Full_month_name()
    self:preprocess_equals('{{#invoke:YMD to ISO|main| 2000_January_17 }}', '2000-01-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 January 17}}', '2000-01-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 February 29}}', '2000-02-29')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|1900 February 28}}', '1900-02-28')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 March 17}}', '2000-03-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 April 17}}', '2000-04-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 May 17}}', '2000-05-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 June 17}}', '2000-06-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 July 17}}', '2000-07-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 August 17}}', '2000-08-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 September 17}}', '2000-09-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 October 17}}', '2000-10-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 November 17}}', '2000-11-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 December 17}}', '2000-12-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 december 17}}', '2000-12-17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 DECEMBER 17}}', '2000-12-17')
end

function p:test2_Valid_YMD_date_Abbreviated_month_name()
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Jan 1}}', '2000-01-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Feb 1}}', '2000-02-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Mar 1}}', '2000-03-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Apr 1}}', '2000-04-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 May 1}}', '2000-05-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Jun 1}}', '2000-06-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Jul 1}}', '2000-07-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Aug 1}}', '2000-08-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Sep 1}}', '2000-09-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Sept 1}}', '2000-09-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Sept. 1}}', '2000-09-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Oct 1}}', '2000-10-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Nov 1}}', '2000-11-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Dec 1}}', '2000-12-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 dec 1}}', '2000-12-01')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 DEC. 1}}', '2000-12-01')
end

function p:test3_Invalid_month()
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Janet 17}}', '2000 Janet 17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 abc 11}}', '2000 abc 11')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 abc. 11}}', '2000 abc. 11')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 abcdefghi 11}}', '2000 abcdefghi 11')
end

function p:test4_Invalid_day_of_month()
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 January 00}}', '2000 January 00')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 January 32}}', '2000 January 32')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 February 30}}', '2000 February 30')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|1900 February 29}}', '1900 February 29')
end

function p:test5_Invalid_no_input()
    self:preprocess_equals('{{#invoke:YMD to ISO|main}}', '')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|}}', '')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|   }}', '')
end

function p:test6_Invalid_pattern_Invalid_date()
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Dec 117}}', '2000 Dec 117')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|200 Dec 17}}', '200 Dec 17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 De 17}}', '2000 De 17')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000 Septemberrr 17}}', '2000 Septemberrr 17')
end

function p:test7_Invalid_pattern_Non_YMD_date()
    self:preprocess_equals('{{#invoke:YMD to ISO|main|1 Dec 2000}}', '1 Dec 2000')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|17 December 2000}}', '17 December 2000')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|Dec 1, 2000}}', 'Dec 1, 2000')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|Dec. 1, 2000}}', 'Dec. 1, 2000')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|December 17, 2000}}', 'December 17, 2000')
    self:preprocess_equals('{{#invoke:YMD to ISO|main|2000-12-17}}', '2000-12-17')
end

return p