มอดูล:Footnotes/testcases

-- Unit tests for Module:Footnotes. Click talk page to run tests.
local p = require('Module:UnitTests')
function p:test_harvnb()
self:preprocess_equals_preprocess_many(, , , , {
{""},
{ "Smith | 2004" },
{ "Smith | Jones | 2004" },
{ "Smith | Jones | Brown | 2004" },
{ "Smith | Jones | Brown | Taylor | 2004" },
{ "Smith | Jones | Brown | Taylor | King | 2004" },
{ "Smith | Jones | 2004 | p=45" },
{ "Smith | Jones | 2004 | page=45" },
{ "Smith | Jones | 2004 | p=45 | page =46" },
{ "Smith | Jones | 2004 | pp=23-57" },
{ "Smith | Jones | 2004 | pages=45-78" },
{ "Smith | Jones | 2004 | pp=23-57 | pages=45-78" },
{ "Smith | Jones | 2004 | pp=23-57 | loc=45-78" },
{ "Smith | Jones | 2004 | p=23 | loc=45-78" },
{ "Smith | Jones | 2004 | p=23 | page=45 | pp=23-57 | pages=45-78| location=145-178" },
{ "Smith | Jones | 2004 | loc=Chapter 2" },
{ "Smith | Jones | Brown | 2004 | ref = none" },
{ "Smith | Jones | Brown | 2004 | ref = Cream cheese" },
{ " Smith|2011|loc= chpt 3" },        
{ " 中国 | चीन | 2004" },
{ " aiguë  
2004" },
} )
end
function p:test_sfn()
self:preprocess_equals_preprocess_many(, , , , {
{""},
{ "Smith | 2004" },
{ "Smith | Jones | 2004" },
{ "Smith | Jones | Brown | 2004" },
{ "Smith | Jones | Brown | Taylor | 2004" },
{ "Smith | Jones | Brown | Taylor | King | 2004" },
{ "Smith | Jones | 2004 | p=45" },
{ "Smith | Jones | 2004 | page=45" },
{ "Smith | Jones | 2004 | p=45 | page =46" },
{ "Smith | Jones | 2004 | pp=23-57" },
{ "Smith | Jones | 2004 | pages=45-78" },
{ "Smith | Jones | 2004 | pp=23-57 | pages=45-78" },
{ "Smith | Jones | 2004 | pp=23-57 | loc=45-78" },
{ "Smith | Jones | 2004 | p=23 | loc=45-78" },
{ "Smith | Jones | 2004 | p=23 | page=45 | pp=23-57 | pages=45-78| location=145-178" },
{ "Smith | Jones | 2004 | loc=Chapter 2" },
{ "Smith | Jones | Brown | 2004 | ref = none" },
{ "Smith | Jones | Brown | 2004 | ref = Cream cheese" },
{ " Smith|2011|loc= chpt 3" },        
{ " 中国 | चीन | 2004" },
{ " aiguë  
2004" },
} )
end
function p:test_harv()
self:preprocess_equals_preprocess_many(, , , , {
{""},
{ "Smith | 2004" },
{ "Smith | Jones | 2004" },
{ "Smith | Jones | Brown | 2004" },
{ "Smith | Jones | Brown | Taylor | 2004" },
{ "Smith | Jones | Brown | Taylor | King | 2004" },
{ "Smith | Jones | 2004 | p=45" },
{ "Smith | Jones | 2004 | page=45" },
{ "Smith | Jones | 2004 | p=45 | page =46" },
{ "Smith | Jones | 2004 | pp=23-57" },
{ "Smith|2006| pp=25–26 | Ref=none" },
{ "Smith | Jones | 2004 | pages=45-78" },
{ "Smith | Jones | 2004 | pp=23-57 | pages=45-78" },
{ "Smith | Jones | 2004 | pp=23-57 | loc=45-78" },
{ "Smith | Jones | 2004 | p=23 | loc=45-78" },
{ "Smith | Jones | 2004 | p=23 | page=45 | pp=23-57 | pages=45-78| location=145-178" },
{ "Smith | Jones | 2004 | loc=Chapter 2" },
{ "Smith | Jones | Brown | 2004 | ref = none" },
{ "Smith | Jones | Brown | 2004 | ref = Cream cheese" },
{ " Smith|2011|loc= chpt 3" },        
{ " 中国 | चीन | 2004" },
{ " aiguë  
2004" },
} )
end
function p:test_harvard_core()
	if nil then
self:preprocess_equals_preprocess_many(, , , , {
{ "" },
{ "P1 = Smith | P2 = 2004 | REF = ABC" },
{ "P1 = Smith | P2 = Jones | P3 = 2004 | REF = ABC" },
{ "P1 = Smith | P2 = Jones | P3 = Brown | P4 = 2004 | REF = ABC" },
{ "P1 = Smith | P2 = Jones | P3 = Brown | P4 = Taylor | P5 = 2004 | REF=ABC" },
{ "P1 = Smith | P2 = Jones | P3 = Brown | P4 = Taylor | P5 = King | P6 = 2004 | REF=ABC" },
{ "P1 = Smith | P2 = Jones | P3 = 2004 | Page=45 | REF=ABC | PageSep=, p. " },
{ "P1 = Smith | P2 = Jones | P3 = 2004 | Pages=23-57| REF = ABC | PagesSep=, pp. " },
{ "P1 = Smith | P2 = Jones | P3 = 2004 | Location=45-78 | REF = ABC" },
{ "P1 = Smith | P2 = Jones | P3 = 2004 | Page=23 | Location=45-78 | REF= ABC | PageSep=, p. " },
{ "P1 = Smith | P2 = Jones | P3 = 2004 | Page=45 | Pages=45-78| Location=145-178 | REF = ABC| PageSep=, p. | PagesSep=, pp. " },
{ "P1 = Smith | P2 = Jones | P3 = 2004 | Location=Chapter 2 | REF = ABC" },
{ "P1 = Smith | P2 = Jones | P3 = Brown | P4 = 2004 | REF = none" },
{ "P1 = Smith | P2 = Jones | P3 = Brown | P4 = 2004 | REF = Cream cheese" },
{ "P1=Smith| P2 = 2011 | Location= chpt 3 | REF=ABC" },        
{ "P1 = Smith | P2 = Jones | P3 = 2004 | REF = ABC | BracketRight=% | BracketLeft=_ | BracketYearRight=@ | BracketYearLeft=^ | Postscript = ..." },
} )
end
end
return p;