Skip to content

Commit ebe4d0f

Browse files
committed
Add tests for renmatrix tracer
1 parent 6623cf2 commit ebe4d0f

File tree

3 files changed

+325
-1
lines changed

3 files changed

+325
-1
lines changed

src/renmatrix.ps.src

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ begin
186186
/borderwidth 0.25 def
187187

188188
{def} forall
189-
opt currentdict /opt undef //processoptions exec pop
189+
opt currentdict /opt undef //processoptions exec /options exch def
190190

191191
inkspread null eq {/inkspread 0.15 def} if
192192
inkspreadh null eq {/inkspreadh inkspread def} if
@@ -387,6 +387,8 @@ begin
387387
} for
388388
] def
389389

390+
options /debugpaths known { /bwipp.debugpaths [ paths { dup length 2 mul exch { unpack } forall } forall ] //raiseerror exec } if
391+
390392
%
391393
% Revert the bitmap size
392394
%

tests/ps_tests/renmatrix.ps.test

Lines changed: 322 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,322 @@
1+
% Barcode Writer in Pure PostScript
2+
% https://bwipp.terryburton.co.uk
3+
%
4+
% Copyright (c) 2004-2025 Terry Burton
5+
6+
% vim: set ts=4 sw=4 et :
7+
8+
/renmatrix dup /uk.co.terryburton.bwipp findresource cvx def
9+
10+
{
11+
0 0 moveto
12+
<<
13+
/ren /renmatrix
14+
/pixs [
15+
1
16+
]
17+
/pixx 1
18+
/pixy 1
19+
/opt << /debugpaths true >>
20+
>> renmatrix
21+
} [
22+
8 0 0 1 0 1 1 0 1
23+
] debugIsEqual
24+
25+
{
26+
0 0 moveto
27+
<<
28+
/ren /renmatrix
29+
/pixs [
30+
1 1
31+
1 1
32+
]
33+
/pixx 2
34+
/pixy 2
35+
/opt << /debugpaths true >>
36+
>> renmatrix
37+
} [
38+
8 0 0 2 0 2 2 0 2
39+
] debugIsEqual
40+
41+
{
42+
0 0 moveto
43+
<<
44+
/ren /renmatrix
45+
/pixs [
46+
1 1 1
47+
]
48+
/pixx 3
49+
/pixy 1
50+
/opt << /debugpaths true >>
51+
>> renmatrix
52+
} [
53+
8 0 0 3 0 3 1 0 1
54+
] debugIsEqual
55+
56+
{
57+
0 0 moveto
58+
<<
59+
/ren /renmatrix
60+
/pixs [
61+
1
62+
1
63+
1
64+
]
65+
/pixx 1
66+
/pixy 3
67+
/opt << /debugpaths true >>
68+
>> renmatrix
69+
} [
70+
8 0 0 1 0 1 3 0 3
71+
] debugIsEqual
72+
73+
{
74+
0 0 moveto
75+
<<
76+
/ren /renmatrix
77+
/pixs [
78+
1 0
79+
0 1
80+
]
81+
/pixx 2
82+
/pixy 2
83+
/opt << /debugpaths true >>
84+
>> renmatrix
85+
} [
86+
8 0 0 1 0 1 1 0 1
87+
8 1 1 2 1 2 2 1 2
88+
] debugIsEqual
89+
90+
{
91+
0 0 moveto
92+
<<
93+
/ren /renmatrix
94+
/pixs [
95+
1 1 1
96+
1 0 1
97+
1 1 1
98+
]
99+
/pixx 3
100+
/pixy 3
101+
/opt << /debugpaths true >>
102+
>> renmatrix
103+
} [
104+
8 0 0 3 0 3 3 0 3
105+
8 1 1 1 2 2 2 2 1
106+
] debugIsEqual
107+
108+
{
109+
0 0 moveto
110+
<<
111+
/ren /renmatrix
112+
/pixs [
113+
1 1 1 1 1 1 1 1 1
114+
1 0 0 0 0 0 0 0 1
115+
1 0 1 1 1 1 1 0 1
116+
1 0 1 0 0 0 1 0 1
117+
1 0 1 0 1 0 1 0 1
118+
1 0 1 0 0 0 1 0 1
119+
1 0 1 1 1 1 1 0 1
120+
1 0 0 0 0 0 0 0 1
121+
1 1 1 1 1 1 1 1 1
122+
]
123+
/pixx 9
124+
/pixy 9
125+
/opt << /debugpaths true >>
126+
>> renmatrix
127+
} [
128+
8 0 0 9 0 9 9 0 9
129+
8 1 1 1 8 8 8 8 1
130+
8 2 2 7 2 7 7 2 7
131+
8 3 3 3 6 6 6 6 3
132+
8 4 4 5 4 5 5 4 5
133+
] debugIsEqual
134+
135+
{
136+
0 0 moveto
137+
<<
138+
/ren /renmatrix
139+
/pixs [
140+
0 0 0 0 0 0 0 0 0
141+
0 1 0 1 0 1 0 1 0
142+
0 0 1 0 1 0 1 0 0
143+
0 1 0 1 0 1 0 1 0
144+
0 0 1 0 1 0 1 0 0
145+
0 1 0 1 0 1 0 1 0
146+
0 0 1 0 1 0 1 0 0
147+
0 1 0 1 0 1 0 1 0
148+
0 0 0 0 0 0 0 0 0
149+
]
150+
/pixx 9
151+
/pixy 9
152+
/opt << /debugpaths true >>
153+
>> renmatrix
154+
} [
155+
8 1 1 2 1 2 2 1 2 8 3 1 4 1 4 2 3 2 8 5 1 6 1 6 2 5 2 8 7 1 8 1 8 2 7 2
156+
8 2 2 3 2 3 3 2 3 8 4 2 5 2 5 3 4 3 8 6 2 7 2 7 3 6 3
157+
8 1 3 2 3 2 4 1 4 8 3 3 4 3 4 4 3 4 8 5 3 6 3 6 4 5 4 8 7 3 8 3 8 4 7 4
158+
8 2 4 3 4 3 5 2 5 8 4 4 5 4 5 5 4 5 8 6 4 7 4 7 5 6 5
159+
8 1 5 2 5 2 6 1 6 8 3 5 4 5 4 6 3 6 8 5 5 6 5 6 6 5 6 8 7 5 8 5 8 6 7 6
160+
8 2 6 3 6 3 7 2 7 8 4 6 5 6 5 7 4 7 8 6 6 7 6 7 7 6 7
161+
8 1 7 2 7 2 8 1 8 8 3 7 4 7 4 8 3 8 8 5 7 6 7 6 8 5 8 8 7 7 8 7 8 8 7 8
162+
] debugIsEqual
163+
164+
{
165+
0 0 moveto
166+
<<
167+
/ren /renmatrix
168+
/pixs [
169+
1 1 1 1 1 1 1 1 1
170+
1 1 0 1 0 1 0 1 1
171+
1 0 1 0 1 0 1 0 1
172+
1 1 0 1 0 1 0 1 1
173+
1 0 1 0 1 0 1 0 1
174+
1 1 0 1 0 1 0 1 1
175+
1 0 1 0 1 0 1 0 1
176+
1 1 0 1 0 1 0 1 1
177+
1 1 1 1 1 1 1 1 1
178+
]
179+
/pixx 9
180+
/pixy 9
181+
/opt << /debugpaths true >>
182+
>> renmatrix
183+
} [
184+
8 0 0 9 0 9 9 0 9
185+
88 2 1 2 2 1 2 1 3 2 3 2 4 1 4 1 5 2 5 2 6 1 6 1 7 2 7 2 8
186+
3 8 3 7 4 7 4 8 5 8 5 7 6 7 6 8 7 8 7 7 8 7 8 6 7 6 7 5
187+
8 5 8 4 7 4 7 3 8 3 8 2 7 2 7 1 6 1 6 2 5 2 5 1 4 1 4 2 3 2 3 1
188+
8 2 2 3 2 3 3 2 3
189+
8 4 2 5 2 5 3 4 3
190+
8 6 2 7 2 7 3 6 3
191+
8 3 3 4 3 4 4 3 4
192+
8 5 3 6 3 6 4 5 4
193+
8 2 4 3 4 3 5 2 5
194+
8 4 4 5 4 5 5 4 5
195+
8 6 4 7 4 7 5 6 5
196+
8 3 5 4 5 4 6 3 6
197+
8 5 5 6 5 6 6 5 6
198+
8 2 6 3 6 3 7 2 7
199+
8 4 6 5 6 5 7 4 7
200+
8 6 6 7 6 7 7 6 7
201+
] debugIsEqual
202+
203+
{
204+
0 0 moveto
205+
<<
206+
/ren /renmatrix
207+
/pixs [
208+
0 0 0 0 0 0 0 0 0
209+
0 1 1 1 0 1 1 1 0
210+
0 1 0 1 0 1 0 1 0
211+
0 1 0 1 1 1 0 1 0
212+
0 1 0 0 0 0 0 1 0
213+
0 1 1 1 0 1 1 1 0
214+
0 0 0 1 0 1 0 0 0
215+
0 1 1 1 0 1 1 1 0
216+
0 0 0 0 0 0 0 0 0
217+
]
218+
/pixx 9
219+
/pixy 9
220+
/opt << /debugpaths true >>
221+
>> renmatrix
222+
} [
223+
56 1 1 4 1 4 3 5 3 5 1 8 1 8 6 6 6 6 7 8 7 8 8 5 8 5 5 7 5
224+
7 2 6 2 6 4 3 4 3 2 2 2 2 5 4 5 4 8 1 8 1 7 3 7 3 6 1 6
225+
] debugIsEqual
226+
227+
{
228+
0 0 moveto
229+
<<
230+
/ren /renmatrix
231+
/pixs [
232+
1 1 1 1 1 1 1 1 1
233+
1 0 0 0 1 0 0 0 1
234+
1 0 1 0 1 0 1 0 1
235+
1 0 1 0 0 0 1 0 1
236+
1 0 1 1 1 1 1 0 1
237+
1 0 0 0 1 0 0 0 1
238+
1 1 1 0 1 0 1 1 1
239+
1 0 0 0 1 0 0 0 1
240+
1 1 1 1 1 1 1 1 1
241+
]
242+
/pixx 9
243+
/pixy 9
244+
/opt << /debugpaths true >>
245+
>> renmatrix
246+
} [
247+
8 0 0 9 0 9 9 0 9
248+
56 1 1 1 6 3 6 3 7 1 7 1 8 4 8 4 5 2 5 2 2 3 2 3 4 6 4 6 2
249+
7 2 7 5 5 5 5 8 8 8 8 7 6 7 6 6 8 6 8 1 5 1 5 3 4 3 4 1
250+
] debugIsEqual
251+
252+
{
253+
0 0 moveto
254+
<<
255+
/ren /renmatrix
256+
/pixs [
257+
1 1 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 1 1 1 1
258+
1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1
259+
1 0 1 1 1 0 1 0 0 0 1 1 1 0 1 0 1 1 1 0 1
260+
1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 1 1 0 1
261+
1 0 1 1 1 0 1 0 0 1 0 0 1 0 1 0 1 1 1 0 1
262+
1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 1
263+
1 1 1 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1
264+
0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0
265+
0 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 1 0
266+
0 1 1 1 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0 1 1
267+
0 0 1 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 1 0 0
268+
1 0 0 1 1 1 0 1 0 1 1 0 0 1 0 0 1 0 1 0 0
269+
0 1 0 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 1 0 1
270+
0 0 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 1 0 1
271+
1 1 1 1 1 1 1 0 1 1 0 0 1 0 1 0 0 0 0 0 1
272+
1 0 0 0 0 0 1 0 1 0 0 1 0 0 1 1 0 1 0 0 0
273+
1 0 1 1 1 0 1 0 1 1 0 0 0 0 0 1 1 1 1 1 1
274+
1 0 1 1 1 0 1 0 0 0 1 1 1 0 0 1 0 1 0 1 1
275+
1 0 1 1 1 0 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0
276+
1 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 1 0 1 0 1
277+
1 1 1 1 1 1 1 0 0 1 1 0 1 1 1 0 0 0 1 1 1
278+
]
279+
/pixx 21
280+
/pixy 21
281+
/opt << /debugpaths true >>
282+
>> renmatrix
283+
} [
284+
8 0 0 7 0 7 7 0 7
285+
8 10 0 12 0 12 1 10 1
286+
8 14 0 21 0 21 7 14 7
287+
8 1 1 1 6 6 6 6 1
288+
8 8 1 9 1 9 2 8 2
289+
16 12 1 13 1 13 3 12 3 12 4 10 4 10 2 12 2
290+
8 15 1 15 6 20 6 20 1
291+
8 2 2 5 2 5 5 2 5
292+
8 16 2 19 2 19 5 16 5
293+
8 9 4 10 4 10 5 9 5
294+
8 12 4 13 4 13 7 12 7
295+
20 8 5 9 5 9 7 10 7 10 6 11 6 11 7 12 7 12 8 8 8
296+
16 4 8 8 8 8 9 9 9 9 10 7 10 7 9 4 9
297+
40 14 8 16 8 16 10 17 10 17 9 18 9 18 10 19 10 19 14 18 14
298+
18 11 17 11 17 12 16 12 16 11 14 11 14 10 15 10 15 9 14 9
299+
12 19 8 20 8 20 9 21 9 21 10 19 10
300+
16 1 9 4 9 4 10 3 10 3 11 2 11 2 10 1 10
301+
12 12 9 13 9 13 11 11 11 11 10 12 10
302+
20 5 10 7 10 7 11 6 11 6 12 4 12 4 13 3 13 3 11 5 11
303+
12 9 10 10 10 10 11 11 11 11 13 9 13
304+
8 0 11 1 11 1 12 0 12
305+
12 7 11 8 11 8 13 6 13 6 12 7 12
306+
8 13 11 14 11 14 12 13 12
307+
8 1 12 2 12 2 13 1 13
308+
16 12 12 13 12 13 15 12 15 12 14 11 14 11 13 12 13
309+
8 20 12 21 12 21 15 20 15
310+
20 8 13 9 13 9 14 10 14 10 15 9 15 9 16 10 16 10 17 8 17
311+
8 0 14 7 14 7 21 0 21
312+
60 14 14 15 14 15 15 16 15 16 16 17 16 17 15 18 15 18 16 21 16
313+
21 18 19 18 19 17 18 17 18 18 19 18 19 20 20 20 20 19 21 19
314+
21 21 18 21 18 19 17 19 17 20 16 20 16 19 15 19 15 16 14 16
315+
8 1 15 1 20 6 20 6 15
316+
8 11 15 12 15 12 16 11 16
317+
8 2 16 5 16 5 19 2 19
318+
24 10 17 13 17 13 18 11 18 11 19 10 19 10 20 11 20 11 21 9 21 9 18 10 18
319+
8 16 17 16 18 17 18 17 17
320+
16 11 19 13 19 13 20 15 20 15 21 12 21 12 20 11 20
321+
] debugIsEqual
322+

tests/ps_tests/test.ps

50 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)