| 1451 | */ |
| 1452 | |
| 1453 | static int |
| 1454 | do_ps_tests(void) |
| 1455 | { |
| 1456 | cups_page_header2_t header; /* Page header */ |
| 1457 | int preferred_bits; /* Preferred bits */ |
| 1458 | int errors = 0; /* Number of errors */ |
| 1459 | |
| 1460 | |
| 1461 | /* |
| 1462 | * Test PS exec code... |
| 1463 | */ |
| 1464 | |
| 1465 | fputs("_cupsRasterExecPS(\"setpagedevice\"): ", stdout); |
| 1466 | fflush(stdout); |
| 1467 | |
| 1468 | memset(&header, 0, sizeof(header)); |
| 1469 | header.Collate = CUPS_TRUE; |
| 1470 | preferred_bits = 0; |
| 1471 | |
| 1472 | if (_cupsRasterExecPS(&header, &preferred_bits, setpagedevice_code)) |
| 1473 | { |
| 1474 | puts("FAIL (error from function)"); |
| 1475 | puts(cupsRasterErrorString()); |
| 1476 | errors ++; |
| 1477 | } |
| 1478 | else if (preferred_bits != 17 || |
| 1479 | memcmp(&header, &setpagedevice_header, sizeof(header))) |
| 1480 | { |
| 1481 | puts("FAIL (bad header)"); |
| 1482 | |
| 1483 | if (preferred_bits != 17) |
| 1484 | printf(" cupsPreferredBitsPerColor %d, expected 17\n", |
| 1485 | preferred_bits); |
| 1486 | |
| 1487 | print_changes(&setpagedevice_header, &header); |
| 1488 | errors ++; |
| 1489 | } |
| 1490 | else |
| 1491 | puts("PASS"); |
| 1492 | |
| 1493 | fputs("_cupsRasterExecPS(\"roll\"): ", stdout); |
| 1494 | fflush(stdout); |
| 1495 | |
| 1496 | if (_cupsRasterExecPS(&header, &preferred_bits, |
| 1497 | "792 612 0 0 0\n" |
| 1498 | "pop pop pop\n" |
| 1499 | "<</PageSize[5 -2 roll]/ImagingBBox null>>" |
| 1500 | "setpagedevice\n")) |
| 1501 | { |
| 1502 | puts("FAIL (error from function)"); |
| 1503 | puts(cupsRasterErrorString()); |
| 1504 | errors ++; |
| 1505 | } |
| 1506 | else if (header.PageSize[0] != 792 || header.PageSize[1] != 612) |
| 1507 | { |
| 1508 | printf("FAIL (PageSize [%d %d], expected [792 612])\n", header.PageSize[0], |
| 1509 | header.PageSize[1]); |
| 1510 | errors ++; |
no test coverage detected