]> gitweb.factorcode.org Git - factor.git/blob - extra/images/png/png-tests.factor
Switch to https urls
[factor.git] / extra / images / png / png-tests.factor
1 ! Copyright (C) 2009 Doug Coleman, Keith Lazuka
2 ! See https://factorcode.org/license.txt for BSD license.
3 USING: accessors images.png images.testing io.directories
4 io.encodings.binary io.files kernel sequences tools.test ;
5
6 ! Test files from PngSuite (https://www.libpng.org/pub/png/pngsuite.html)
7
8 ! The subset of the suite that should work given the current implementation.
9 "vocab:images/testing/png" [
10     {
11         "basi0g01.png"
12         "basi0g02.png"
13         "basi0g04.png"
14         "basi0g08.png"
15         "basi0g16.png"
16         "basi2c08.png"
17         "basi3p01.png"
18         "basi3p02.png"
19         "basi3p04.png"
20         "basi3p08.png"
21         "basn0g01.png"
22         "basn0g02.png"
23         "basn0g04.png"
24         "basn0g08.png"
25         "basn0g16.png"
26         "basn2c08.png"
27         "basn3p01.png"
28         "basn3p02.png"
29         "basn3p04.png"
30         "basn3p08.png"
31         "basn6a08.png"
32         "f00n2c08.png"
33         "f01n2c08.png"
34         "f02n2c08.png"
35         "f03n2c08.png"
36         "f04n2c08.png"
37         "s01i3p01.png"
38         "s01n3p01.png"
39         "s02i3p01.png"
40         "s02n3p01.png"
41         "s03i3p01.png"
42         "s03n3p01.png"
43         "s04i3p01.png"
44         "s04n3p01.png"
45         "s05i3p02.png"
46         "s05n3p02.png"
47         "s06i3p02.png"
48         "s06n3p02.png"
49         "s07i3p02.png"
50         "s07n3p02.png"
51         "s08i3p02.png"
52         "s08n3p02.png"
53         "s09i3p02.png"
54         "s32n3p04.png"
55         "s32i3p04.png"
56         "s33n3p04.png"
57         "s33i3p04.png"
58         "s34n3p04.png"
59         "s34i3p04.png"
60         "s35n3p04.png"
61         "s35i3p04.png"
62         "s36n3p04.png"
63         "s36i3p04.png"
64         "s37n3p04.png"
65         "s37i3p04.png"
66         "s38n3p04.png"
67         "s38i3p04.png"
68         "s39n3p04.png"
69         "s39i3p04.png"
70         "s40n3p04.png"
71         "s40i3p04.png"
72         "s07n3p02.png"
73         "z00n2c08.png"
74         "z03n2c08.png"
75         "z06n2c08.png"
76         "z09n2c08.png"
77     } [ png-image decode-test ] each
78
79     { "ICC Profile" } [
80         "1529.png" binary <file-reader> load-png
81         icc-profile>> name>>
82     ] unit-test
83
84     {
85         "XML:com.adobe.xmp"
86         "<x:xmpmeta xmlns:x=\"adobe:ns:meta/\" x:xmptk=\"XMP Core 5.4.0\">\n   <rdf:RDF xmlns:rdf=\"https://www.w3.org/1999/02/22-rdf-syntax-ns#\">\n      <rdf:Description rdf:about=\"\"\n            xmlns:exif=\"https://ns.adobe.com/exif/1.0/\">\n         <exif:PixelXDimension>77</exif:PixelXDimension>\n         <exif:PixelYDimension>71</exif:PixelYDimension>\n      </rdf:Description>\n   </rdf:RDF>\n</x:xmpmeta>\n"
87     } [
88         "1529.png" binary <file-reader> load-png
89         itexts>> first [ keyword>> ] [ text>> ] bi
90     ] unit-test
91
92 ] with-directory
93
94 ! Test pngsuite
95 "vocab:images/testing/png/suite" [
96     {
97         "PngSuite.png"
98         "basi0g01.png"
99         "basi0g02.png"
100         "basi0g04.png"
101         "basi0g08.png"
102         "basi0g16.png"
103         "basi2c08.png"
104         "basi2c16.png"
105         "basi3p01.png"
106         "basi3p02.png"
107         "basi3p04.png"
108         "basi3p08.png"
109         "basi4a08.png"
110         "basi4a16.png"
111         "basi6a08.png"
112         "basi6a16.png"
113         "basn0g01.png"
114         "basn0g02.png"
115         "basn0g04.png"
116         "basn0g08.png"
117         "basn0g16.png"
118         "basn2c08.png"
119         "basn2c16.png"
120         "basn3p01.png"
121         "basn3p02.png"
122         "basn3p04.png"
123         "basn3p08.png"
124         "basn4a08.png"
125         "basn4a16.png"
126         "basn6a08.png"
127         "basn6a16.png"
128         "bgai4a08.png"
129         "bgai4a16.png"
130         "bgan6a08.png"
131         "bgan6a16.png"
132         "bgbn4a08.png"
133         "bggn4a16.png"
134         "bgwn6a08.png"
135         "bgyn6a16.png"
136         "ccwn2c08.png"
137         "ccwn3p08.png"
138         "cdfn2c08.png"
139         "cdhn2c08.png"
140         "cdsn2c08.png"
141         "cdun2c08.png"
142         "ch1n3p04.png"
143         "ch2n3p08.png"
144         "cm0n0g04.png"
145         "cm7n0g04.png"
146         "cm9n0g04.png"
147         "cs3n2c16.png"
148         "cs3n3p08.png"
149         "cs5n2c08.png"
150         "cs5n3p08.png"
151         "cs8n2c08.png"
152         "cs8n3p08.png"
153         "ct0n0g04.png"
154         "ct1n0g04.png"
155         "cten0g04.png"
156         "ctfn0g04.png"
157         "ctgn0g04.png"
158         "cthn0g04.png"
159         "ctjn0g04.png"
160         "ctzn0g04.png"
161         "f00n0g08.png"
162         "f00n2c08.png"
163         "f01n0g08.png"
164         "f01n2c08.png"
165         "f02n0g08.png"
166         "f02n2c08.png"
167         "f03n0g08.png"
168         "f03n2c08.png"
169         "f04n0g08.png"
170         "f04n2c08.png"
171         "f99n0g04.png"
172         "g03n0g16.png"
173         "g03n2c08.png"
174         "g03n3p04.png"
175         "g04n0g16.png"
176         "g04n2c08.png"
177         "g04n3p04.png"
178         "g05n0g16.png"
179         "g05n2c08.png"
180         "g05n3p04.png"
181         "g07n0g16.png"
182         "g07n2c08.png"
183         "g07n3p04.png"
184         "g10n0g16.png"
185         "g10n2c08.png"
186         "g10n3p04.png"
187         "g25n0g16.png"
188         "g25n2c08.png"
189         "g25n3p04.png"
190         "oi1n0g16.png"
191         "oi1n2c16.png"
192         "oi2n0g16.png"
193         "oi2n2c16.png"
194         "oi4n0g16.png"
195         "oi4n2c16.png"
196         "oi9n0g16.png"
197         "oi9n2c16.png"
198         "pngsuite_logo.png"
199         "pp0n2c16.png"
200         "pp0n6a08.png"
201         "ps1n0g08.png"
202         "ps1n2c16.png"
203         "ps2n0g08.png"
204         "ps2n2c16.png"
205         "s01i3p01.png"
206         "s01n3p01.png"
207         "s02i3p01.png"
208         "s02n3p01.png"
209         "s03i3p01.png"
210         "s03n3p01.png"
211         "s04i3p01.png"
212         "s04n3p01.png"
213         "s05i3p02.png"
214         "s05n3p02.png"
215         "s06i3p02.png"
216         "s06n3p02.png"
217         "s07i3p02.png"
218         "s07n3p02.png"
219         "s08i3p02.png"
220         "s08n3p02.png"
221         "s09i3p02.png"
222         "s09n3p02.png"
223         "s32i3p04.png"
224         "s32n3p04.png"
225         "s33i3p04.png"
226         "s33n3p04.png"
227         "s34i3p04.png"
228         "s34n3p04.png"
229         "s35i3p04.png"
230         "s35n3p04.png"
231         "s36i3p04.png"
232         "s36n3p04.png"
233         "s37i3p04.png"
234         "s37n3p04.png"
235         "s38i3p04.png"
236         "s38n3p04.png"
237         "s39i3p04.png"
238         "s39n3p04.png"
239         "s40i3p04.png"
240         "s40n3p04.png"
241         "tbbn0g04.png"
242         "tbbn1g04.png"
243         "tbbn2c16.png"
244         "tbbn3p08.png"
245         "tbgn2c16.png"
246         "tbgn3p08.png"
247         "tbrn2c08.png"
248         "tbwn0g16.png"
249         "tbwn1g16.png"
250         "tbwn3p08.png"
251         "tbyn3p08.png"
252         "tp0n0g08.png"
253         "tp0n1g08.png"
254         "tp0n2c08.png"
255         "tp0n3p08.png"
256         "tp1n3p08.png"
257         "z00n2c08.png"
258         "z03n2c08.png"
259         "z06n2c08.png"
260         "z09n2c08.png"
261     } [ png-image decode-test ] each
262 ] with-directory
263
264 "vocab:images/testing/png/suite/bads" [
265     {
266         "x00n0g01.png"
267         "xcsn0g01.png"
268         "xd0n2c08.png"
269         "xd3n2c08.png"
270         "xd9n2c08.png"
271         "xdtn0g01.png"
272         "xcrn0g04.png"
273         "xc1n0g08.png"
274         "xc9n2c08.png"
275         "xlfn0g04.png"
276         "xhdn0g08.png"
277         "xs1n0g01.png"
278         "xs2n0g01.png"
279         "xs4n0g01.png"
280         "xs7n0g01.png"
281     } [ png-image image-load-must-fail ] each
282 ] with-directory