Jump to content

Module:File parse/testcases

From Wikipedia, the free encyclopedia
-- Unit tests for [[Module:File parse]]. Click talk page to run tests.
local p = require('Module:UnitTests')

local sample1 = "[[File:Fire inside an abandoned convent in Massueville, Quebec, Canada.jpg|thumb|right|Firefighters douse a burning building in [[Massueville, Quebec|Massueville]], Canada.]]"
local sample2 = "[[File:1880-_Global_surface_temperature_-_heat_map_animation_-_NASA_SVS.webm|thumb|upright=1.35|NASA animation portraying global surface temperature changes from 1880 to 2023. The colour blue denotes cooler temperatures and red denotes warmer temperatures.{{Clarify| reason=cooler and warmer than _what_? If 1880 shouldn't the animation start out pure white?|date=July 2025}}]]"

function p:test_parses_name()
    self:preprocess_equals_many('{{#invoke:File parse|parse|', '|name}}', {
        {sample1, 'Fire inside an abandoned convent in Massueville, Quebec, Canada.jpg'},
        {sample2, '1880-_Global_surface_temperature_-_heat_map_animation_-_NASA_SVS.webm'}
    })
end

function p:test_infers_location()
    self:preprocess_equals_many('{{#invoke:File parse|parse|', '|location}}', {
        {sample1, 'right'},
    })
end

function p:test_parses_caption()
    self:preprocess_equals_many('{{#invoke:File parse|parse|', '|caption}}', {
        {sample1, 'Firefighters douse a burning building in [[Massueville, Quebec|Massueville]], Canada.'},
        {sample2, 'NASA animation portraying global surface temperature changes from 1880 to 2023. The colour blue denotes cooler temperatures and red denotes warmer temperatures.'.. self.frame:preprocess("{{Clarify| reason=cooler and warmer than _what_? If 1880 shouldn't the animation start out pure white?|date=July 2025}}")},
        {"[[File:Example.png|thumb|Caption with a [[link|pipe]] in it]]", "Caption with a [[link|pipe]] in it"}
    })
end

return p