Home
Random
Recent changes
Special pages
Community portal
Preferences
About Stockhub
Disclaimers
Search
User menu
Talk
Contributions
Create account
Log in
Editing
Module:Sandbox/Hellknowz/Test/testcases
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
local p = require('Module:UnitTests') function p:test_parseDate() -- Must begin with 'test' self:preprocess_equals_many('{{#invoke:Sandbox/Hellknowz/Test|parseDateOutputRaw|', '|noUnstrip=yes}}', { --Y { '2013', '2013' }, { '2113', '2113' }, { '1913', '1913' }, { '1113', 'Invalid date/time' }, { '322', 'Unrecognized pattern' }, { '96', 'Unrecognized pattern' }, { '1913 BC', 'Unrecognized pattern' }, --My { 'June 2013', '2013-06' }, { '2013 June', '2013-06' }, { '2013, June', '2013-06' }, { 'August 2013', '2013-08' }, { 'August, 2013', '2013-08' }, { 'May 2013', '2013-05' }, { 'Jan 2013', '2013-01' }, { 'Dec 2013', '2013-12' }, { 'Dec. 2013', '2013-12' }, { 'December, 2013', '2013-12' }, { 'June 1013', 'Invalid date/time' }, { 'June 2113', '2113-06' }, { 'Plucktober 2013', 'Unrecognized pattern' }, { 'June 196', 'Unrecognized pattern' }, { 'June 96', 'Invalid date/time' }, -- this will try to match d M, like '15 June' but fail when checking validity { '96 June', 'Invalid date/time' }, -- ditto --dMy { '3 May 2013', '2013-05-03' }, { '27 August 2013', '2013-08-27' }, { '30 November 2013', '2013-11-30' }, { '32 June 2013', 'Invalid date/time' }, { '31 June 2013', 'Invalid date/time' }, { '30 June 2013', '2013-06-30' }, { '28 February 2013', '2013-02-28' }, { '29 February 2013', 'Invalid date/time' }, { '29 February 2012', '2012-02-29' }, { '29 February 2000', '2000-02-29' }, { '29 February 1900', 'Invalid date/time' }, { '12 June 3013', '3013-06-12' }, { '12 June 1213', 'Invalid date/time' }, { '12 Blobember 2013', 'Unrecognized pattern' }, { '12 Dec 2013', '2013-12-12' }, { '12 Dec. 2013', '2013-12-12' }, { '12 June 96', 'Unrecognized pattern' }, { '3 May, 2013', '2013-05-03' }, { '3rd May 2013', '2013-05-03' }, { '3rd May, 2013', '2013-05-03' }, --Mdy { 'May 3, 2013', '2013-05-03' }, { 'August 27, 2013', '2013-08-27' }, { 'November 30, 2013', '2013-11-30' }, { 'Nov. 30, 2013', '2013-11-30' }, { 'June 32, 2013', 'Invalid date/time' }, { 'June 31, 2013', 'Invalid date/time' }, { 'June 30, 2013', '2013-06-30' }, { 'February 28, 2013', '2013-02-28' }, { 'February 29, 2013', 'Invalid date/time' }, { 'February 29, 2012', '2012-02-29' }, { 'February 29, 2000', '2000-02-29' }, { 'February 29, 1900', 'Invalid date/time' }, { 'June 12, 3013', '3013-06-12' }, { 'June 12, 1213', 'Invalid date/time' }, { 'Blobember 12, 2013', 'Unrecognized pattern' }, { 'June 12, 96', 'Unrecognized pattern' }, { 'May 3 2013', '2013-05-03' }, { 'May 3, 2013', '2013-05-03' }, { 'May 3rd 2013', '2013-05-03' }, { 'May 3rd, 2013', '2013-05-03' }, { '2013 May 3', '2013-05-03' }, { '2013, May 3', '2013-05-03' }, { '2013 3 May', '2013-05-03' }, { '2013, 3 May', '2013-05-03' }, --ymd { '2013-05-03', '2013-05-03' }, { '2013-08-27', '2013-08-27' }, { '2013-11-27', '2013-11-27' }, { '2013-06-32', 'Invalid date/time' }, { '2013-06-31', 'Invalid date/time' }, { '2013-06-30', '2013-06-30' }, { '2013-02-28', '2013-02-28' }, { '2013-02-29', 'Invalid date/time' }, { '2012-02-29', '2012-02-29' }, { '2000-02-29', '2000-02-29' }, { '1900-02-29', 'Invalid date/time' }, { '3013-06-12', '3013-06-12' }, { '1413-06-12', 'Invalid date/time' }, { '2013-14-12', 'Invalid date/time' }, { '2013-00-12', 'Invalid date/time' }, { '2003-11', 'Unrecognized pattern' }, -- for now (ambiguous case) { '2003-13', 'Unrecognized pattern' }, -- for now { '2013-05', 'Unrecognized pattern' }, -- for now { '2013-13', 'Unrecognized pattern' }, -- for now { '1999-11', 'Unrecognized pattern' }, -- for now { '1906-08', 'Unrecognized pattern' }, -- for now -- hms { '10:38:27', '10:38:27'}, { '10:38:87', 'Invalid date/time'}, { '10:62:27', 'Invalid date/time'}, { '25:38:27', 'Invalid date/time'}, { '10:38:27 am', '10:38:27'}, { '10:38:27 pm', '22:38:27'}, { '10:38', '10:38'}, { '10:38 am', '10:38'}, { '10:38 pm', '22:38'}, { '10 am', '10'}, { '10', 'Unrecognized pattern'}, { '10 pm', '22'}, -- dMy hms { '1 May 1973, 10:38:27', '1973-05-01 10:38:27'}, { '1 May 1973, 8:38:27', '1973-05-01 08:38:27'}, { '1 May 1973, 10:38:87', 'Invalid date/time'}, { '1 May 1973, 10:62:27', 'Invalid date/time'}, { '1 May 1973, 25:38:27', 'Invalid date/time'}, -- Mdy hms { 'May 1, 1973, 10:38:27', '1973-05-01 10:38:27'}, -- ymd hms { '1973-05-01, 10:38:27', '1973-05-01 10:38:27'}, -- hms dMy { '10:38:27, 1 May 1973', '1973-05-01 10:38:27'}, -- hms Mdy { '10:38:27, May 1, 1973', '1973-05-01 10:38:27'}, -- hms ymd { '10:38:27, 1973-05-01', '1973-05-01 10:38:27'}, -- no commas { '10:38:27 May 1 1973', '1973-05-01 10:38:27'}, -- dMy hms { '1 May 1973, 10:38:27am', '1973-05-01 10:38:27'}, -- Mdy hms { 'May 1, 1973, 10:38:27am', '1973-05-01 10:38:27'}, -- ymd hms { '1973-05-01, 10:38:27 am', '1973-05-01 10:38:27'}, -- hms dMy { '10:38:27 am, 1 May 1973', '1973-05-01 10:38:27'}, -- hms Mdy { '10:38:27am, May 1, 1973', '1973-05-01 10:38:27'}, -- hms ymd { '10:38:27 am, 1973-05-01', '1973-05-01 10:38:27'}, -- dMy hms { '1 May 1973, 10:38:27 pm', '1973-05-01 22:38:27'}, -- Mdy hms { 'May 1, 1973, 10:38:27 pm', '1973-05-01 22:38:27'}, -- ymd hms { '1973-05-01, 10:38:27pm', '1973-05-01 22:38:27'}, -- hms dMy { '10:38:27pm, 1 May 1973', '1973-05-01 22:38:27'}, -- hms Mdy { '10:38:27 pm, May 1, 1973', '1973-05-01 22:38:27'}, -- hms ymd { '10:38:27pm, 1973-05-01', '1973-05-01 22:38:27'}, -- dMy hm { '1 May 1973, 10:38', '1973-05-01 10:38'}, -- Mdy hm { 'May 1, 1973, 10:38', '1973-05-01 10:38'}, -- ymd hm { '1973-05-01, 10:38', '1973-05-01 10:38'}, -- hm dMy { '10:38, 1 May 1973', '1973-05-01 10:38'}, -- hm Mdy { '10:38, May 1, 1973', '1973-05-01 10:38'}, -- hm ymd { '10:38, 1973-05-01', '1973-05-01 10:38'}, -- dMy hmp { '1 May 1973, 10:38 am', '1973-05-01 10:38'}, -- Mdy hmp { 'May 1, 1973, 10:38am', '1973-05-01 10:38'}, -- ymd hmp { '1973-05-01, 10:38am', '1973-05-01 10:38'}, -- hmp dMy { '10:38 am, 1 May 1973', '1973-05-01 10:38'}, -- hmp Mdy { '10:38am, May 1, 1973', '1973-05-01 10:38'}, -- hmp ymd { '10:38am, 1973-05-01', '1973-05-01 10:38'}, -- dMy hmp { '1 May 1973, 10:38pm', '1973-05-01 22:38'}, -- Mdy hmp { 'May 1, 1973, 10:38 pm', '1973-05-01 22:38'}, -- ymd hmp { '1973-05-01, 10:38 pm', '1973-05-01 22:38'}, -- hmp dMy { '10:38pm, 1 May 1973', '1973-05-01 22:38'}, -- hmp Mdy { '10:38 pm, May 1, 1973', '1973-05-01 22:38'}, -- hmp ymd { '10:38 pm, 1973-05-01', '1973-05-01 22:38'}, -- dMy hp { '1 May 1973, 10 am', '1973-05-01 10'}, -- Mdy hp { 'May 1, 1973, 10am', '1973-05-01 10'}, -- ymd hp { '1973-05-01, 10am', '1973-05-01 10'}, -- hp dMy { '10 am, 1 May 1973', '1973-05-01 10'}, -- hp Mdy { '10am, May 1, 1973', '1973-05-01 10'}, -- hp ymd { '10am, 1973-05-01', '1973-05-01 10'}, -- dMy hp { '1 May 1973, 10pm', '1973-05-01 22'}, -- Mdy hp { 'May 1, 1973, 10 pm', '1973-05-01 22'}, -- ymd hp { '1973-05-01, 10 pm', '1973-05-01 22'}, -- hp dMy { '10pm, 1 May 1973', '1973-05-01 22'}, -- hp Mdy { '10 pm, May 1, 1973', '1973-05-01 22'}, -- hp ymd { '10 pm, 1973-05-01', '1973-05-01 22'}, { '10:38:, May 1, 1973', 'Unrecognized pattern'}, { '10:, May 1, 1973', 'Unrecognized pattern'}, { '10, May 1, 1973', 'Unrecognized pattern'}, -- invalid { 'This is not a date', 'Unrecognized pattern' }, { '2004 was a nice year', 'Unrecognized pattern' }, { 'Somewhere around 2004', 'Unrecognized pattern' }, { '2004 <!--comment-->', 'Unrecognized pattern' }, { '1 May 1733 (Russian)', 'Unrecognized pattern' }, { '1 May 1933 (uncertain)', 'Unrecognized pattern' }, { '1 May 1733 (old style)', 'Unrecognized pattern' }, { '1 May 1973 (but later cancelled)', 'Unrecognized pattern' }, { '1 May 1973 (UK), 4 June 1973 (USA)', 'Unrecognized pattern' }, -- date ranges { '3 May 2013 - 12 February 2014', '2013-05-03; 2014-02-12' }, { 'May 3, 2013 - February 12, 2014', '2013-05-03; 2014-02-12' }, { '3 May - 12 October 2013', '2013-05-03; 2013-10-12' }, { 'May 3 - October 12, 2013', '2013-05-03; 2013-10-12' }, { '3 - 12 May 2013', '2013-05-03; 2013-05-12' }, { 'May 3 - 12, 2013', '2013-05-03; 2013-05-12' }, { 'May - June 2013', '2013-05; 2013-06' }, { 'May 2013 - February 2014', '2013-05; 2014-02' }, { '2013 - 2014', '2013; 2014' }, { 'May 3 2013 - February 12 2014', '2013-05-03; 2014-02-12' }, { 'May 3 - October 12 2013', '2013-05-03; 2013-10-12' }, { 'May 3 - 12 2013', '2013-05-03; 2013-05-12' }, { '3rd May 2013 - 12th February 2014', '2013-05-03; 2014-02-12' }, { 'May 3rd, 2013 - February 12th, 2014', '2013-05-03; 2014-02-12' }, { '3rd May - 12th October 2013', '2013-05-03; 2013-10-12' }, { 'May 3rd - October 12th, 2013', '2013-05-03; 2013-10-12' }, { '3rd - 12th May 2013', '2013-05-03; 2013-05-12' }, { 'May 3rd - 12th, 2013', '2013-05-03; 2013-05-12' }, -- variations in dates { '3 May 2013 - 3 May 2013', '2013-05-03; 2013-05-03' }, -- ?? well, they are inclusive, so { '3 May 2013 - 2 May 2013', 'Invalid date range' }, { '3 May 2013 - 4 March 2013', 'Invalid date range' }, { '3 May 2013 - 4 May 2012', 'Invalid date range' }, { '3 May - 3 May 2013', '2013-05-03; 2013-05-03' }, { '3 May - 2 May 2013', 'Invalid date range' }, { '3 May - 4 March 2013', 'Invalid date range' }, { '3 May - 4 May 2012', '2012-05-03; 2012-05-04' }, { '3 May - 3 May 2012', '2012-05-03; 2012-05-03' }, { '3 - 2 May 2013', 'Invalid date range' }, { 'May - April 2013', 'Invalid date range' }, { '2013 - 2012', 'Invalid date range' }, -- dashes and date sep test { '3 May 2013 – 12 February 2014', '2013-05-03; 2014-02-12' }, { '3 May 2013 β 12 February 2014', '2013-05-03; 2014-02-12' }, { '3 May 2013 β 12 February 2014', '2013-05-03; 2014-02-12' }, { '3 May 2013-12 February 2014', '2013-05-03; 2014-02-12' }, { 'May 3 2013-February 12 2014', '2013-05-03; 2014-02-12' }, { 'May 2013-February 2014', '2013-05; 2014-02' }, { '2013-2014', '2013; 2014' }, { '3 May 2013 – 12 February 2014', '2013-05-03; 2014-02-12' }, { '3 May 2013 – 12 February 2014', '2013-05-03; 2014-02-12' }, { '3 May 2013 β 12 February 2014', '2013-05-03; 2014-02-12' }, { '3 May 2013 β 12 February 2014', '2013-05-03; 2014-02-12' }, -- missing parts { '3 May', 'Incomplete date' }, { 'May 3', 'Incomplete date' }, { 'February 29', 'Incomplete date' }, -- can't check if 29 is valid { 'May', 'Incomplete date' }, { 'October', 'Incomplete date' }, --[[ -- these are kinda hypothetical and not used real-world -- missing parts ranges dmY { '3 May 2013 - April 2014', 'Incomplete date range' }, { '3 May 2013 - 2014', 'Incomplete date range' }, { 'May 2013 - 5 April 2014', 'Incomplete date range' }, { 'May 2013 - 2014', 'Incomplete date range' }, { '2013 - 5 April 2014', 'Incomplete date range' }, { '2013 - April 2014', 'Incomplete date range' }, -- missing parts ranges Mdy { 'May 3, 2013 - April 2014', 'Incomplete date range' }, { 'May 3, 2013 - 2014', 'Incomplete date range' }, { 'May 2013 - April 5, 2014', 'Incomplete date range' }, { '2013 - April 5, 2014', 'Incomplete date range' }, ]] -- missing parts in ranges (actual real world use) { '3 - 26 May', 'Incomplete date range' }, { 'May 3 - 26', 'Incomplete date range' }, { '3 May - 5 April', 'Incomplete date range' }, { 'May 3 - April 5', 'Incomplete date range' }, { 'February 29 - April 5', 'Incomplete date range' }, -- can't check if 29 is valid { 'March 3 - February 29', 'Incomplete date range' }, -- empty { '', 'Empty input' }, { ' ', 'Empty input' }, --{ '{{Start date|2012|12|10}}', 'Has metadata template' }, --{ '{{Enddate|2013|12|10}}', 'Has metadata template' }, --[[ { '3 May 2013 - 5 April 2014', '2013-05-03; 2014-04-05' }, { '3 May 2013 - April 2014', '' }, { '3 May 2013 - 2014', '' }, { 'May 2013 - 5 April 2014', '' }, { 'May 2013 - 2014', '' }, { '2013 - 5 April 2014', '' }, { '2013 - April 2014', '' }, --]] }) end function p:test_emitMetadata() -- Must begin with 'test' self:preprocess_equals_many('{{#invoke:Sandbox/Hellknowz/Test|emitMetadata|<nowiki>', '</nowiki>|dtstart=yes|dtend=yes|noTrackingCat=yes}}', { -- different styles { '3 May 2013', '<span style="display:none"> (<span class="dtstart">2013-05-03</span>)</span>' }, { 'May 3, 2013', '<span style="display:none"> (<span class="dtstart">2013-05-03</span>)</span>' }, { 'May 2013', '<span style="display:none"> (<span class="dtstart">2013-05</span>)</span>' }, { '2013', '<span style="display:none"> (<span class="dtstart">2013</span>)</span>' }, { '12:15:04, May 3, 2013', '<span style="display:none"> (<span class="dtstart">2013-05-03T12:15:04</span>)</span>' }, { 'May 3, 2013, 12:15:04', '<span style="display:none"> (<span class="dtstart">2013-05-03T12:15:04</span>)</span>' }, { '12:15, May 3, 2013', '<span style="display:none"> (<span class="dtstart">2013-05-03T12:15</span>)</span>' }, { '10pm, May 3, 2013', '<span style="display:none"> (<span class="dtstart">2013-05-03T22</span>)</span>' }, { '12:15:04', '<span style="display:none"> (<span class="dtstart">12:15:04</span>)</span>' }, { '12:15', '<span style="display:none"> (<span class="dtstart">12:15</span>)</span>' }, { '3 May 2013 β 6 February 2014', '<span style="display:none"> (<span class="dtstart">2013-05-03</span> - <span class="dtend">2014-02-06</span>)</span>' }, { '3 May β 22 June 2013', '<span style="display:none"> (<span class="dtstart">2013-05-03</span> - <span class="dtend">2013-06-22</span>)</span>' }, { 'May 2013 β February 2014', '<span style="display:none"> (<span class="dtstart">2013-05</span> - <span class="dtend">2014-02</span>)</span>' }, { '2013 β 2014', '<span style="display:none"> (<span class="dtstart">2013</span> - <span class="dtend">2014</span>)</span>' }, { '3 May 2013 <!--Hello-->', '<span style="display:none"> (<span class="dtstart">2013-05-03</span>)</span>' }, { '3 May 2013 {{Flag icon|USA}}', '<span style="display:none"> (<span class="dtstart">2013-05-03</span>)</span>' }, { '3 May 2013<ref>Excellent job</ref>', '<span style="display:none"> (<span class="dtstart">2013-05-03</span>)</span>' }, { '<!--Don`t change to 4-->3 May 2013', '<span style="display:none"> (<span class="dtstart">2013-05-03</span>)</span>' }, }, { nowiki = true } ) end function p:test_stripFieldExtras() -- Must begin with 'test' self:preprocess_equals_many('{{#invoke:Sandbox/Hellknowz/Test|outputRawStripped|<nowiki>', '</nowiki>}}', { -- references stripping { '3 May 2013', '3 May 2013' }, { '3 May 2013 ', '3 May 2013' }, { ' 3 May 2013', '3 May 2013' }, { ' 3 May 2013 ', '3 May 2013' }, { '3 May 2013<ref>Well, hello there!</ref>', '3 May 2013' }, { '3 May 2013 <ref>Well, hello there!</ref>', '3 May 2013' }, { '3 May 2013<ref name="hello">Well, hello there!</ref>', '3 May 2013' }, { '3 May 2013</ref>Broken', '3 May 2013</ref>Broken' }, -- opening ref causes markup errors { '3 May 2013<ref></ref>', '3 May 2013' }, { '3 May 2013<ref>Well, hello there!</ref><ref>Well, hello!</ref>', '3 May 2013' }, { '3 May 2013<ref>Well, hello there!</ref><ref>Well, hello!</ref><ref>Well well well</ref>', '3 May 2013' }, { '3 May 2013<ref name="hello">Well,</ref><ref name="hello">..hello!</ref>', '3 May 2013' }, { '3 May 2013<ref></ref><ref></ref>', '3 May 2013' }, { '3 May 2013<ref name="junky"/>', '3 May 2013' }, { '3 May 2013<ref name="junky"/><ref name="junky"/>', '3 May 2013' }, { '3 May 2013<ref name="junky"/><ref name="junky"/><ref name="junky"/>', '3 May 2013' }, { '3 May 2013 <ref name="junky"/>', '3 May 2013' }, { '3 May 2013<!--don\'t add extra dates-->', '3 May 2013' }, { '3 May 2013 <!---->', '3 May 2013' }, { '<!--Per MOS somethng do something-->3 May 2013', '3 May 2013' }, { '<!----> 3 May 2013', '3 May 2013' }, { '{{Flag icon|USA}} 3 May 2013', '3 May 2013' }, { '{{Flagicon|UK}} 3 May 2013', '3 May 2013' }, { '{{Flagicon|UK}} {{Flag icon|USA}} 3 May 2013', '3 May 2013' }, { '3 May 2013{{Flagicon|UK}}', '3 May 2013' }, { '3 May 2013 {{Flagicon|UK}} {{Flag icon|USA}} ', '3 May 2013' }, { '{{Nowrap|3 May 2013}}', '3 May 2013' }, { '{{no break | 3 May 2013 }}', '3 May 2013' }, } , { nowiki = true } ) end --[[ function p:test_testUnicode() -- Must begin with 'test' self:preprocess_equals_many('{{#invoke:Sandbox/Hellknowz/Test|testUnicode|', '}}', { { '-', 'yes' }, { 'β', 'yes' }, { 'β', 'yes' }, { 'xβ', 'no' }, }) end ]] return p
Summary:
Please note that all contributions to Stockhub may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Stockhub:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Module:Sandbox/Hellknowz/Test/testcases/doc
(
edit
)