2 * "$Id: testraster.c 7376 2008-03-19 21:07:45Z mike $"
4 * Raster test program routines for the Common UNIX Printing System (CUPS).
6 * Copyright 2007-2008 by Apple Inc.
7 * Copyright 1997-2007 by Easy Software Products.
9 * These coded instructions, statements, and computer programs are the
10 * property of Apple Inc. and are protected by Federal copyright
11 * law. Distribution and use rights are outlined in the file "LICENSE.txt"
12 * which should have been included with this file. If this file is
13 * file is missing or damaged, see the license at "http://www.cups.org/".
15 * This file is subject to the Apple OS-Developed Software exception.
19 * main() - Test the raster functions.
20 * do_ppd_tests() - Test the default option commands in a PPD file.
21 * do_ps_tests() - Test standard PostScript commands.
22 * do_raster_tests() - Test reading and writing of raster data.
23 * print_changes() - Print differences in the page header.
27 * Include necessary headers...
30 #include "image-private.h"
32 #include <cups/string.h>
36 * Test PS commands and header...
39 static const char *dsc_code
=
41 "%%BeginFeature: *PageSize Tabloid\n"
42 "<</PageSize[792 1224]>>setpagedevice\n"
44 "} stopped cleartomark\n";
45 static const char *setpagedevice_code
=
47 "/MediaClass(Media Class)"
48 "/MediaColor((Media Color))"
49 "/MediaType(Media\\\\Type)"
51 "/AdvanceDistance 1000"
56 "/HWResolution[100 200]"
61 "/MediaPosition 8#777"
62 "/MediaWeight 16#fe01"
68 "/PageSize[612 792.1]"
79 "/cupsBorderlessScalingFactor 1.001"
128 "/cupsMarkerType(Marker Type)"
129 "/cupsRenderingIntent(Rendering Intent)"
130 "/cupsPageSizeName(Letter)"
131 "/cupsPreferredBitsPerColor 17"
134 static cups_page_header2_t setpagedevice_header
=
136 "Media Class", /* MediaClass */
137 "(Media Color)", /* MediaColor */
138 "Media\\Type", /* MediaType */
139 "Abc", /* OutputType */
140 1000, /* AdvanceDistance */
141 CUPS_ADVANCE_FILE
, /* AdvanceMedia */
142 CUPS_FALSE
, /* Collate */
143 CUPS_CUT_JOB
, /* CutMedia */
144 CUPS_TRUE
, /* Duplex */
145 { 100, 200 }, /* HWResolution */
146 { 0, 0, 0, 0 }, /* ImagingBoundingBox */
147 CUPS_TRUE
, /* InsertSheet */
148 CUPS_JOG_SET
, /* Jog */
149 CUPS_EDGE_RIGHT
, /* LeadingEdge */
150 { 0, 0 }, /* Margins */
151 CUPS_TRUE
, /* ManualFeed */
152 0777, /* MediaPosition */
153 0xfe01, /* MediaWeight */
154 CUPS_TRUE
, /* MirrorPrint */
155 CUPS_TRUE
, /* NegativePrint */
157 CUPS_ORIENT_90
, /* Orientation */
158 CUPS_TRUE
, /* OutputFaceUp */
159 { 612, 792 }, /* PageSize */
160 CUPS_TRUE
, /* Separations */
161 CUPS_TRUE
, /* TraySwitch */
162 CUPS_TRUE
, /* Tumble */
165 2, /* cupsMediaType */
166 0, /* cupsBitsPerColor */
167 0, /* cupsBitsPerPixel */
168 0, /* cupsBytesPerLine */
169 CUPS_ORDER_BANDED
, /* cupsColorOrder */
170 CUPS_CSPACE_RGB
, /* cupsColorSpace */
171 1, /* cupsCompression */
172 1, /* cupsRowCount */
175 0, /* cupsNumColors */
176 1.001, /* cupsBorderlessScalingFactor */
177 { 612.0, 792.1 }, /* cupsPageSize */
178 { 0.0, 0.0, 0.0, 0.0 }, /* cupsImagingBBox */
179 { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 },
180 /* cupsInteger[16] */
181 { 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,
182 14.1, 15.1, 16.1 }, /* cupsReal[16] */
183 { "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13",
184 "14", "15", "16" }, /* cupsString[16] */
185 "Marker Type", /* cupsMarkerType */
186 "Rendering Intent", /* cupsRenderingIntent */
187 "Letter" /* cupsPageSizeName */
195 static int do_ppd_tests(const char *filename
, int num_options
,
196 cups_option_t
*options
);
197 static int do_ps_tests(void);
198 static int do_raster_tests(cups_mode_t mode
);
199 static void print_changes(cups_page_header2_t
*header
,
200 cups_page_header2_t
*expected
);
204 * 'main()' - Test the raster functions.
207 int /* O - Exit status */
208 main(int argc
, /* I - Number of command-line args */
209 char *argv
[]) /* I - Command-line arguments */
211 int errors
; /* Number of errors */
216 errors
= do_ps_tests();
217 errors
+= do_raster_tests(CUPS_RASTER_WRITE
);
218 errors
+= do_raster_tests(CUPS_RASTER_WRITE_COMPRESSED
);
222 int i
; /* Looping var */
223 int num_options
; /* Number of options */
224 cups_option_t
*options
; /* Options */
227 for (errors
= 0, num_options
= 0, options
= NULL
, i
= 1; i
< argc
; i
++)
229 if (argv
[i
][0] == '-')
231 if (argv
[i
][1] == 'o')
234 num_options
= cupsParseOptions(argv
[i
] + 2, num_options
, &options
);
239 num_options
= cupsParseOptions(argv
[i
], num_options
, &options
);
242 puts("Usage: testraster [-o name=value ...] [filename.ppd ...]");
249 puts("Usage: testraster [-o name=value ...] [filename.ppd ...]");
254 errors
+= do_ppd_tests(argv
[i
], num_options
, options
);
257 cupsFreeOptions(num_options
, options
);
265 * 'do_ppd_tests()' - Test the default option commands in a PPD file.
268 static int /* O - Number of errors */
269 do_ppd_tests(const char *filename
, /* I - PPD file */
270 int num_options
, /* I - Number of options */
271 cups_option_t
*options
) /* I - Options */
273 ppd_file_t
*ppd
; /* PPD file data */
274 cups_page_header2_t header
; /* Page header */
277 printf("\"%s\": ", filename
);
280 if ((ppd
= ppdOpenFile(filename
)) == NULL
)
282 ppd_status_t status
; /* Status from PPD loader */
283 int line
; /* Line number containing error */
286 status
= ppdLastError(&line
);
288 puts("FAIL (bad PPD file)");
289 printf(" %s on line %d\n", ppdErrorString(status
), line
);
294 ppdMarkDefaults(ppd
);
295 cupsMarkOptions(ppd
, num_options
, options
);
297 if (cupsRasterInterpretPPD(&header
, ppd
, 0, NULL
, NULL
))
299 puts("FAIL (error from function)");
300 puts(cupsRasterErrorString());
314 * 'do_ps_tests()' - Test standard PostScript commands.
320 cups_page_header2_t header
; /* Page header */
321 int preferred_bits
; /* Preferred bits */
322 int errors
= 0; /* Number of errors */
326 * Test PS exec code...
329 fputs("_cupsRasterExecPS(\"setpagedevice\"): ", stdout
);
332 memset(&header
, 0, sizeof(header
));
333 header
.Collate
= CUPS_TRUE
;
336 if (_cupsRasterExecPS(&header
, &preferred_bits
, setpagedevice_code
))
338 puts("FAIL (error from function)");
339 puts(cupsRasterErrorString());
342 else if (preferred_bits
!= 17 ||
343 memcmp(&header
, &setpagedevice_header
, sizeof(header
)))
345 puts("FAIL (bad header)");
347 if (preferred_bits
!= 17)
348 printf(" cupsPreferredBitsPerColor %d, expected 17\n",
351 print_changes(&setpagedevice_header
, &header
);
357 fputs("_cupsRasterExecPS(\"roll\"): ", stdout
);
360 if (_cupsRasterExecPS(&header
, &preferred_bits
,
363 "<</PageSize[5 -2 roll]/ImagingBBox null>>"
366 puts("FAIL (error from function)");
367 puts(cupsRasterErrorString());
370 else if (header
.PageSize
[0] != 792 || header
.PageSize
[1] != 612)
372 printf("FAIL (PageSize [%d %d], expected [792 612])\n", header
.PageSize
[0],
379 fputs("_cupsRasterExecPS(\"dup index\"): ", stdout
);
382 if (_cupsRasterExecPS(&header
, &preferred_bits
,
386 "/Tumble 6 index>>setpagedevice\n"
389 puts("FAIL (error from function)");
390 puts(cupsRasterErrorString());
397 printf("FAIL (Collate false, expected true)\n");
403 printf("FAIL (Duplex true, expected false)\n");
409 printf("FAIL (Tumble true, expected false)\n");
413 if(header
.Collate
&& !header
.Duplex
&& !header
.Tumble
)
417 fputs("_cupsRasterExecPS(\"%%Begin/EndFeature code\"): ", stdout
);
420 if (_cupsRasterExecPS(&header
, &preferred_bits
, dsc_code
))
422 puts("FAIL (error from function)");
423 puts(cupsRasterErrorString());
426 else if (header
.PageSize
[0] != 792 || header
.PageSize
[1] != 1224)
428 printf("FAIL (bad PageSize [%d %d], expected [792 1224])\n",
429 header
.PageSize
[0], header
.PageSize
[1]);
436 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
439 if (_cupsRasterExecPS(&header
, &preferred_bits
,
442 puts("FAIL (error from function)");
453 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
456 if (_cupsRasterExecPS(&header
, &preferred_bits
,
459 puts("FAIL (error from function)");
470 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
473 if (_cupsRasterExecPS(&header
, &preferred_bits
,
476 puts("FAIL (error from function)");
487 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
490 if (_cupsRasterExecPS(&header
, &preferred_bits
,
493 puts("FAIL (error from function)");
504 fputs("_cupsRasterExecPS(\"\"): ", stdout
);
507 if (_cupsRasterExecPS(&header
, &preferred_bits
,
510 puts("FAIL (error from function)");
527 * 'do_raster_tests()' - Test reading and writing of raster data.
530 static int /* O - Number of errors */
531 do_raster_tests(cups_mode_t mode
) /* O - Write mode */
533 int page
, x
, y
; /* Looping vars */
534 FILE *fp
; /* Raster file */
535 cups_raster_t
*r
; /* Raster stream */
536 cups_page_header2_t header
, /* Page header */
537 expected
; /* Expected page header */
538 unsigned char data
[2048]; /* Raster data */
539 int errors
= 0; /* Number of errors */
546 printf("cupsRasterOpen(%s): ",
547 mode
== CUPS_RASTER_WRITE
? "CUPS_RASTER_WRITE" :
548 "CUPS_RASTER_WRITE_COMPRESSED");
551 if ((fp
= fopen("test.raster", "wb")) == NULL
)
553 printf("FAIL (%s)\n", strerror(errno
));
557 if ((r
= cupsRasterOpen(fileno(fp
), mode
)) == NULL
)
559 printf("FAIL (%s)\n", strerror(errno
));
566 for (page
= 0; page
< 4; page
++)
568 memset(&header
, 0, sizeof(header
));
569 header
.cupsWidth
= 256;
570 header
.cupsHeight
= 256;
571 header
.cupsBytesPerLine
= 256;
575 header
.cupsBytesPerLine
*= 2;
576 header
.cupsColorSpace
= CUPS_CSPACE_CMYK
;
577 header
.cupsColorOrder
= CUPS_ORDER_CHUNKED
;
578 header
.cupsNumColors
= 4;
582 header
.cupsColorSpace
= CUPS_CSPACE_K
;
583 header
.cupsColorOrder
= CUPS_ORDER_BANDED
;
584 header
.cupsNumColors
= 1;
589 header
.cupsBytesPerLine
*= 2;
590 header
.cupsBitsPerColor
= 16;
591 header
.cupsBitsPerPixel
= (page
& 1) ? 64 : 16;
595 header
.cupsBitsPerColor
= 8;
596 header
.cupsBitsPerPixel
= (page
& 1) ? 32 : 8;
599 if (cupsRasterWriteHeader2(r
, &header
))
600 puts("cupsRasterWriteHeader2: PASS");
603 puts("cupsRasterWriteHeader2: FAIL");
607 fputs("cupsRasterWritePixels: ", stdout
);
610 memset(data
, 0, header
.cupsBytesPerLine
);
611 for (y
= 0; y
< 64; y
++)
612 if (!cupsRasterWritePixels(r
, data
, header
.cupsBytesPerLine
))
622 for (x
= 0; x
< header
.cupsBytesPerLine
; x
++)
625 for (y
= 0; y
< 64; y
++)
626 if (!cupsRasterWritePixels(r
, data
, header
.cupsBytesPerLine
))
636 memset(data
, 255, header
.cupsBytesPerLine
);
637 for (y
= 0; y
< 64; y
++)
638 if (!cupsRasterWritePixels(r
, data
, header
.cupsBytesPerLine
))
648 for (x
= 0; x
< header
.cupsBytesPerLine
; x
++)
651 for (y
= 0; y
< 64; y
++)
652 if (!cupsRasterWritePixels(r
, data
, header
.cupsBytesPerLine
))
674 fputs("cupsRasterOpen(CUPS_RASTER_READ): ", stdout
);
677 if ((fp
= fopen("test.raster", "rb")) == NULL
)
679 printf("FAIL (%s)\n", strerror(errno
));
683 if ((r
= cupsRasterOpen(fileno(fp
), CUPS_RASTER_READ
)) == NULL
)
685 printf("FAIL (%s)\n", strerror(errno
));
692 for (page
= 0; page
< 4; page
++)
694 memset(&expected
, 0, sizeof(expected
));
695 expected
.cupsWidth
= 256;
696 expected
.cupsHeight
= 256;
697 expected
.cupsBytesPerLine
= 256;
701 expected
.cupsBytesPerLine
*= 2;
702 expected
.cupsColorSpace
= CUPS_CSPACE_CMYK
;
703 expected
.cupsColorOrder
= CUPS_ORDER_CHUNKED
;
704 expected
.cupsNumColors
= 4;
708 expected
.cupsColorSpace
= CUPS_CSPACE_K
;
709 expected
.cupsColorOrder
= CUPS_ORDER_BANDED
;
710 expected
.cupsNumColors
= 1;
715 expected
.cupsBytesPerLine
*= 2;
716 expected
.cupsBitsPerColor
= 16;
717 expected
.cupsBitsPerPixel
= (page
& 1) ? 64 : 16;
721 expected
.cupsBitsPerColor
= 8;
722 expected
.cupsBitsPerPixel
= (page
& 1) ? 32 : 8;
725 fputs("cupsRasterReadHeader2: ", stdout
);
728 if (!cupsRasterReadHeader2(r
, &header
))
730 puts("FAIL (read error)");
735 if (memcmp(&header
, &expected
, sizeof(header
)))
737 puts("FAIL (bad page header)");
739 print_changes(&header
, &expected
);
742 fputs("cupsRasterReadPixels: ", stdout
);
745 for (y
= 0; y
< 64; y
++)
747 if (!cupsRasterReadPixels(r
, data
, header
.cupsBytesPerLine
))
749 puts("FAIL (read error)");
754 if (data
[0] != 0 || memcmp(data
, data
+ 1, header
.cupsBytesPerLine
- 1))
756 printf("FAIL (raster line %d corrupt)\n", y
);
764 for (y
= 0; y
< 64; y
++)
766 if (!cupsRasterReadPixels(r
, data
, header
.cupsBytesPerLine
))
768 puts("FAIL (read error)");
773 for (x
= 0; x
< header
.cupsBytesPerLine
; x
++)
774 if (data
[x
] != (x
& 255))
777 if (x
< header
.cupsBytesPerLine
)
779 printf("FAIL (raster line %d corrupt)\n", y
+ 64);
787 for (y
= 0; y
< 64; y
++)
789 if (!cupsRasterReadPixels(r
, data
, header
.cupsBytesPerLine
))
791 puts("FAIL (read error)");
796 if (data
[0] != 255 || memcmp(data
, data
+ 1, header
.cupsBytesPerLine
- 1))
798 printf("fail (raster line %d corrupt)\n", y
+ 128);
806 for (y
= 0; y
< 64; y
++)
808 if (!cupsRasterReadPixels(r
, data
, header
.cupsBytesPerLine
))
810 puts("FAIL (read error)");
815 for (x
= 0; x
< header
.cupsBytesPerLine
; x
++)
816 if (data
[x
] != ((x
/ 4) & 255))
819 if (x
< header
.cupsBytesPerLine
)
821 printf("FAIL (raster line %d corrupt)\n", y
+ 192);
842 * 'print_changes()' - Print differences in the page header.
847 cups_page_header2_t
*header
, /* I - Actual page header */
848 cups_page_header2_t
*expected
) /* I - Expected page header */
850 int i
; /* Looping var */
853 if (strcmp(header
->MediaClass
, expected
->MediaClass
))
854 printf(" MediaClass (%s), expected (%s)\n", header
->MediaClass
,
855 expected
->MediaClass
);
857 if (strcmp(header
->MediaColor
, expected
->MediaColor
))
858 printf(" MediaColor (%s), expected (%s)\n", header
->MediaColor
,
859 expected
->MediaColor
);
861 if (strcmp(header
->MediaType
, expected
->MediaType
))
862 printf(" MediaType (%s), expected (%s)\n", header
->MediaType
,
863 expected
->MediaType
);
865 if (strcmp(header
->OutputType
, expected
->OutputType
))
866 printf(" OutputType (%s), expected (%s)\n", header
->OutputType
,
867 expected
->OutputType
);
869 if (header
->AdvanceDistance
!= expected
->AdvanceDistance
)
870 printf(" AdvanceDistance %d, expected %d\n", header
->AdvanceDistance
,
871 expected
->AdvanceDistance
);
873 if (header
->AdvanceMedia
!= expected
->AdvanceMedia
)
874 printf(" AdvanceMedia %d, expected %d\n", header
->AdvanceMedia
,
875 expected
->AdvanceMedia
);
877 if (header
->Collate
!= expected
->Collate
)
878 printf(" Collate %d, expected %d\n", header
->Collate
,
881 if (header
->CutMedia
!= expected
->CutMedia
)
882 printf(" CutMedia %d, expected %d\n", header
->CutMedia
,
885 if (header
->Duplex
!= expected
->Duplex
)
886 printf(" Duplex %d, expected %d\n", header
->Duplex
,
889 if (header
->HWResolution
[0] != expected
->HWResolution
[0] ||
890 header
->HWResolution
[1] != expected
->HWResolution
[1])
891 printf(" HWResolution [%d %d], expected [%d %d]\n",
892 header
->HWResolution
[0], header
->HWResolution
[1],
893 expected
->HWResolution
[0], expected
->HWResolution
[1]);
895 if (memcmp(header
->ImagingBoundingBox
, expected
->ImagingBoundingBox
,
896 sizeof(header
->ImagingBoundingBox
)))
897 printf(" ImagingBoundingBox [%d %d %d %d], expected [%d %d %d %d]\n",
898 header
->ImagingBoundingBox
[0],
899 header
->ImagingBoundingBox
[1],
900 header
->ImagingBoundingBox
[2],
901 header
->ImagingBoundingBox
[3],
902 expected
->ImagingBoundingBox
[0],
903 expected
->ImagingBoundingBox
[1],
904 expected
->ImagingBoundingBox
[2],
905 expected
->ImagingBoundingBox
[3]);
907 if (header
->InsertSheet
!= expected
->InsertSheet
)
908 printf(" InsertSheet %d, expected %d\n", header
->InsertSheet
,
909 expected
->InsertSheet
);
911 if (header
->Jog
!= expected
->Jog
)
912 printf(" Jog %d, expected %d\n", header
->Jog
,
915 if (header
->LeadingEdge
!= expected
->LeadingEdge
)
916 printf(" LeadingEdge %d, expected %d\n", header
->LeadingEdge
,
917 expected
->LeadingEdge
);
919 if (header
->Margins
[0] != expected
->Margins
[0] ||
920 header
->Margins
[1] != expected
->Margins
[1])
921 printf(" Margins [%d %d], expected [%d %d]\n",
922 header
->Margins
[0], header
->Margins
[1],
923 expected
->Margins
[0], expected
->Margins
[1]);
925 if (header
->ManualFeed
!= expected
->ManualFeed
)
926 printf(" ManualFeed %d, expected %d\n", header
->ManualFeed
,
927 expected
->ManualFeed
);
929 if (header
->MediaPosition
!= expected
->MediaPosition
)
930 printf(" MediaPosition %d, expected %d\n", header
->MediaPosition
,
931 expected
->MediaPosition
);
933 if (header
->MediaWeight
!= expected
->MediaWeight
)
934 printf(" MediaWeight %d, expected %d\n", header
->MediaWeight
,
935 expected
->MediaWeight
);
937 if (header
->MirrorPrint
!= expected
->MirrorPrint
)
938 printf(" MirrorPrint %d, expected %d\n", header
->MirrorPrint
,
939 expected
->MirrorPrint
);
941 if (header
->NegativePrint
!= expected
->NegativePrint
)
942 printf(" NegativePrint %d, expected %d\n", header
->NegativePrint
,
943 expected
->NegativePrint
);
945 if (header
->NumCopies
!= expected
->NumCopies
)
946 printf(" NumCopies %d, expected %d\n", header
->NumCopies
,
947 expected
->NumCopies
);
949 if (header
->Orientation
!= expected
->Orientation
)
950 printf(" Orientation %d, expected %d\n", header
->Orientation
,
951 expected
->Orientation
);
953 if (header
->OutputFaceUp
!= expected
->OutputFaceUp
)
954 printf(" OutputFaceUp %d, expected %d\n", header
->OutputFaceUp
,
955 expected
->OutputFaceUp
);
957 if (header
->PageSize
[0] != expected
->PageSize
[0] ||
958 header
->PageSize
[1] != expected
->PageSize
[1])
959 printf(" PageSize [%d %d], expected [%d %d]\n",
960 header
->PageSize
[0], header
->PageSize
[1],
961 expected
->PageSize
[0], expected
->PageSize
[1]);
963 if (header
->Separations
!= expected
->Separations
)
964 printf(" Separations %d, expected %d\n", header
->Separations
,
965 expected
->Separations
);
967 if (header
->TraySwitch
!= expected
->TraySwitch
)
968 printf(" TraySwitch %d, expected %d\n", header
->TraySwitch
,
969 expected
->TraySwitch
);
971 if (header
->Tumble
!= expected
->Tumble
)
972 printf(" Tumble %d, expected %d\n", header
->Tumble
,
975 if (header
->cupsWidth
!= expected
->cupsWidth
)
976 printf(" cupsWidth %d, expected %d\n", header
->cupsWidth
,
977 expected
->cupsWidth
);
979 if (header
->cupsHeight
!= expected
->cupsHeight
)
980 printf(" cupsHeight %d, expected %d\n", header
->cupsHeight
,
981 expected
->cupsHeight
);
983 if (header
->cupsMediaType
!= expected
->cupsMediaType
)
984 printf(" cupsMediaType %d, expected %d\n", header
->cupsMediaType
,
985 expected
->cupsMediaType
);
987 if (header
->cupsBitsPerColor
!= expected
->cupsBitsPerColor
)
988 printf(" cupsBitsPerColor %d, expected %d\n", header
->cupsBitsPerColor
,
989 expected
->cupsBitsPerColor
);
991 if (header
->cupsBitsPerPixel
!= expected
->cupsBitsPerPixel
)
992 printf(" cupsBitsPerPixel %d, expected %d\n", header
->cupsBitsPerPixel
,
993 expected
->cupsBitsPerPixel
);
995 if (header
->cupsBytesPerLine
!= expected
->cupsBytesPerLine
)
996 printf(" cupsBytesPerLine %d, expected %d\n", header
->cupsBytesPerLine
,
997 expected
->cupsBytesPerLine
);
999 if (header
->cupsColorOrder
!= expected
->cupsColorOrder
)
1000 printf(" cupsColorOrder %d, expected %d\n", header
->cupsColorOrder
,
1001 expected
->cupsColorOrder
);
1003 if (header
->cupsColorSpace
!= expected
->cupsColorSpace
)
1004 printf(" cupsColorSpace %d, expected %d\n", header
->cupsColorSpace
,
1005 expected
->cupsColorSpace
);
1007 if (header
->cupsCompression
!= expected
->cupsCompression
)
1008 printf(" cupsCompression %d, expected %d\n", header
->cupsCompression
,
1009 expected
->cupsCompression
);
1011 if (header
->cupsRowCount
!= expected
->cupsRowCount
)
1012 printf(" cupsRowCount %d, expected %d\n", header
->cupsRowCount
,
1013 expected
->cupsRowCount
);
1015 if (header
->cupsRowFeed
!= expected
->cupsRowFeed
)
1016 printf(" cupsRowFeed %d, expected %d\n", header
->cupsRowFeed
,
1017 expected
->cupsRowFeed
);
1019 if (header
->cupsRowStep
!= expected
->cupsRowStep
)
1020 printf(" cupsRowStep %d, expected %d\n", header
->cupsRowStep
,
1021 expected
->cupsRowStep
);
1023 if (header
->cupsNumColors
!= expected
->cupsNumColors
)
1024 printf(" cupsNumColors %d, expected %d\n", header
->cupsNumColors
,
1025 expected
->cupsNumColors
);
1027 if (header
->cupsBorderlessScalingFactor
!=
1028 expected
->cupsBorderlessScalingFactor
)
1029 printf(" cupsBorderlessScalingFactor %g, expected %g\n",
1030 header
->cupsBorderlessScalingFactor
,
1031 expected
->cupsBorderlessScalingFactor
);
1033 if (header
->cupsPageSize
[0] != expected
->cupsPageSize
[0] ||
1034 header
->cupsPageSize
[1] != expected
->cupsPageSize
[1])
1035 printf(" cupsPageSize [%g %g], expected [%g %g]\n",
1036 header
->cupsPageSize
[0], header
->cupsPageSize
[1],
1037 expected
->cupsPageSize
[0], expected
->cupsPageSize
[1]);
1039 if (header
->cupsImagingBBox
[0] != expected
->cupsImagingBBox
[0] ||
1040 header
->cupsImagingBBox
[1] != expected
->cupsImagingBBox
[1] ||
1041 header
->cupsImagingBBox
[2] != expected
->cupsImagingBBox
[2] ||
1042 header
->cupsImagingBBox
[3] != expected
->cupsImagingBBox
[3])
1043 printf(" cupsImagingBBox [%g %g %g %g], expected [%g %g %g %g]\n",
1044 header
->cupsImagingBBox
[0], header
->cupsImagingBBox
[1],
1045 header
->cupsImagingBBox
[2], header
->cupsImagingBBox
[3],
1046 expected
->cupsImagingBBox
[0], expected
->cupsImagingBBox
[1],
1047 expected
->cupsImagingBBox
[2], expected
->cupsImagingBBox
[3]);
1049 for (i
= 0; i
< 16; i
++)
1050 if (header
->cupsInteger
[i
] != expected
->cupsInteger
[i
])
1051 printf(" cupsInteger%d %d, expected %d\n", i
, header
->cupsInteger
[i
],
1052 expected
->cupsInteger
[i
]);
1054 for (i
= 0; i
< 16; i
++)
1055 if (header
->cupsReal
[i
] != expected
->cupsReal
[i
])
1056 printf(" cupsReal%d %g, expected %g\n", i
, header
->cupsReal
[i
],
1057 expected
->cupsReal
[i
]);
1059 for (i
= 0; i
< 16; i
++)
1060 if (strcmp(header
->cupsString
[i
], expected
->cupsString
[i
]))
1061 printf(" cupsString%d (%s), expected (%s)\n", i
,
1062 header
->cupsString
[i
], expected
->cupsString
[i
]);
1064 if (strcmp(header
->cupsMarkerType
, expected
->cupsMarkerType
))
1065 printf(" cupsMarkerType (%s), expected (%s)\n", header
->cupsMarkerType
,
1066 expected
->cupsMarkerType
);
1068 if (strcmp(header
->cupsRenderingIntent
, expected
->cupsRenderingIntent
))
1069 printf(" cupsRenderingIntent (%s), expected (%s)\n",
1070 header
->cupsRenderingIntent
,
1071 expected
->cupsRenderingIntent
);
1073 if (strcmp(header
->cupsPageSizeName
, expected
->cupsPageSizeName
))
1074 printf(" cupsPageSizeName (%s), expected (%s)\n",
1075 header
->cupsPageSizeName
,
1076 expected
->cupsPageSizeName
);
1081 * End of "$Id: testraster.c 7376 2008-03-19 21:07:45Z mike $".