2 * "$Id: testraster.c 6331 2007-03-12 16:07:31Z mike $"
4 * Raster test program routines for the Common UNIX Printing System (CUPS).
6 * Copyright 1997-2007 by Easy Software Products.
8 * These coded instructions, statements, and computer programs are the
9 * property of Easy Software Products and are protected by Federal
10 * copyright law. Distribution and use rights for the CUPS Raster source
11 * files are outlined in the GNU Library General Public License, located
12 * in the "pstoraster" directory. If this file is missing or damaged
13 * please contact Easy Software Products at:
15 * Attn: CUPS Licensing Information
16 * Easy Software Products
17 * 44141 Airport View Drive, Suite 204
18 * Hollywood, Maryland 20636 USA
20 * Voice: (301) 373-9600
21 * EMail: cups-info@cups.org
22 * WWW: http://www.cups.org
24 * This code and any derivative of it may be used and distributed
25 * freely under the terms of the GNU General Public License when
26 * used with GNU Ghostscript or its derivatives. Use of the code
27 * (or any derivative of it) with software other than GNU
28 * GhostScript (or its derivatives) is governed by the CUPS license
31 * This file is subject to the Apple OS-Developed Software exception.
35 * main() - Test the raster functions.
36 * print_changes() - Print differences in the page header.
40 * Include necessary headers...
43 #include "image-private.h"
45 #include <cups/string.h>
49 * Test PS commands and header...
52 static const char *dsc_code
=
54 "%%BeginFeature: *PageSize Tabloid\n"
55 "<</PageSize[792 1224]>>setpagedevice\n"
57 "} stopped cleartomark\n";
58 static const char *setpagedevice_code
=
60 "/MediaClass(Media Class)"
61 "/MediaColor((Media Color))"
62 "/MediaType(Media\\\\Type)"
64 "/AdvanceDistance 1000"
69 "/HWResolution[100 200]"
74 "/MediaPosition 8#777"
75 "/MediaWeight 16#fe01"
81 "/PageSize[612 792.1]"
92 "/cupsBorderlessScalingFactor 1.001"
141 "/cupsMarkerType(Marker Type)"
142 "/cupsRenderingIntent(Rendering Intent)"
143 "/cupsPageSizeName(Letter)"
144 "/cupsPreferredBitsPerColor 17"
147 static cups_page_header2_t setpagedevice_header
=
149 "Media Class", /* MediaClass */
150 "(Media Color)", /* MediaColor */
151 "Media\\Type", /* MediaType */
152 "Abc", /* OutputType */
153 1000, /* AdvanceDistance */
154 CUPS_ADVANCE_FILE
, /* AdvanceMedia */
155 CUPS_FALSE
, /* Collate */
156 CUPS_CUT_JOB
, /* CutMedia */
157 CUPS_TRUE
, /* Duplex */
158 { 100, 200 }, /* HWResolution */
159 { 0, 0, 0, 0 }, /* ImagingBoundingBox */
160 CUPS_TRUE
, /* InsertSheet */
161 CUPS_JOG_SET
, /* Jog */
162 CUPS_EDGE_RIGHT
, /* LeadingEdge */
163 { 0, 0 }, /* Margins */
164 CUPS_TRUE
, /* ManualFeed */
165 0777, /* MediaPosition */
166 0xfe01, /* MediaWeight */
167 CUPS_TRUE
, /* MirrorPrint */
168 CUPS_TRUE
, /* NegativePrint */
170 CUPS_ORIENT_90
, /* Orientation */
171 CUPS_TRUE
, /* OutputFaceUp */
172 { 612, 792 }, /* PageSize */
173 CUPS_TRUE
, /* Separations */
174 CUPS_TRUE
, /* TraySwitch */
175 CUPS_TRUE
, /* Tumble */
178 2, /* cupsMediaType */
179 0, /* cupsBitsPerColor */
180 0, /* cupsBitsPerPixel */
181 0, /* cupsBytesPerLine */
182 CUPS_ORDER_BANDED
, /* cupsColorOrder */
183 CUPS_CSPACE_RGB
, /* cupsColorSpace */
184 1, /* cupsCompression */
185 1, /* cupsRowCount */
188 0, /* cupsNumColors */
189 1.001, /* cupsBorderlessScalingFactor */
190 { 612.0, 792.1 }, /* cupsPageSize */
191 { 0.0, 0.0, 0.0, 0.0 }, /* cupsImagingBBox */
192 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
193 /* cupsInteger[16] */
194 { 1.1, 2.1, 3.1, 4.1, 5.1, 6.1, 7.1, 8.1, 9.1, 10.1, 11.1, 12.1, 13.1,
195 14.1, 15.1, 16.1 }, /* cupsReal[16] */
196 { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13",
197 "14", "15", "16" }, /* cupsString[16] */
198 "Marker Type", /* cupsMarkerType */
199 "Rendering Intent", /* cupsRenderingIntent */
200 "Letter" /* cupsPageSizeName */
208 static int do_ppd_tests(const char *filename
, int num_options
,
209 cups_option_t
*options
);
210 static int do_ps_tests(void);
211 static int do_raster_tests(void);
212 static void print_changes(cups_page_header2_t
*header
,
213 cups_page_header2_t
*expected
);
217 * 'main()' - Test the raster functions.
220 int /* O - Exit status */
221 main(int argc
, /* I - Number of command-line args */
222 char *argv
[]) /* I - Command-line arguments */
224 int errors
; /* Number of errors */
229 errors
= do_ps_tests();
230 errors
+= do_raster_tests();
234 int i
; /* Looping var */
235 int num_options
; /* Number of options */
236 cups_option_t
*options
; /* Options */
239 for (errors
= 0, num_options
= 0, options
= NULL
, i
= 1; i
< argc
; i
++)
241 if (argv
[i
][0] == '-')
243 if (argv
[i
][1] == 'o')
246 num_options
= cupsParseOptions(argv
[i
] + 2, num_options
, &options
);
251 num_options
= cupsParseOptions(argv
[i
], num_options
, &options
);
254 puts("Usage: testraster [-o name=value ...] [filename.ppd ...]");
261 puts("Usage: testraster [-o name=value ...] [filename.ppd ...]");
266 errors
+= do_ppd_tests(argv
[i
], num_options
, options
);
269 cupsFreeOptions(num_options
, options
);
277 * 'do_ppd_tests()' - Test the default option commands in a PPD file.
280 static int /* O - Number of errors */
281 do_ppd_tests(const char *filename
, /* I - PPD file */
282 int num_options
, /* I - Number of options */
283 cups_option_t
*options
) /* I - Options */
285 ppd_file_t
*ppd
; /* PPD file data */
286 cups_page_header2_t header
; /* Page header */
289 printf("\"%s\": ", filename
);
292 if ((ppd
= ppdOpenFile(filename
)) == NULL
)
294 ppd_status_t status
; /* Status from PPD loader */
295 int line
; /* Line number containing error */
298 status
= ppdLastError(&line
);
300 puts("FAIL (bad PPD file)");
301 printf(" %s on line %d\n", ppdErrorString(status
), line
);
306 ppdMarkDefaults(ppd
);
307 cupsMarkOptions(ppd
, num_options
, options
);
309 if (cupsRasterInterpretPPD(&header
, ppd
, 0, NULL
, NULL
))
311 puts("FAIL (error from function)");
312 puts(cupsRasterErrorString());
326 * 'do_ps_tests()' - Test standard PostScript commands.
332 cups_page_header2_t header
; /* Page header */
333 int preferred_bits
; /* Preferred bits */
334 int errors
= 0; /* Number of errors */
338 * Test PS exec code...
341 fputs("_cupsRasterExecPS(\"setpagedevice\"): ", stdout
);
344 memset(&header
, 0, sizeof(header
));
345 header
.Collate
= CUPS_TRUE
;
348 if (_cupsRasterExecPS(&header
, &preferred_bits
, setpagedevice_code
))
350 puts("FAIL (error from function)");
351 puts(cupsRasterErrorString());
354 else if (preferred_bits
!= 17 ||
355 memcmp(&header
, &setpagedevice_header
, sizeof(header
)))
357 puts("FAIL (bad header)");
359 if (preferred_bits
!= 17)
360 printf(" cupsPreferredBitsPerColor %d, expected 17\n",
363 print_changes(&setpagedevice_header
, &header
);
369 fputs("_cupsRasterExecPS(\"roll\"): ", stdout
);
372 if (_cupsRasterExecPS(&header
, &preferred_bits
,
375 "<</PageSize[5 -2 roll]/ImagingBBox null>>"
378 puts("FAIL (error from function)");
379 puts(cupsRasterErrorString());
382 else if (header
.PageSize
[0] != 792 || header
.PageSize
[1] != 612)
384 printf("FAIL (PageSize [%d %d], expected [792 612])\n", header
.PageSize
[0],
391 fputs("_cupsRasterExecPS(\"dup index\"): ", stdout
);
394 if (_cupsRasterExecPS(&header
, &preferred_bits
,
398 "/Tumble 6 index>>setpagedevice\n"
401 puts("FAIL (error from function)");
402 puts(cupsRasterErrorString());
409 printf("FAIL (Collate false, expected true)\n");
415 printf("FAIL (Duplex true, expected false)\n");
421 printf("FAIL (Tumble true, expected false)\n");
425 if(header
.Collate
&& !header
.Duplex
&& !header
.Tumble
)
429 fputs("_cupsRasterExecPS(\"%%Begin/EndFeature code\"): ", stdout
);
432 if (_cupsRasterExecPS(&header
, &preferred_bits
, dsc_code
))
434 puts("FAIL (error from function)");
435 puts(cupsRasterErrorString());
438 else if (header
.PageSize
[0] != 792 || header
.PageSize
[1] != 1224)
440 printf("FAIL (bad PageSize [%d %d], expected [792 1224])\n",
441 header
.PageSize
[0], header
.PageSize
[1]);
448 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
451 if (_cupsRasterExecPS(&header
, &preferred_bits
,
454 puts("FAIL (error from function)");
465 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
468 if (_cupsRasterExecPS(&header
, &preferred_bits
,
471 puts("FAIL (error from function)");
482 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
485 if (_cupsRasterExecPS(&header
, &preferred_bits
,
488 puts("FAIL (error from function)");
499 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
502 if (_cupsRasterExecPS(&header
, &preferred_bits
,
505 puts("FAIL (error from function)");
516 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
519 if (_cupsRasterExecPS(&header
, &preferred_bits
,
522 puts("FAIL (error from function)");
539 * 'do_raster_tests()' - Test reading and writing of raster data.
542 static int /* O - Number of errors */
543 do_raster_tests(void)
545 int page
, x
, y
; /* Looping vars */
546 FILE *fp
; /* Raster file */
547 cups_raster_t
*r
; /* Raster stream */
548 cups_page_header2_t header
, /* Page header */
549 expected
; /* Expected page header */
550 unsigned char data
[2048]; /* Raster data */
551 int errors
= 0; /* Number of errors */
558 fputs("cupsRasterOpen(CUPS_RASTER_WRITE): ", stdout
);
561 if ((fp
= fopen("test.raster", "wb")) == NULL
)
563 printf("FAIL (%s)\n", strerror(errno
));
567 if ((r
= cupsRasterOpen(fileno(fp
), CUPS_RASTER_WRITE
)) == NULL
)
569 printf("FAIL (%s)\n", strerror(errno
));
576 for (page
= 0; page
< 4; page
++)
578 memset(&header
, 0, sizeof(header
));
579 header
.cupsWidth
= 256;
580 header
.cupsHeight
= 256;
581 header
.cupsBytesPerLine
= 256;
585 header
.cupsBytesPerLine
*= 2;
586 header
.cupsColorSpace
= CUPS_CSPACE_CMYK
;
587 header
.cupsColorOrder
= CUPS_ORDER_CHUNKED
;
588 header
.cupsNumColors
= 4;
592 header
.cupsColorSpace
= CUPS_CSPACE_K
;
593 header
.cupsColorOrder
= CUPS_ORDER_BANDED
;
594 header
.cupsNumColors
= 1;
599 header
.cupsBytesPerLine
*= 2;
600 header
.cupsBitsPerColor
= 16;
601 header
.cupsBitsPerPixel
= (page
& 1) ? 64 : 16;
605 header
.cupsBitsPerColor
= 8;
606 header
.cupsBitsPerPixel
= (page
& 1) ? 32 : 8;
609 if (cupsRasterWriteHeader2(r
, &header
))
610 puts("cupsRasterWriteHeader2: PASS");
613 puts("cupsRasterWriteHeader2: FAIL");
617 fputs("cupsRasterWritePixels: ", stdout
);
620 memset(data
, 0, header
.cupsBytesPerLine
);
621 for (y
= 0; y
< 64; y
++)
622 if (!cupsRasterWritePixels(r
, data
, header
.cupsBytesPerLine
))
632 for (x
= 0; x
< header
.cupsBytesPerLine
; x
++)
635 for (y
= 0; y
< 64; y
++)
636 if (!cupsRasterWritePixels(r
, data
, header
.cupsBytesPerLine
))
646 memset(data
, 255, header
.cupsBytesPerLine
);
647 for (y
= 0; y
< 64; y
++)
648 if (!cupsRasterWritePixels(r
, data
, header
.cupsBytesPerLine
))
658 for (x
= 0; x
< header
.cupsBytesPerLine
; x
++)
661 for (y
= 0; y
< 64; y
++)
662 if (!cupsRasterWritePixels(r
, data
, header
.cupsBytesPerLine
))
684 fputs("cupsRasterOpen(CUPS_RASTER_READ): ", stdout
);
687 if ((fp
= fopen("test.raster", "rb")) == NULL
)
689 printf("FAIL (%s)\n", strerror(errno
));
693 if ((r
= cupsRasterOpen(fileno(fp
), CUPS_RASTER_READ
)) == NULL
)
695 printf("FAIL (%s)\n", strerror(errno
));
702 for (page
= 0; page
< 4; page
++)
704 memset(&expected
, 0, sizeof(expected
));
705 expected
.cupsWidth
= 256;
706 expected
.cupsHeight
= 256;
707 expected
.cupsBytesPerLine
= 256;
711 expected
.cupsBytesPerLine
*= 2;
712 expected
.cupsColorSpace
= CUPS_CSPACE_CMYK
;
713 expected
.cupsColorOrder
= CUPS_ORDER_CHUNKED
;
714 expected
.cupsNumColors
= 4;
718 expected
.cupsColorSpace
= CUPS_CSPACE_K
;
719 expected
.cupsColorOrder
= CUPS_ORDER_BANDED
;
720 expected
.cupsNumColors
= 1;
725 expected
.cupsBytesPerLine
*= 2;
726 expected
.cupsBitsPerColor
= 16;
727 expected
.cupsBitsPerPixel
= (page
& 1) ? 64 : 16;
731 expected
.cupsBitsPerColor
= 8;
732 expected
.cupsBitsPerPixel
= (page
& 1) ? 32 : 8;
735 fputs("cupsRasterReadHeader2: ", stdout
);
738 if (!cupsRasterReadHeader2(r
, &header
))
740 puts("FAIL (read error)");
745 if (memcmp(&header
, &expected
, sizeof(header
)))
747 puts("FAIL (bad page header)");
749 print_changes(&header
, &expected
);
752 fputs("cupsRasterReadPixels: ", stdout
);
755 for (y
= 0; y
< 64; y
++)
757 if (!cupsRasterReadPixels(r
, data
, header
.cupsBytesPerLine
))
759 puts("FAIL (read error)");
764 if (data
[0] != 0 || memcmp(data
, data
+ 1, header
.cupsBytesPerLine
- 1))
766 printf("FAIL (raster line %d corrupt)\n", y
);
774 for (y
= 0; y
< 64; y
++)
776 if (!cupsRasterReadPixels(r
, data
, header
.cupsBytesPerLine
))
778 puts("FAIL (read error)");
783 for (x
= 0; x
< header
.cupsBytesPerLine
; x
++)
784 if (data
[x
] != (x
& 255))
787 if (x
< header
.cupsBytesPerLine
)
789 printf("FAIL (raster line %d corrupt)\n", y
+ 64);
797 for (y
= 0; y
< 64; y
++)
799 if (!cupsRasterReadPixels(r
, data
, header
.cupsBytesPerLine
))
801 puts("FAIL (read error)");
806 if (data
[0] != 255 || memcmp(data
, data
+ 1, header
.cupsBytesPerLine
- 1))
808 printf("fail (raster line %d corrupt)\n", y
+ 128);
816 for (y
= 0; y
< 64; y
++)
818 if (!cupsRasterReadPixels(r
, data
, header
.cupsBytesPerLine
))
820 puts("FAIL (read error)");
825 for (x
= 0; x
< header
.cupsBytesPerLine
; x
++)
826 if (data
[x
] != ((x
/ 4) & 255))
829 if (x
< header
.cupsBytesPerLine
)
831 printf("FAIL (raster line %d corrupt)\n", y
+ 192);
852 * 'print_changes()' - Print differences in the page header.
857 cups_page_header2_t
*header
, /* I - Actual page header */
858 cups_page_header2_t
*expected
) /* I - Expected page header */
860 int i
; /* Looping var */
863 if (strcmp(header
->MediaClass
, expected
->MediaClass
))
864 printf(" MediaClass (%s), expected (%s)\n", header
->MediaClass
,
865 expected
->MediaClass
);
867 if (strcmp(header
->MediaColor
, expected
->MediaColor
))
868 printf(" MediaColor (%s), expected (%s)\n", header
->MediaColor
,
869 expected
->MediaColor
);
871 if (strcmp(header
->MediaType
, expected
->MediaType
))
872 printf(" MediaType (%s), expected (%s)\n", header
->MediaType
,
873 expected
->MediaType
);
875 if (strcmp(header
->OutputType
, expected
->OutputType
))
876 printf(" OutputType (%s), expected (%s)\n", header
->OutputType
,
877 expected
->OutputType
);
879 if (header
->AdvanceDistance
!= expected
->AdvanceDistance
)
880 printf(" AdvanceDistance %d, expected %d\n", header
->AdvanceDistance
,
881 expected
->AdvanceDistance
);
883 if (header
->AdvanceMedia
!= expected
->AdvanceMedia
)
884 printf(" AdvanceMedia %d, expected %d\n", header
->AdvanceMedia
,
885 expected
->AdvanceMedia
);
887 if (header
->Collate
!= expected
->Collate
)
888 printf(" Collate %d, expected %d\n", header
->Collate
,
891 if (header
->CutMedia
!= expected
->CutMedia
)
892 printf(" CutMedia %d, expected %d\n", header
->CutMedia
,
895 if (header
->Duplex
!= expected
->Duplex
)
896 printf(" Duplex %d, expected %d\n", header
->Duplex
,
899 if (header
->HWResolution
[0] != expected
->HWResolution
[0] ||
900 header
->HWResolution
[1] != expected
->HWResolution
[1])
901 printf(" HWResolution [%d %d], expected [%d %d]\n",
902 header
->HWResolution
[0], header
->HWResolution
[1],
903 expected
->HWResolution
[0], expected
->HWResolution
[1]);
905 if (memcmp(header
->ImagingBoundingBox
, expected
->ImagingBoundingBox
,
906 sizeof(header
->ImagingBoundingBox
)))
907 printf(" ImagingBoundingBox [%d %d %d %d], expected [%d %d %d %d]\n",
908 header
->ImagingBoundingBox
[0],
909 header
->ImagingBoundingBox
[1],
910 header
->ImagingBoundingBox
[2],
911 header
->ImagingBoundingBox
[3],
912 expected
->ImagingBoundingBox
[0],
913 expected
->ImagingBoundingBox
[1],
914 expected
->ImagingBoundingBox
[2],
915 expected
->ImagingBoundingBox
[3]);
917 if (header
->InsertSheet
!= expected
->InsertSheet
)
918 printf(" InsertSheet %d, expected %d\n", header
->InsertSheet
,
919 expected
->InsertSheet
);
921 if (header
->Jog
!= expected
->Jog
)
922 printf(" Jog %d, expected %d\n", header
->Jog
,
925 if (header
->LeadingEdge
!= expected
->LeadingEdge
)
926 printf(" LeadingEdge %d, expected %d\n", header
->LeadingEdge
,
927 expected
->LeadingEdge
);
929 if (header
->Margins
[0] != expected
->Margins
[0] ||
930 header
->Margins
[1] != expected
->Margins
[1])
931 printf(" Margins [%d %d], expected [%d %d]\n",
932 header
->Margins
[0], header
->Margins
[1],
933 expected
->Margins
[0], expected
->Margins
[1]);
935 if (header
->ManualFeed
!= expected
->ManualFeed
)
936 printf(" ManualFeed %d, expected %d\n", header
->ManualFeed
,
937 expected
->ManualFeed
);
939 if (header
->MediaPosition
!= expected
->MediaPosition
)
940 printf(" MediaPosition %d, expected %d\n", header
->MediaPosition
,
941 expected
->MediaPosition
);
943 if (header
->MediaWeight
!= expected
->MediaWeight
)
944 printf(" MediaWeight %d, expected %d\n", header
->MediaWeight
,
945 expected
->MediaWeight
);
947 if (header
->MirrorPrint
!= expected
->MirrorPrint
)
948 printf(" MirrorPrint %d, expected %d\n", header
->MirrorPrint
,
949 expected
->MirrorPrint
);
951 if (header
->NegativePrint
!= expected
->NegativePrint
)
952 printf(" NegativePrint %d, expected %d\n", header
->NegativePrint
,
953 expected
->NegativePrint
);
955 if (header
->NumCopies
!= expected
->NumCopies
)
956 printf(" NumCopies %d, expected %d\n", header
->NumCopies
,
957 expected
->NumCopies
);
959 if (header
->Orientation
!= expected
->Orientation
)
960 printf(" Orientation %d, expected %d\n", header
->Orientation
,
961 expected
->Orientation
);
963 if (header
->OutputFaceUp
!= expected
->OutputFaceUp
)
964 printf(" OutputFaceUp %d, expected %d\n", header
->OutputFaceUp
,
965 expected
->OutputFaceUp
);
967 if (header
->PageSize
[0] != expected
->PageSize
[0] ||
968 header
->PageSize
[1] != expected
->PageSize
[1])
969 printf(" PageSize [%d %d], expected [%d %d]\n",
970 header
->PageSize
[0], header
->PageSize
[1],
971 expected
->PageSize
[0], expected
->PageSize
[1]);
973 if (header
->Separations
!= expected
->Separations
)
974 printf(" Separations %d, expected %d\n", header
->Separations
,
975 expected
->Separations
);
977 if (header
->TraySwitch
!= expected
->TraySwitch
)
978 printf(" TraySwitch %d, expected %d\n", header
->TraySwitch
,
979 expected
->TraySwitch
);
981 if (header
->Tumble
!= expected
->Tumble
)
982 printf(" Tumble %d, expected %d\n", header
->Tumble
,
985 if (header
->cupsWidth
!= expected
->cupsWidth
)
986 printf(" cupsWidth %d, expected %d\n", header
->cupsWidth
,
987 expected
->cupsWidth
);
989 if (header
->cupsHeight
!= expected
->cupsHeight
)
990 printf(" cupsHeight %d, expected %d\n", header
->cupsHeight
,
991 expected
->cupsHeight
);
993 if (header
->cupsMediaType
!= expected
->cupsMediaType
)
994 printf(" cupsMediaType %d, expected %d\n", header
->cupsMediaType
,
995 expected
->cupsMediaType
);
997 if (header
->cupsBitsPerColor
!= expected
->cupsBitsPerColor
)
998 printf(" cupsBitsPerColor %d, expected %d\n", header
->cupsBitsPerColor
,
999 expected
->cupsBitsPerColor
);
1001 if (header
->cupsBitsPerPixel
!= expected
->cupsBitsPerPixel
)
1002 printf(" cupsBitsPerPixel %d, expected %d\n", header
->cupsBitsPerPixel
,
1003 expected
->cupsBitsPerPixel
);
1005 if (header
->cupsBytesPerLine
!= expected
->cupsBytesPerLine
)
1006 printf(" cupsBytesPerLine %d, expected %d\n", header
->cupsBytesPerLine
,
1007 expected
->cupsBytesPerLine
);
1009 if (header
->cupsColorOrder
!= expected
->cupsColorOrder
)
1010 printf(" cupsColorOrder %d, expected %d\n", header
->cupsColorOrder
,
1011 expected
->cupsColorOrder
);
1013 if (header
->cupsColorSpace
!= expected
->cupsColorSpace
)
1014 printf(" cupsColorSpace %d, expected %d\n", header
->cupsColorSpace
,
1015 expected
->cupsColorSpace
);
1017 if (header
->cupsCompression
!= expected
->cupsCompression
)
1018 printf(" cupsCompression %d, expected %d\n", header
->cupsCompression
,
1019 expected
->cupsCompression
);
1021 if (header
->cupsRowCount
!= expected
->cupsRowCount
)
1022 printf(" cupsRowCount %d, expected %d\n", header
->cupsRowCount
,
1023 expected
->cupsRowCount
);
1025 if (header
->cupsRowFeed
!= expected
->cupsRowFeed
)
1026 printf(" cupsRowFeed %d, expected %d\n", header
->cupsRowFeed
,
1027 expected
->cupsRowFeed
);
1029 if (header
->cupsRowStep
!= expected
->cupsRowStep
)
1030 printf(" cupsRowStep %d, expected %d\n", header
->cupsRowStep
,
1031 expected
->cupsRowStep
);
1033 if (header
->cupsNumColors
!= expected
->cupsNumColors
)
1034 printf(" cupsNumColors %d, expected %d\n", header
->cupsNumColors
,
1035 expected
->cupsNumColors
);
1037 if (header
->cupsBorderlessScalingFactor
!=
1038 expected
->cupsBorderlessScalingFactor
)
1039 printf(" cupsBorderlessScalingFactor %g, expected %g\n",
1040 header
->cupsBorderlessScalingFactor
,
1041 expected
->cupsBorderlessScalingFactor
);
1043 if (header
->cupsPageSize
[0] != expected
->cupsPageSize
[0] ||
1044 header
->cupsPageSize
[1] != expected
->cupsPageSize
[1])
1045 printf(" cupsPageSize [%g %g], expected [%g %g]\n",
1046 header
->cupsPageSize
[0], header
->cupsPageSize
[1],
1047 expected
->cupsPageSize
[0], expected
->cupsPageSize
[1]);
1049 if (header
->cupsImagingBBox
[0] != expected
->cupsImagingBBox
[0] ||
1050 header
->cupsImagingBBox
[1] != expected
->cupsImagingBBox
[1] ||
1051 header
->cupsImagingBBox
[2] != expected
->cupsImagingBBox
[2] ||
1052 header
->cupsImagingBBox
[3] != expected
->cupsImagingBBox
[3])
1053 printf(" cupsImagingBBox [%g %g %g %g], expected [%g %g %g %g]\n",
1054 header
->cupsImagingBBox
[0], header
->cupsImagingBBox
[1],
1055 header
->cupsImagingBBox
[2], header
->cupsImagingBBox
[3],
1056 expected
->cupsImagingBBox
[0], expected
->cupsImagingBBox
[1],
1057 expected
->cupsImagingBBox
[2], expected
->cupsImagingBBox
[3]);
1059 for (i
= 0; i
< 16; i
++)
1060 if (header
->cupsInteger
[i
] != expected
->cupsInteger
[i
])
1061 printf(" cupsInteger%d %d, expected %d\n", i
, header
->cupsInteger
[i
],
1062 expected
->cupsInteger
[i
]);
1064 for (i
= 0; i
< 16; i
++)
1065 if (header
->cupsReal
[i
] != expected
->cupsReal
[i
])
1066 printf(" cupsReal%d %g, expected %g\n", i
, header
->cupsReal
[i
],
1067 expected
->cupsReal
[i
]);
1069 for (i
= 0; i
< 16; i
++)
1070 if (strcmp(header
->cupsString
[i
], expected
->cupsString
[i
]))
1071 printf(" cupsString%d (%s), expected (%s)\n", i
,
1072 header
->cupsString
[i
], expected
->cupsString
[i
]);
1074 if (strcmp(header
->cupsMarkerType
, expected
->cupsMarkerType
))
1075 printf(" cupsMarkerType (%s), expected (%s)\n", header
->cupsMarkerType
,
1076 expected
->cupsMarkerType
);
1078 if (strcmp(header
->cupsRenderingIntent
, expected
->cupsRenderingIntent
))
1079 printf(" cupsRenderingIntent (%s), expected (%s)\n",
1080 header
->cupsRenderingIntent
,
1081 expected
->cupsRenderingIntent
);
1083 if (strcmp(header
->cupsPageSizeName
, expected
->cupsPageSizeName
))
1084 printf(" cupsPageSizeName (%s), expected (%s)\n",
1085 header
->cupsPageSizeName
,
1086 expected
->cupsPageSizeName
);
1091 * End of "$Id: testraster.c 6331 2007-03-12 16:07:31Z mike $".