Module:Infobox/dates/testcases
Appearance
< Module:Infobox | dates
![]() | This is the test cases page for the module Module:Infobox/dates. Results of the test cases. |
-- Unit tests for [[Module:Infobox/dates/testcases]]. Click talk page to run tests.
local p = require('Module:UnitTests')
local function expandTemplate(template, value)
local frame = mw.getCurrentFrame()
return frame:expandTemplate{title = template, args = value}
end
local start_date_default = {"2015", "4", "23"}
local end_date_default = {"2016", "4", "23"}
local start_date_default_df = {"2015", "4", "23", df="yes"}
local end_date_default_df = {"2016", "4", "23", df="yes"}
local start_date_default_plain = "April 23, 2015"
local end_date_default_plain = "April 23, 2016"
local start_date_default_plain_df = "23 April 2015"
local end_date_default_plain_df = "23 April 2016"
local dash = ' –<br />'
function p:test_01_valid()
self:preprocess_equals_sandbox_many('{{#invoke:Infobox/dates', 'dates', {
-- With templates
{'1=' .. expandTemplate("start date", start_date_default), expandTemplate("start date", start_date_default)},
{'1=' .. expandTemplate("end date", end_date_default), expandTemplate("end date", end_date_default)},
-- Different years
{'1=' .. expandTemplate("start date", start_date_default) .. '|2=' .. expandTemplate("end date", end_date_default), expandTemplate("start date", start_date_default) .. dash .. expandTemplate("end date", end_date_default)},
-- Same years, different months
{'1=' .. expandTemplate("start date", start_date_default) .. '|2=' .. expandTemplate("end date", {"2015", "5", "23"}), 'April 23' .. dash .. expandTemplate("end date", end_date_default)},
-- Same years and months, different days
{'1=' .. expandTemplate("start date", start_date_default) .. '|2=' .. expandTemplate("end date", {"2015", "4", "24"}), 'April 23' .. dash .. expandTemplate("end date", end_date_default)},
-- Same date
{'1=' .. expandTemplate("start date", start_date_default) .. '|2=' .. expandTemplate("end date", {"2015", "4", "24"}), 'April 23' .. dash .. expandTemplate("end date", end_date_default)},
-- To present
{'1=' .. expandTemplate("start date", start_date_default) .. '|2=present', expandTemplate("start date", start_date_default) .. dash .. 'present'},
-- Without templates
{'1=' .. start_date_default_plain, start_date_default_plain},
{'1=' .. end_date_default_plain, end_date_default_plain},
-- Different years
{'1=' .. start_date_default_plain .. '|2=' .. end_date_default_plain, start_date_default_plain .. dash .. end_date_default_plain},
-- Same years, different months
{'1=' .. start_date_default_plain .. '|2=May 23, 2015', 'April 23' .. dash .. end_date_default_plain},
-- Same years and months, different days
{'1=' .. start_date_default_plain .. '|2=May 24, 2015', 'April 23' .. dash .. end_date_default_plain},
-- Same date
{'1=' .. start_date_default_plain .. '|2=' .. start_date_default_plain, 'April 23' .. dash .. end_date_default_plain},
-- To present
{'1=' .. start_date_default_plain .. '|2=present', start_date_default_plain .. dash .. 'present'},
-- Partial dates with templates
{'1=' .. expandTemplate("start date", {"2015"}) .. '|2=' .. expandTemplate("end date", {"2016"}), ''}, -- just years
{'1=' .. expandTemplate("start date", {"2015"}) .. '|2=' .. expandTemplate("end date", {"2015"}), ''}, -- just years, same year
{'1=' .. expandTemplate("start date", {"2015", "4"}) .. '|2=' .. expandTemplate("end date", {"2016", "5"}), ''}, -- years and months, different months
{'1=' .. expandTemplate("start date", {"2015", "4"}) .. '|2=' .. expandTemplate("end date", {"2016", "4"}), ''}, -- years and months, same months
-- Partial dates without templates
{'1=2015|2=2016', ''}, -- just years
{'1=2015|2=2015', ''}, -- just years, same year
{'1=April 2015|2=May 2016', ''}, -- years and months, different months
{'1=April 2015|2=April 2016', ''}, -- years and months, same months
})
end
-- Same with df=yes
function p:test_02_valid_df()
self:preprocess_equals_sandbox_many('{{#invoke:Infobox/dates', 'dates', {
-- With templates
{'1=' .. expandTemplate("start date", start_date_default_df), expandTemplate("start date", start_date_default_df)},
{'1=' .. expandTemplate("end date", end_date_default_df), expandTemplate("end date", end_date_default_df)},
-- Different years
{'1=' .. expandTemplate("start date", start_date_default_df) .. '|2=' .. expandTemplate("end date", end_date_default), expandTemplate("start date", start_date_default_df) .. dash .. expandTemplate("end date", end_date_default_df)},
-- Same years, different months
{'1=' .. expandTemplate("start date", start_date_default_df) .. '|2=' .. expandTemplate("end date", {"2015", "5", "23", df="yes"}), 'April 23' .. dash .. expandTemplate("end date", end_date_default_df)},
-- Same years and months, different days
{'1=' .. expandTemplate("start date", start_date_default_df) .. '|2=' .. expandTemplate("end date", {"2015", "4", "24", df="yes"}), 'April 23' .. dash .. expandTemplate("end date", end_date_default_df)},
-- Same date
{'1=' .. expandTemplate("start date", start_date_default_df) .. '|2=' .. expandTemplate("end date", {"2015", "4", "24", df="yes"}), 'April 23' .. dash .. expandTemplate("end date", end_date_default_df)},
-- To present
{'1=' .. expandTemplate("start date", start_date_default_df) .. '|2=present', expandTemplate("start date", start_date_default_df) .. dash .. 'present'},
-- Without templates
{'1=' .. start_date_default_plain_df, start_date_default_plain_df},
{'1=' .. end_date_default_plain_df, end_date_default_plain_df},
-- Different years
{'1=' .. start_date_default_plain_df .. '|2=' .. end_date_default_plain, start_date_default_plain_df .. dash .. end_date_default_plain_df},
-- Same years, different months
{'1=' .. start_date_default_plain_df .. '|2=23 May 2015', '23 April' .. dash .. end_date_default_plain_df},
-- Same years and months, different days
{'1=' .. start_date_default_plain_df .. '|2=24 May 2015', '23 April' .. dash .. end_date_default_plain_df},
-- Same date
{'1=' .. start_date_default_plain_df .. '|2=' .. start_date_default_plain, '23 April' .. dash .. end_date_default_plain_df},
-- To present
{'1=' .. start_date_default_plain_df .. '|2=present', start_date_default_plain_df .. dash .. 'present'},
-- Partial dates with templates
{'1=' .. expandTemplate("start date", {"2015", df="yes"}) .. '|2=' .. expandTemplate("end date", {"2016", df="yes"}), ''}, -- just years
{'1=' .. expandTemplate("start date", {"2015", df="yes"}) .. '|2=' .. expandTemplate("end date", {"2015", df="yes"}), ''}, -- just years, same year
{'1=' .. expandTemplate("start date", {"2015", "4", df="yes"}) .. '|2=' .. expandTemplate("end date", {"2016", "5", df="yes"}), ''}, -- years and months, different months
{'1=' .. expandTemplate("start date", {"2015", "4", df="yes"}) .. '|2=' .. expandTemplate("end date", {"2016", "4", df="yes"}), ''}, -- years and months, same months
})
end
function p:test_03_invalid_range()
self:preprocess_equals_sandbox_many('{{#invoke:Infobox/dates', 'dates', {
-- end date starts before start date
{'1=' .. expandTemplate("start date", end_date_default) .. '|2=' .. expandTemplate("end date", start_date_default), ''},
{'1=' .. end_date_default_plain .. '|2=' .. start_date_default_plain, ''},
})
end
return p