Skip to content

Commit 1675a2f

Browse files
authored
Implement unit tests for InfoboxImage module
Add unit tests for Module:InfoboxImage to validate parameters, error handling, and output formatting.
1 parent 705a2aa commit 1675a2f

1 file changed

Lines changed: 109 additions & 0 deletions

File tree

‎Testcases/InfoboxImage.lua‎

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
-- Unit tests for [[Module:InfoboxImage]]. Click talk page to run tests.
2+
3+
local p = require('Module:UnitTests')
4+
5+
function p:test1_parameters_output()
6+
self:preprocess_equals_preprocess_many('{{#invoke:InfoboxImage/sandbox |InfoboxImage |image=', '}}', '{{#invoke:InfoboxImage |InfoboxImage |image=', '}}', {
7+
{'Small Sailboat Image.jpg |alt=Alt'},
8+
{'Small Sailboat Image.jpg |border=yes'},
9+
{'Small Sailboat Image.jpg |center=yes'},
10+
{'Small Sailboat Image.jpg |link=Link'},
11+
{'Small Sailboat Image.jpg |thumbtime=Thumbtime'},
12+
{'Small Sailboat Image.jpg |title=Title'},
13+
{'Small Sailboat Image.jpg |size=75'},
14+
{'Small Sailboat Image.jpg |size=200'},
15+
{'Small Sailboat Image.jpg |size=200|sizedefault=260|maxsize=275'},
16+
{'Small Sailboat Image.jpg |size=400|sizedefault=260|maxsize=275'},
17+
{'Small Sailboat Image.jpg |sizedefault=260|maxsize=275'},
18+
{'Small Sailboat Image.jpg |maxsize=275'},
19+
{'Small Sailboat Image.jpg |maxsize=275|sizedefault=frameless'},
20+
{'[[File:Small Sailboat Image.jpg]]'},
21+
{'Mustela erminea upright.jpg'},
22+
{'Mustela erminea upright.jpg |upright=1'},
23+
{'Mustela erminea upright.jpg |upright=yes'},
24+
{'Mustela erminea upright.jpg |upright=0.75'},
25+
{'Mustela erminea upright.jpg |upright=1.2'},
26+
{'Mustela erminea upright.jpg |upright=1|maxsize=275'},
27+
{'Mustela erminea upright.jpg |upright=1|maxsize=275|sizedefault=frameless'},
28+
{'Mustela erminea upright.jpg |upright=1|sizedefault=260|maxsize=275'},
29+
{'Mustela erminea upright.jpg |upright=1.5|sizedefault=260|maxsize=275'},
30+
{'Mustela erminea upright.jpg |upright=1|size=200|sizedefault=260|maxsize=275'},
31+
{'Mustela erminea upright.jpg |upright=1|size=|sizedefault=|maxsize='},
32+
{'Replace this image.svg |suppressplaceholder=no'},
33+
{'Replace this image.svg'},
34+
{'The Universal Magazine, Vol. XCV (July 1794).djvu |page=8'},
35+
{'[[File:Abbey Rd Studios.jpg|200px]]'},
36+
{'[[File:Abbey Rd Studios.jpg|thumb]]'},
37+
{'[[File:Abbey Rd Studios.jpg|thumb|caption]]'},
38+
{'Http-fakezarathustra.blogspot.com-2010-10-12 31.html http-fakezarathustra.blogspot.com-2010-10-22 31.html - panoramio.jpg'},
39+
{'Abbey Rd Studios.jpg|alt=http:test.com'},
40+
{'Abbey Rd Studios.jpg|alt=[http:test.com]'},
41+
{'Abbey Rd Studios.jpg|class=notpageimage'},
42+
})
43+
end
44+
45+
function p:test2_parameters_nowiki()
46+
self:preprocess_equals_preprocess_many('{{#invoke:InfoboxImage/sandbox |InfoboxImage |image=', '}}', '{{#invoke:InfoboxImage|InfoboxImage |image=', '}}', {
47+
{'Small Sailboat Image.jpg |alt=Alt'},
48+
{'Small Sailboat Image.jpg |border=yes'},
49+
{'Small Sailboat Image.jpg |center=yes'},
50+
{'Small Sailboat Image.jpg |link=Link'},
51+
{'Small Sailboat Image.jpg |thumbtime=Thumbtime'},
52+
{'Small Sailboat Image.jpg |title=Title'},
53+
{'Small Sailboat Image.jpg |size=75'},
54+
{'Small Sailboat Image.jpg |size=200'},
55+
{'Small Sailboat Image.jpg |size=200|sizedefault=260|maxsize=275'},
56+
{'Small Sailboat Image.jpg |size=400|sizedefault=260|maxsize=275'},
57+
{'Small Sailboat Image.jpg |sizedefault=260|maxsize=275'},
58+
{'Small Sailboat Image.jpg |maxsize=275'},
59+
{'Small Sailboat Image.jpg |maxsize=275|sizedefault=frameless'},
60+
{'Small Sailboat Image.jpg |size=20%|sizedefault=10em'},
61+
{'[[File:Small Sailboat Image.jpg]]'},
62+
{'Mustela erminea upright.jpg'},
63+
{'Mustela erminea upright.jpg |upright=1'},
64+
{'Mustela erminea upright.jpg |upright=yes'},
65+
{'Mustela erminea upright.jpg |upright=0.75'},
66+
{'Mustela erminea upright.jpg |upright=1.2'},
67+
{'Mustela erminea upright.jpg |upright=1|maxsize=275'},
68+
{'Mustela erminea upright.jpg |upright=1|maxsize=275|sizedefault=frameless'},
69+
{'Mustela erminea upright.jpg |upright=1|sizedefault=260|maxsize=275'},
70+
{'Mustela erminea upright.jpg |upright=1.5|sizedefault=260|maxsize=275'},
71+
{'Mustela erminea upright.jpg |upright=1|size=200|sizedefault=260|maxsize=275'},
72+
{'Mustela erminea upright.jpg |upright=1|size=|sizedefault=|maxsize='},
73+
{'Replace this image.svg |suppressplaceholder=no'},
74+
{'Replace this image.svg'},
75+
{'The Universal Magazine, Vol. XCV (July 1794).djvu |page=8'},
76+
{'Http-fakezarathustra.blogspot.com-2010-10-12 31.html http-fakezarathustra.blogspot.com-2010-10-22 31.html - panoramio.jpg'},
77+
{'Abbey Rd Studios.jpg|alt=http:test.com'},
78+
{'Abbey Rd Studios.jpg|alt=[http:test.com]'},
79+
{'Abbey Rd Studios.jpg|class=notpageimage'},
80+
{'[[File:Abbey Rd Studios.jpg|200px]]'},
81+
{'[[File:Abbey Rd Studios.jpg|thumb]]'},
82+
{'[[File:Abbey Rd Studios.jpg|thumb|caption]]'},
83+
},{nowiki=1})
84+
end
85+
86+
function p:test3_errors()
87+
self:preprocess_equals_preprocess_many('{{#invoke:InfoboxImage/sandbox |InfoboxImage |image=', '}}', '{{#invoke:InfoboxImage|InfoboxImage |image=', '}}', {
88+
{'Mustela erminea upright.jpg |size=1.2'},
89+
{'Mustela erminea upright.jpg |size=300x'},
90+
{'Mustela erminea upright.jpg |sizedefault=300x | maxsize=200'},
91+
{'Mustela erminea upright.jpg |size=300 | maxsize=200x'},
92+
{'Mustela erminea upright.jpg |sizedefault=145 | maxsize=300x'},
93+
{'http:test.com'},
94+
{'[http:test.com]'},
95+
{'[[http:test.com]]'},
96+
{'https:test.com'},
97+
{'[https:test.com]'},
98+
{'[[https:test.com]]'},
99+
},{nowiki=1})
100+
end
101+
102+
function p:test4_stripmarkers()
103+
self:preprocess_equals_preprocess(
104+
'{{#invoke:InfoboxImage/sandbox |InfoboxImage |image={{multiple image | width = 60 | image1 = Yellow card.svg | image2 = Red card.svg}}}}',
105+
'{{#invoke:InfoboxImage |InfoboxImage |image={{multiple image | width = 60 | image1 = Yellow card.svg | image2 = Red card.svg}}}}',
106+
{stripmarker=1})
107+
end
108+
109+
return p

0 commit comments

Comments
 (0)