|
1 | 1 | // |
2 | 2 | // IPP unit test program for libcups. |
3 | 3 | // |
4 | | -// Copyright © 2020-2024 by OpenPrinting. |
| 4 | +// Copyright © 2020-2025 by OpenPrinting. |
5 | 5 | // Copyright © 2007-2019 by Apple Inc. |
6 | 6 | // Copyright © 1997-2005 by Easy Software Products. |
7 | 7 | // |
@@ -295,25 +295,27 @@ ssize_t write_cb(_ippdata_t *data, ipp_uchar_t *buffer, size_t bytes); |
295 | 295 | // 'main()' - Main entry. |
296 | 296 | // |
297 | 297 |
|
298 | | -int // O - Exit status |
299 | | -main(int argc, // I - Number of command-line arguments |
300 | | - char *argv[]) // I - Command-line arguments |
| 298 | +int // O - Exit status |
| 299 | +main(int argc, // I - Number of command-line arguments |
| 300 | + char *argv[]) // I - Command-line arguments |
301 | 301 | { |
302 | | - _ippdata_t data; // IPP buffer |
303 | | - ipp_uchar_t buffer[8192]; // Write buffer data |
304 | | - ipp_t *cols[2], // Collections |
305 | | - *size; // media-size collection |
306 | | - ipp_t *request; // Request |
307 | | - ipp_attribute_t *media_col, // media-col attribute |
308 | | - *media_size, // media-size attribute |
309 | | - *attr; // Other attribute |
310 | | - ipp_state_t state; // State |
311 | | - size_t length; // Length of data |
312 | | - cups_file_t *fp; // File pointer |
313 | | - size_t i; // Looping var |
314 | | - int status; // Status of tests (0 = success, 1 = fail) |
| 302 | + _ippdata_t data; // IPP buffer |
| 303 | + ipp_uchar_t buffer[8192]; // Write buffer data |
| 304 | + ipp_t *cols[2], // Collections |
| 305 | + *size; // media-size collection |
| 306 | + ipp_t *request; // Request |
| 307 | + ipp_attribute_t *media_col, // media-col attribute |
| 308 | + *media_size, // media-size attribute |
| 309 | + *attr; // Other attribute |
| 310 | + ipp_state_t state; // State |
| 311 | + size_t length; // Length of data |
| 312 | + cups_file_t *fp; // File pointer |
| 313 | + size_t i; // Looping var |
| 314 | + int status; // Status of tests (0 = success, 1 = fail) |
| 315 | + time_t tv; // Time value |
| 316 | + const ipp_uchar_t *dv; // Date value |
315 | 317 | #ifdef DEBUG |
316 | | - const char *name; // Option name |
| 318 | + const char *name; // Option name |
317 | 319 | #endif // DEBUG |
318 | 320 |
|
319 | 321 |
|
@@ -758,6 +760,42 @@ main(int argc, // I - Number of command-line arguments |
758 | 760 | testEnd(false); |
759 | 761 | status = 1; |
760 | 762 | } |
| 763 | + |
| 764 | + // Test ippDateToTime and ippTimeToDate |
| 765 | + testBegin("ippDateToTime(1970/01/02T00:00:00Z)"); |
| 766 | + buffer[0] = 1970 >> 8; // Year MSB |
| 767 | + buffer[1] = 1970 & 255; // Year LSB |
| 768 | + buffer[2] = 1; // Month |
| 769 | + buffer[3] = 2; // Day |
| 770 | + buffer[4] = 0; // Hour |
| 771 | + buffer[5] = 0; // Minute |
| 772 | + buffer[6] = 0; // Second |
| 773 | + buffer[7] = 0; // Deci-second |
| 774 | + buffer[8] = '+'; // Timezone +/- |
| 775 | + buffer[9] = 0; // Timezone hours |
| 776 | + buffer[10] = 0; // Timezone minutes |
| 777 | + |
| 778 | + if ((tv = ippDateToTime(buffer)) == 86400) |
| 779 | + { |
| 780 | + testEnd(true); |
| 781 | + } |
| 782 | + else |
| 783 | + { |
| 784 | + testEndMessage(false, "got %ld, expected 86400", (long)tv); |
| 785 | + status = 1; |
| 786 | + } |
| 787 | + |
| 788 | + testBegin("ippTimeToDate(86400)"); |
| 789 | + |
| 790 | + if ((dv = ippTimeToDate(86400)) != NULL && !memcmp(dv, buffer, 11)) |
| 791 | + { |
| 792 | + testEnd(true); |
| 793 | + } |
| 794 | + else |
| 795 | + { |
| 796 | + testEndMessage(false, "got %02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X, expected %02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X", dv[0], dv[1], dv[2], dv[3], dv[4], dv[5], dv[6], dv[7], dv[8], dv[9], dv[10], buffer[0], buffer[1], buffer[2], buffer[3], buffer[4], buffer[5], buffer[6], buffer[7], buffer[8], buffer[9], buffer[10]); |
| 797 | + status = 1; |
| 798 | + } |
761 | 799 | } |
762 | 800 | else |
763 | 801 | { |
|
0 commit comments