xref: /aosp_15_r20/external/libcups/examples/ipp-1.1.test (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker#
2*5e7646d2SAndroid Build Coastguard Worker# IPP/1.1 test suite.
3*5e7646d2SAndroid Build Coastguard Worker#
4*5e7646d2SAndroid Build Coastguard Worker# Copyright © 2007-2017 by Apple Inc.
5*5e7646d2SAndroid Build Coastguard Worker# Copyright © 2001-2006 by Easy Software Products. All rights reserved.
6*5e7646d2SAndroid Build Coastguard Worker#
7*5e7646d2SAndroid Build Coastguard Worker# Licensed under Apache License v2.0.  See the file "LICENSE" for more
8*5e7646d2SAndroid Build Coastguard Worker# information.
9*5e7646d2SAndroid Build Coastguard Worker#
10*5e7646d2SAndroid Build Coastguard Worker# Usage:
11*5e7646d2SAndroid Build Coastguard Worker#
12*5e7646d2SAndroid Build Coastguard Worker#   ./ipptool -f filename [-d document-uri=SOMEURI] -t printer-uri ipp-1.1.test
13*5e7646d2SAndroid Build Coastguard Worker#   ./ipptool -f filename -d NOPRINT=1 -t printer-uri ipp-1.1.test
14*5e7646d2SAndroid Build Coastguard Worker#
15*5e7646d2SAndroid Build Coastguard Worker# The latter form disables all but the basic file printing.
16*5e7646d2SAndroid Build Coastguard Worker#
17*5e7646d2SAndroid Build Coastguard Worker
18*5e7646d2SAndroid Build Coastguard Worker# Regular expressions for URI schemes:
19*5e7646d2SAndroid Build Coastguard Worker#
20*5e7646d2SAndroid Build Coastguard Worker#   HTTP_URI_SCHEME - Matches strings beginning with http:// or https://
21*5e7646d2SAndroid Build Coastguard Worker#   IPP_URI_SCHEME  - Matches strings beginning with ipp:// or ipps://
22*5e7646d2SAndroid Build Coastguard Worker
23*5e7646d2SAndroid Build Coastguard WorkerDEFINE HTTP_URI_SCHEME "/^https?://.+$$/"
24*5e7646d2SAndroid Build Coastguard WorkerDEFINE IPP_URI_SCHEME "/^ipps?://.+$$/"
25*5e7646d2SAndroid Build Coastguard Worker
26*5e7646d2SAndroid Build Coastguard Worker# Test that a request-id value of 0 is not accepted.
27*5e7646d2SAndroid Build Coastguard Worker#
28*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.1.1
29*5e7646d2SAndroid Build Coastguard Worker{
30*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.1.1: Bad request-id value 0"
31*5e7646d2SAndroid Build Coastguard Worker	REQUEST-ID 0
32*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
33*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
34*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
35*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
36*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
37*5e7646d2SAndroid Build Coastguard Worker
38*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-bad-request
39*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-uri-supported
40*5e7646d2SAndroid Build Coastguard Worker}
41*5e7646d2SAndroid Build Coastguard Worker
42*5e7646d2SAndroid Build Coastguard Worker
43*5e7646d2SAndroid Build Coastguard Worker# Test that the first two attributes must be attributes-charset and
44*5e7646d2SAndroid Build Coastguard Worker# attributes-natural-language.
45*5e7646d2SAndroid Build Coastguard Worker#
46*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.1.4
47*5e7646d2SAndroid Build Coastguard Worker{
48*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.1.4: No Operation Attributes"
49*5e7646d2SAndroid Build Coastguard Worker	REQUEST-ID random
50*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
51*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
52*5e7646d2SAndroid Build Coastguard Worker
53*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-bad-request
54*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-uri-supported
55*5e7646d2SAndroid Build Coastguard Worker}
56*5e7646d2SAndroid Build Coastguard Worker{
57*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.1.4: attributes-charset"
58*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
59*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
60*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
61*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
62*5e7646d2SAndroid Build Coastguard Worker
63*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-bad-request
64*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-uri-supported
65*5e7646d2SAndroid Build Coastguard Worker}
66*5e7646d2SAndroid Build Coastguard Worker{
67*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.1.4: attributes-natural-language"
68*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
69*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
70*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
71*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
72*5e7646d2SAndroid Build Coastguard Worker
73*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-bad-request
74*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-uri-supported
75*5e7646d2SAndroid Build Coastguard Worker}
76*5e7646d2SAndroid Build Coastguard Worker{
77*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.1.4: attributes-natural-language + attributes-charset"
78*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
79*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
80*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
81*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
82*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
83*5e7646d2SAndroid Build Coastguard Worker
84*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-bad-request
85*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-uri-supported
86*5e7646d2SAndroid Build Coastguard Worker}
87*5e7646d2SAndroid Build Coastguard Worker{
88*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.1.4: attributes-charset + attributes-natural-language"
89*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
90*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
91*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
92*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
93*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
94*5e7646d2SAndroid Build Coastguard Worker
95*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
96*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-uri-supported OF-TYPE uri WITH-ALL-VALUES "$IPP_URI_SCHEME"
97*5e7646d2SAndroid Build Coastguard Worker}
98*5e7646d2SAndroid Build Coastguard Worker
99*5e7646d2SAndroid Build Coastguard Worker
100*5e7646d2SAndroid Build Coastguard Worker# Test that bad IPP versions are not supported.
101*5e7646d2SAndroid Build Coastguard Worker#
102*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.1.8
103*5e7646d2SAndroid Build Coastguard Worker{
104*5e7646d2SAndroid Build Coastguard Worker	# The name of the test...
105*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.1.8: Unsupported IPP version 0.0"
106*5e7646d2SAndroid Build Coastguard Worker	VERSION 0.0
107*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
108*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
109*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
110*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
111*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
112*5e7646d2SAndroid Build Coastguard Worker
113*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-version-not-supported
114*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-uri-supported
115*5e7646d2SAndroid Build Coastguard Worker}
116*5e7646d2SAndroid Build Coastguard Worker
117*5e7646d2SAndroid Build Coastguard Worker
118*5e7646d2SAndroid Build Coastguard Worker# Test that printer operations require the printer-uri operation attribute.
119*5e7646d2SAndroid Build Coastguard Worker#
120*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2
121*5e7646d2SAndroid Build Coastguard Worker{
122*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2: No printer-uri operation attribute"
123*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
124*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
125*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
126*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
127*5e7646d2SAndroid Build Coastguard Worker
128*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-bad-request
129*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-uri-supported
130*5e7646d2SAndroid Build Coastguard Worker}
131*5e7646d2SAndroid Build Coastguard Worker
132*5e7646d2SAndroid Build Coastguard Worker
133*5e7646d2SAndroid Build Coastguard Worker# Test Print-Job operation
134*5e7646d2SAndroid Build Coastguard Worker#
135*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.1
136*5e7646d2SAndroid Build Coastguard Worker{
137*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.1: Print-Job Operation"
138*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
139*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
140*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
141*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
142*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
143*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
144*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
145*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
146*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
147*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
148*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
149*5e7646d2SAndroid Build Coastguard Worker	FILE $filename
150*5e7646d2SAndroid Build Coastguard Worker
151*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
152*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-document-format-not-supported
153*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
154*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
155*5e7646d2SAndroid Build Coastguard Worker
156*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
157*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
158*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
159*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
160*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
161*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state WITH-VALUE 7,8,9 DEFINE-MATCH PRINT_JOB_COMPLETED
162*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
163*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
164*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
165*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
166*5e7646d2SAndroid Build Coastguard Worker}
167*5e7646d2SAndroid Build Coastguard Worker
168*5e7646d2SAndroid Build Coastguard Worker# Test Validate-Job operation
169*5e7646d2SAndroid Build Coastguard Worker#
170*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.3
171*5e7646d2SAndroid Build Coastguard Worker{
172*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.3: Validate-Job Operation"
173*5e7646d2SAndroid Build Coastguard Worker	OPERATION Validate-Job
174*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
175*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
176*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
177*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
178*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
179*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
180*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
181*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
182*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
183*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
184*5e7646d2SAndroid Build Coastguard Worker
185*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
186*5e7646d2SAndroid Build Coastguard Worker}
187*5e7646d2SAndroid Build Coastguard Worker
188*5e7646d2SAndroid Build Coastguard Worker
189*5e7646d2SAndroid Build Coastguard Worker# Test Get-Printer-Attributes operation
190*5e7646d2SAndroid Build Coastguard Worker#
191*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.5
192*5e7646d2SAndroid Build Coastguard Worker{
193*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (default)"
194*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
195*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
196*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
197*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
198*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
199*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
200*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
201*5e7646d2SAndroid Build Coastguard Worker
202*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
203*5e7646d2SAndroid Build Coastguard Worker
204*5e7646d2SAndroid Build Coastguard Worker	# Display some useful information to identify the test
205*5e7646d2SAndroid Build Coastguard Worker	DISPLAY color-supported
206*5e7646d2SAndroid Build Coastguard Worker	DISPLAY compression-supported
207*5e7646d2SAndroid Build Coastguard Worker	DISPLAY document-format-supported
208*5e7646d2SAndroid Build Coastguard Worker	DISPLAY finishings-supported
209*5e7646d2SAndroid Build Coastguard Worker	DISPLAY ipp-versions-supported
210*5e7646d2SAndroid Build Coastguard Worker	DISPLAY job-sheets-supported
211*5e7646d2SAndroid Build Coastguard Worker	DISPLAY media-supported
212*5e7646d2SAndroid Build Coastguard Worker	DISPLAY number-up-supported
213*5e7646d2SAndroid Build Coastguard Worker	DISPLAY operations-supported
214*5e7646d2SAndroid Build Coastguard Worker	DISPLAY pages-per-minute
215*5e7646d2SAndroid Build Coastguard Worker	DISPLAY pages-per-minute-color
216*5e7646d2SAndroid Build Coastguard Worker	DISPLAY print-quality-supported
217*5e7646d2SAndroid Build Coastguard Worker	DISPLAY printer-uri-supported
218*5e7646d2SAndroid Build Coastguard Worker	DISPLAY reference-uri-schemes-supported
219*5e7646d2SAndroid Build Coastguard Worker	DISPLAY sizes-supported
220*5e7646d2SAndroid Build Coastguard Worker	DISPLAY uri-authentication-supported
221*5e7646d2SAndroid Build Coastguard Worker	DISPLAY uri-security-supported
222*5e7646d2SAndroid Build Coastguard Worker
223*5e7646d2SAndroid Build Coastguard Worker	# Operations
224*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 0x0002 # Print-Job
225*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0003 DEFINE-MATCH OPTIONAL_PRINT_URI # Print-URI
226*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0004 # Validate-Job
227*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0005 DEFINE-MATCH OPTIONAL_CREATE_JOB # Create-Job
228*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0006 DEFINE-MATCH OPTIONAL_SEND_DOCUMENT # Send-Document
229*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0007 DEFINE-MATCH OPTIONAL_SEND_URI # Send-URI
230*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0008 # Cancel-Job
231*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0009 # Get-Job-Attributes
232*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x000a # Get-Jobs
233*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x000b # Get-Printer-Attributes
234*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x000c DEFINE-MATCH OPTIONAL_HOLD_JOB # Hold-Job
235*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x000d DEFINE-MATCH OPTIONAL_RELEASE_JOB # Release-Job
236*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x000e DEFINE-MATCH OPTIONAL_RESTART_JOB # Restart-Job
237*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0010 DEFINE-MATCH OPTIONAL_PAUSE_PRINTER # Pause-Printer
238*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0011 DEFINE-MATCH OPTIONAL_RESUME_PRINTER # Resume-Printer
239*5e7646d2SAndroid Build Coastguard Worker	EXPECT operations-supported WITH-VALUE 0x0012 DEFINE-MATCH OPTIONAL_PURGE_JOBS # Purge-Jobs
240*5e7646d2SAndroid Build Coastguard Worker
241*5e7646d2SAndroid Build Coastguard Worker	# Job template attributes
242*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
243*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag
244*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag
245*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3
246*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-hold-until-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
247*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-hold-until-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE no-hold
248*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-hold-until-default IF-DEFINED OPTIONAL_HOLD_JOB
249*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-hold-until-supported IF-DEFINED OPTIONAL_HOLD_JOB
250*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-priority-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101
251*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-priority-supported OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0,<101
252*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-sheets-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag
253*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-sheets-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-VALUE none
254*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1
255*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag
256*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
257*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?multiple-document-handling-default OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
258*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?multiple-document-handling-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
259*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-up-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
260*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-up-supported OF-TYPE integer|rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0
261*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-up-supported WITH-VALUE 1
262*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
263*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6
264*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?pages-ranges-supported OF-TYPE boolean IN-GROUP printer-attributes-tag
265*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
266*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
267*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
268*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
269*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
270*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
271*5e7646d2SAndroid Build Coastguard Worker
272*5e7646d2SAndroid Build Coastguard Worker	# Job template attributes for specific tests...
273*5e7646d2SAndroid Build Coastguard Worker	EXPECT copies-supported WITH-VALUE >1 DEFINE-MATCH OPTIONAL_COPIES
274*5e7646d2SAndroid Build Coastguard Worker	EXPECT document-format-supported WITH-VALUE "application/pdf" DEFINE-MATCH OPTIONAL_PDF
275*5e7646d2SAndroid Build Coastguard Worker	EXPECT document-format-supported WITH-VALUE "application/postscript" DEFINE-MATCH OPTIONAL_POSTSCRIPT
276*5e7646d2SAndroid Build Coastguard Worker	EXPECT document-format-supported WITH-VALUE "image/jpeg" DEFINE-MATCH OPTIONAL_JPEG
277*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-sheets-supported WITH-VALUE "standard" DEFINE-MATCH OPTIONAL_STANDARD_SHEET
278*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-supported WITH-VALUE "a4" DEFINE-VALUE OPTIONAL_A4_MEDIA
279*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-supported WITH-VALUE "iso-a4" DEFINE-VALUE OPTIONAL_A4_MEDIA
280*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-supported WITH-VALUE "iso_a4_210x297mm" DEFINE-VALUE OPTIONAL_A4_MEDIA
281*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-supported WITH-VALUE "letter" DEFINE-VALUE OPTIONAL_LETTER_MEDIA
282*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-supported WITH-VALUE "na-letter" DEFINE-VALUE OPTIONAL_LETTER_MEDIA
283*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-supported WITH-VALUE "na_letter_8.5x11in" DEFINE-VALUE OPTIONAL_LETTER_MEDIA
284*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-supported WITH-VALUE "index-4x6" DEFINE-VALUE OPTIONAL_4X6_MEDIA
285*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-supported WITH-VALUE "na_index-4x6_4x6in" DEFINE-VALUE OPTIONAL_4X6_MEDIA
286*5e7646d2SAndroid Build Coastguard Worker	EXPECT number-up-supported WITH-VALUE 2 DEFINE-MATCH OPTIONAL_2UP
287*5e7646d2SAndroid Build Coastguard Worker	EXPECT print-quality WITH-VALUE 3 DEFINE-MATCH OPTIONAL_DRAFT_QUALITY
288*5e7646d2SAndroid Build Coastguard Worker	EXPECT print-quality WITH-VALUE 4 DEFINE-MATCH OPTIONAL_NORMAL_QUALITY
289*5e7646d2SAndroid Build Coastguard Worker	EXPECT print-quality WITH-VALUE 5 DEFINE-MATCH OPTIONAL_BEST_QUALITY
290*5e7646d2SAndroid Build Coastguard Worker	EXPECT sides-supported WITH-VALUE "two-sided-long-edge" DEFINE-MATCH OPTIONAL_DUPLEX
291*5e7646d2SAndroid Build Coastguard Worker
292*5e7646d2SAndroid Build Coastguard Worker	# Printer description attributes
293*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
294*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-impressions-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
295*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-k-octets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
296*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-media-sheets-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag COUNT 1
297*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?multiple-document-jobs-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
298*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?multiple-operation-time-out OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
299*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
300*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
301*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-driver-installer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
302*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
303*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
304*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
305*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-message-from-operator OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
306*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME"
307*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-more-info-manufacturer OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME"
308*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-state-message OF-TYPE text IN-GROUP printer-attributes-tag
309*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?reference-uri-schemes-supported OF-TYPE uriScheme IN-GROUP printer-attributes-tag
310*5e7646d2SAndroid Build Coastguard Worker	EXPECT reference-uri-schemes-supported WITH-VALUE "ftp" IF-DEFINED OPTIONAL_PRINT_URI
311*5e7646d2SAndroid Build Coastguard Worker	EXPECT reference-uri-schemes-supported WITH-VALUE "ftp" IF-DEFINED OPTIONAL_SEND_URI IF-NOT-DEFINED OPTIONAL_PRINT_URI
312*5e7646d2SAndroid Build Coastguard Worker	EXPECT charset-configured OF-TYPE charset IN-GROUP printer-attributes-tag COUNT 1
313*5e7646d2SAndroid Build Coastguard Worker	EXPECT charset-supported OF-TYPE charset IN-GROUP printer-attributes-tag WITH-VALUE utf-8
314*5e7646d2SAndroid Build Coastguard Worker	EXPECT compression-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE none
315*5e7646d2SAndroid Build Coastguard Worker	EXPECT document-format-default OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag COUNT 1
316*5e7646d2SAndroid Build Coastguard Worker	EXPECT document-format-supported OF-TYPE mimeMediaType IN-GROUP printer-attributes-tag
317*5e7646d2SAndroid Build Coastguard Worker	EXPECT generated-natural-language-supported OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag
318*5e7646d2SAndroid Build Coastguard Worker	EXPECT ipp-versions-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-VALUE 1.1
319*5e7646d2SAndroid Build Coastguard Worker	EXPECT natural-language-configured OF-TYPE naturalLanguage IN-GROUP printer-attributes-tag COUNT 1
320*5e7646d2SAndroid Build Coastguard Worker	EXPECT pdl-override-supported OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1
321*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-is-accepting-jobs OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
322*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-name OF-TYPE name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
323*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-state OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
324*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-state-reasons OF-TYPE keyword IN-GROUP printer-attributes-tag
325*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-up-time OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
326*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-security-supported WITH-ALL-VALUES "$IPP_URI_SCHEME"
327*5e7646d2SAndroid Build Coastguard Worker	EXPECT queued-job-count OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
328*5e7646d2SAndroid Build Coastguard Worker	EXPECT uri-authentication-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
329*5e7646d2SAndroid Build Coastguard Worker	EXPECT uri-security-supported OF-TYPE keyword IN-GROUP printer-attributes-tag SAME-COUNT-AS uri-authentication-supported
330*5e7646d2SAndroid Build Coastguard Worker}
331*5e7646d2SAndroid Build Coastguard Worker
332*5e7646d2SAndroid Build Coastguard Worker
333*5e7646d2SAndroid Build Coastguard Worker# Test Get-Printer-Attributes operation with requested-attributes
334*5e7646d2SAndroid Build Coastguard Worker#
335*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.5
336*5e7646d2SAndroid Build Coastguard Worker{
337*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.5: Get-Printer-Attributes Operation (requested-attributes)"
338*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
339*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
340*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
341*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
342*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
343*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
344*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
345*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword requested-attributes printer-uri-supported
346*5e7646d2SAndroid Build Coastguard Worker
347*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
348*5e7646d2SAndroid Build Coastguard Worker
349*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-uri-supported OF-TYPE uri IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$IPP_URI_SCHEME"
350*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-name
351*5e7646d2SAndroid Build Coastguard Worker}
352*5e7646d2SAndroid Build Coastguard Worker
353*5e7646d2SAndroid Build Coastguard Worker
354*5e7646d2SAndroid Build Coastguard Worker# Test Get-Jobs operation
355*5e7646d2SAndroid Build Coastguard Worker#
356*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.6
357*5e7646d2SAndroid Build Coastguard Worker{
358*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (default)"
359*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Jobs
360*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
361*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
362*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
363*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
364*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
365*5e7646d2SAndroid Build Coastguard Worker
366*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
367*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
368*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
369*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-uri
370*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-more-info
371*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-name
372*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-originating-user-name
373*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state
374*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-reasons
375*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-message
376*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-detailed-status-messages
377*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-documents
378*5e7646d2SAndroid Build Coastguard Worker	EXPECT !output-device-assigned
379*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-creation
380*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-processing
381*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-completed
382*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-up-time
383*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-creation
384*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-processing
385*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-completed
386*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-intervening-jobs
387*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-message-from-operator
388*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets
389*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions
390*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets
391*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets-processed
392*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions-completed
393*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets-completed
394*5e7646d2SAndroid Build Coastguard Worker
395*5e7646d2SAndroid Build Coastguard Worker	EXPECT !copies
396*5e7646d2SAndroid Build Coastguard Worker	EXPECT !finishings
397*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-hold-until
398*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-priority
399*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-sheets
400*5e7646d2SAndroid Build Coastguard Worker	EXPECT !media
401*5e7646d2SAndroid Build Coastguard Worker	EXPECT !multiple-document-handling
402*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-up
403*5e7646d2SAndroid Build Coastguard Worker	EXPECT !orientation-requested
404*5e7646d2SAndroid Build Coastguard Worker	EXPECT !pages-ranges
405*5e7646d2SAndroid Build Coastguard Worker	EXPECT !print-quality
406*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-resolution
407*5e7646d2SAndroid Build Coastguard Worker	EXPECT !sides
408*5e7646d2SAndroid Build Coastguard Worker}
409*5e7646d2SAndroid Build Coastguard Worker
410*5e7646d2SAndroid Build Coastguard Worker
411*5e7646d2SAndroid Build Coastguard Worker# Test Get-Jobs operation
412*5e7646d2SAndroid Build Coastguard Worker#
413*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.6
414*5e7646d2SAndroid Build Coastguard Worker{
415*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED PRINT_JOB_COMPLETED
416*5e7646d2SAndroid Build Coastguard Worker
417*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (requested-attributes)"
418*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Jobs
419*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
420*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
421*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
422*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
423*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
424*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword requested-attributes all
425*5e7646d2SAndroid Build Coastguard Worker
426*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
427*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
428*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
429*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
430*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME"
431*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
432*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
433*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
434*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
435*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
436*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag
437*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
438*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
439*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
440*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
441*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
442*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1
443*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
444*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
445*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
446*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
447*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
448*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
449*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
450*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
451*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
452*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
453*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
454*5e7646d2SAndroid Build Coastguard Worker
455*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
456*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
457*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
458*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101
459*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag
460*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
461*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
462*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
463*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
464*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag
465*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5
466*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1
467*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
468*5e7646d2SAndroid Build Coastguard Worker}
469*5e7646d2SAndroid Build Coastguard Worker
470*5e7646d2SAndroid Build Coastguard Worker
471*5e7646d2SAndroid Build Coastguard Worker# Test Get-Jobs operation
472*5e7646d2SAndroid Build Coastguard Worker#
473*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.6
474*5e7646d2SAndroid Build Coastguard Worker{
475*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED PRINT_JOB_COMPLETED
476*5e7646d2SAndroid Build Coastguard Worker
477*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs)"
478*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Jobs
479*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
480*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
481*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
482*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
483*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
484*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean my-jobs true
485*5e7646d2SAndroid Build Coastguard Worker
486*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
487*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
488*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
489*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-uri
490*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-more-info
491*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-name
492*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-originating-user-name
493*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state
494*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-reasons
495*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-message
496*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-detailed-status-messages
497*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-documents
498*5e7646d2SAndroid Build Coastguard Worker	EXPECT !output-device-assigned
499*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-creation
500*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-processing
501*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-completed
502*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-up-time
503*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-creation
504*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-processing
505*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-completed
506*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-intervening-jobs
507*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-message-from-operator
508*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets
509*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions
510*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets
511*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets-processed
512*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions-completed
513*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets-completed
514*5e7646d2SAndroid Build Coastguard Worker
515*5e7646d2SAndroid Build Coastguard Worker	EXPECT !copies
516*5e7646d2SAndroid Build Coastguard Worker	EXPECT !finishings
517*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-hold-until
518*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-priority
519*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-sheets
520*5e7646d2SAndroid Build Coastguard Worker	EXPECT !media
521*5e7646d2SAndroid Build Coastguard Worker	EXPECT !multiple-document-handling
522*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-up
523*5e7646d2SAndroid Build Coastguard Worker	EXPECT !orientation-requested
524*5e7646d2SAndroid Build Coastguard Worker	EXPECT !pages-ranges
525*5e7646d2SAndroid Build Coastguard Worker	EXPECT !print-quality
526*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-resolution
527*5e7646d2SAndroid Build Coastguard Worker	EXPECT !sides
528*5e7646d2SAndroid Build Coastguard Worker}
529*5e7646d2SAndroid Build Coastguard Worker
530*5e7646d2SAndroid Build Coastguard Worker
531*5e7646d2SAndroid Build Coastguard Worker# Test Get-Jobs operation
532*5e7646d2SAndroid Build Coastguard Worker#
533*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.6
534*5e7646d2SAndroid Build Coastguard Worker{
535*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED PRINT_JOB_COMPLETED
536*5e7646d2SAndroid Build Coastguard Worker
537*5e7646d2SAndroid Build Coastguard Worker	# Skip this test when doing authenticated printing since we'll always
538*5e7646d2SAndroid Build Coastguard Worker	# use the authenticated username over the requesting-user-name value.
539*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED uriuser
540*5e7646d2SAndroid Build Coastguard Worker
541*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (my-jobs different user)"
542*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Jobs
543*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
544*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
545*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
546*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
547*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name not-$user
548*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean my-jobs true
549*5e7646d2SAndroid Build Coastguard Worker
550*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
551*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-id
552*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-uri
553*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-uri
554*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-more-info
555*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-name
556*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-originating-user-name
557*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state
558*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-reasons
559*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-message
560*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-detailed-status-messages
561*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-documents
562*5e7646d2SAndroid Build Coastguard Worker	EXPECT !output-device-assigned
563*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-creation
564*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-processing
565*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-completed
566*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-up-time
567*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-creation
568*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-processing
569*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-completed
570*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-intervening-jobs
571*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-message-from-operator
572*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets
573*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions
574*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets
575*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets-processed
576*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions-completed
577*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets-completed
578*5e7646d2SAndroid Build Coastguard Worker
579*5e7646d2SAndroid Build Coastguard Worker	EXPECT !copies
580*5e7646d2SAndroid Build Coastguard Worker	EXPECT !finishings
581*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-hold-until
582*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-priority
583*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-sheets
584*5e7646d2SAndroid Build Coastguard Worker	EXPECT !media
585*5e7646d2SAndroid Build Coastguard Worker	EXPECT !multiple-document-handling
586*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-up
587*5e7646d2SAndroid Build Coastguard Worker	EXPECT !orientation-requested
588*5e7646d2SAndroid Build Coastguard Worker	EXPECT !pages-ranges
589*5e7646d2SAndroid Build Coastguard Worker	EXPECT !print-quality
590*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-resolution
591*5e7646d2SAndroid Build Coastguard Worker	EXPECT !sides
592*5e7646d2SAndroid Build Coastguard Worker}
593*5e7646d2SAndroid Build Coastguard Worker
594*5e7646d2SAndroid Build Coastguard Worker
595*5e7646d2SAndroid Build Coastguard Worker# Test Get-Jobs operation
596*5e7646d2SAndroid Build Coastguard Worker#
597*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.6
598*5e7646d2SAndroid Build Coastguard Worker{
599*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED PRINT_JOB_COMPLETED
600*5e7646d2SAndroid Build Coastguard Worker
601*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=not-completed)"
602*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Jobs
603*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
604*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
605*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
606*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
607*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
608*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword which-jobs not-completed
609*5e7646d2SAndroid Build Coastguard Worker
610*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
611*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
612*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
613*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-uri
614*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-more-info
615*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-name
616*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-originating-user-name
617*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state
618*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-reasons
619*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-message
620*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-detailed-status-messages
621*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-documents
622*5e7646d2SAndroid Build Coastguard Worker	EXPECT !output-device-assigned
623*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-creation
624*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-processing
625*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-completed
626*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-up-time
627*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-creation
628*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-processing
629*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-completed
630*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-intervening-jobs
631*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-message-from-operator
632*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets
633*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions
634*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets
635*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets-processed
636*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions-completed
637*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets-completed
638*5e7646d2SAndroid Build Coastguard Worker
639*5e7646d2SAndroid Build Coastguard Worker	EXPECT !copies
640*5e7646d2SAndroid Build Coastguard Worker	EXPECT !finishings
641*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-hold-until
642*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-priority
643*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-sheets
644*5e7646d2SAndroid Build Coastguard Worker	EXPECT !media
645*5e7646d2SAndroid Build Coastguard Worker	EXPECT !multiple-document-handling
646*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-up
647*5e7646d2SAndroid Build Coastguard Worker	EXPECT !orientation-requested
648*5e7646d2SAndroid Build Coastguard Worker	EXPECT !pages-ranges
649*5e7646d2SAndroid Build Coastguard Worker	EXPECT !print-quality
650*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-resolution
651*5e7646d2SAndroid Build Coastguard Worker	EXPECT !sides
652*5e7646d2SAndroid Build Coastguard Worker}
653*5e7646d2SAndroid Build Coastguard Worker
654*5e7646d2SAndroid Build Coastguard Worker
655*5e7646d2SAndroid Build Coastguard Worker# Wait for job to complete...
656*5e7646d2SAndroid Build Coastguard Worker{
657*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED job-id
658*5e7646d2SAndroid Build Coastguard Worker
659*5e7646d2SAndroid Build Coastguard Worker	NAME "Get-Job-Attributes Until Job Complete"
660*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Job-Attributes
661*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
662*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
663*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
664*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
665*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
666*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
667*5e7646d2SAndroid Build Coastguard Worker
668*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
669*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >6 REPEAT-NO-MATCH REPEAT-LIMIT 30
670*5e7646d2SAndroid Build Coastguard Worker	DISPLAY job-state
671*5e7646d2SAndroid Build Coastguard Worker}
672*5e7646d2SAndroid Build Coastguard Worker
673*5e7646d2SAndroid Build Coastguard Worker
674*5e7646d2SAndroid Build Coastguard Worker# Test Get-Jobs operation
675*5e7646d2SAndroid Build Coastguard Worker#
676*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.6
677*5e7646d2SAndroid Build Coastguard Worker{
678*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs=completed)"
679*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Jobs
680*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
681*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
682*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
683*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
684*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
685*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword which-jobs completed
686*5e7646d2SAndroid Build Coastguard Worker
687*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
688*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
689*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
690*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-uri
691*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-more-info
692*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-name
693*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-originating-user-name
694*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state
695*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-reasons
696*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-message
697*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-detailed-status-messages
698*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-documents
699*5e7646d2SAndroid Build Coastguard Worker	EXPECT !output-device-assigned
700*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-creation
701*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-processing
702*5e7646d2SAndroid Build Coastguard Worker	EXPECT !time-at-completed
703*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-printer-up-time
704*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-creation
705*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-processing
706*5e7646d2SAndroid Build Coastguard Worker	EXPECT !date-time-at-completed
707*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-of-intervening-jobs
708*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-message-from-operator
709*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets
710*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions
711*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets
712*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-k-octets-processed
713*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-impressions-completed
714*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-media-sheets-completed
715*5e7646d2SAndroid Build Coastguard Worker
716*5e7646d2SAndroid Build Coastguard Worker	EXPECT !copies
717*5e7646d2SAndroid Build Coastguard Worker	EXPECT !finishings
718*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-hold-until
719*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-priority
720*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-sheets
721*5e7646d2SAndroid Build Coastguard Worker	EXPECT !media
722*5e7646d2SAndroid Build Coastguard Worker	EXPECT !multiple-document-handling
723*5e7646d2SAndroid Build Coastguard Worker	EXPECT !number-up
724*5e7646d2SAndroid Build Coastguard Worker	EXPECT !orientation-requested
725*5e7646d2SAndroid Build Coastguard Worker	EXPECT !pages-ranges
726*5e7646d2SAndroid Build Coastguard Worker	EXPECT !print-quality
727*5e7646d2SAndroid Build Coastguard Worker	EXPECT !printer-resolution
728*5e7646d2SAndroid Build Coastguard Worker	EXPECT !sides
729*5e7646d2SAndroid Build Coastguard Worker}
730*5e7646d2SAndroid Build Coastguard Worker
731*5e7646d2SAndroid Build Coastguard Worker
732*5e7646d2SAndroid Build Coastguard Worker# Test Get-Jobs operation
733*5e7646d2SAndroid Build Coastguard Worker#
734*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.6
735*5e7646d2SAndroid Build Coastguard Worker{
736*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED PRINT_JOB_COMPLETED
737*5e7646d2SAndroid Build Coastguard Worker
738*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.6: Get-Jobs Operation (which-jobs, requested-attributes)"
739*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Jobs
740*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
741*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
742*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
743*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
744*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
745*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword requested-attributes all
746*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword which-jobs completed
747*5e7646d2SAndroid Build Coastguard Worker
748*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
749*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
750*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
751*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
752*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME"
753*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
754*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
755*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
756*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
757*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
758*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag
759*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
760*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
761*5e7646d2SAndroid Build Coastguard Worker	EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
762*5e7646d2SAndroid Build Coastguard Worker	EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
763*5e7646d2SAndroid Build Coastguard Worker	EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
764*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1
765*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
766*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
767*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
768*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
769*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
770*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
771*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
772*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
773*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
774*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
775*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
776*5e7646d2SAndroid Build Coastguard Worker
777*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
778*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
779*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
780*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101
781*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag
782*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
783*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
784*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
785*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
786*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag
787*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5
788*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1
789*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
790*5e7646d2SAndroid Build Coastguard Worker}
791*5e7646d2SAndroid Build Coastguard Worker
792*5e7646d2SAndroid Build Coastguard Worker
793*5e7646d2SAndroid Build Coastguard Worker# Test Cancel-Job operation
794*5e7646d2SAndroid Build Coastguard Worker#
795*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.3.3
796*5e7646d2SAndroid Build Coastguard Worker{
797*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (completed job)"
798*5e7646d2SAndroid Build Coastguard Worker	OPERATION Cancel-Job
799*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
800*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
801*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
802*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
803*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
804*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
805*5e7646d2SAndroid Build Coastguard Worker
806*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-not-possible
807*5e7646d2SAndroid Build Coastguard Worker}
808*5e7646d2SAndroid Build Coastguard Worker
809*5e7646d2SAndroid Build Coastguard Worker
810*5e7646d2SAndroid Build Coastguard Worker# Test Print-Job operation
811*5e7646d2SAndroid Build Coastguard Worker#
812*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.2.1
813*5e7646d2SAndroid Build Coastguard Worker{
814*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.1: Print-Job Operation"
815*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
816*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
817*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
818*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
819*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
820*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
821*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
822*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
823*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
824*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
825*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
826*5e7646d2SAndroid Build Coastguard Worker	FILE $filename
827*5e7646d2SAndroid Build Coastguard Worker
828*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
829*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-document-format-not-supported
830*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
831*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
832*5e7646d2SAndroid Build Coastguard Worker
833*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
834*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
835*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
836*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
837*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
838*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
839*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
840*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
841*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
842*5e7646d2SAndroid Build Coastguard Worker}
843*5e7646d2SAndroid Build Coastguard Worker
844*5e7646d2SAndroid Build Coastguard Worker
845*5e7646d2SAndroid Build Coastguard Worker# Test Cancel-Job operation
846*5e7646d2SAndroid Build Coastguard Worker#
847*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.3.3
848*5e7646d2SAndroid Build Coastguard Worker{
849*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.3.3: Cancel-Job Operation (pending/processing job)"
850*5e7646d2SAndroid Build Coastguard Worker	OPERATION Cancel-Job
851*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
852*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
853*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
854*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
855*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
856*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
857*5e7646d2SAndroid Build Coastguard Worker
858*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
859*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-not-possible
860*5e7646d2SAndroid Build Coastguard Worker}
861*5e7646d2SAndroid Build Coastguard Worker
862*5e7646d2SAndroid Build Coastguard Worker
863*5e7646d2SAndroid Build Coastguard Worker# Test Get-Job-Attributes operation
864*5e7646d2SAndroid Build Coastguard Worker#
865*5e7646d2SAndroid Build Coastguard Worker# Required by: RFC 8011 section 4.3.4
866*5e7646d2SAndroid Build Coastguard Worker{
867*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.3.4: Get-Job-Attributes Operation"
868*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Job-Attributes
869*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
870*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
871*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
872*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
873*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
874*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
875*5e7646d2SAndroid Build Coastguard Worker
876*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
877*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
878*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
879*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-printer-uri OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$IPP_URI_SCHEME"
880*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-more-info OF-TYPE uri IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "$HTTP_URI_SCHEME"
881*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
882*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-originating-user-name OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
883*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >2,<10
884*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
885*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
886*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-detailed-status-messages OF-TYPE text IN-GROUP job-attributes-tag
887*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-documents OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
888*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?output-device-assigned OF-TYPE name IN-GROUP job-attributes-tag COUNT 1
889*5e7646d2SAndroid Build Coastguard Worker	EXPECT time-at-creation OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
890*5e7646d2SAndroid Build Coastguard Worker	EXPECT time-at-processing OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
891*5e7646d2SAndroid Build Coastguard Worker	EXPECT time-at-completed OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >-1
892*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-printer-up-time OF-TYPE no-value|integer IN-GROUP job-attributes-tag COUNT 1
893*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?date-time-at-creation OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
894*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?date-time-at-processing OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
895*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?date-time-at-completed OF-TYPE no-value|dateTime IN-GROUP job-attributes-tag COUNT 1
896*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1
897*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-message-from-operator OF-TYPE text IN-GROUP job-attributes-tag COUNT 1
898*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-k-octets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
899*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-impressions OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
900*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-media-sheets OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
901*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-k-octets-processed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
902*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-impressions-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
903*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-media-sheets-completed OF-TYPE integer|no-value IN-GROUP job-attributes-tag COUNT 1
904*5e7646d2SAndroid Build Coastguard Worker
905*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?copies OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
906*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?finishings OF-TYPE enum IN-GROUP job-attributes-tag
907*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-hold-until OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
908*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-priority OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0,<101
909*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-sheets OF-TYPE keyword|name IN-GROUP job-attributes-tag
910*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media OF-TYPE keyword|name IN-GROUP job-attributes-tag COUNT 1
911*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?multiple-document-handling OF-TYPE keyword IN-GROUP job-attributes-tag WITH-VALUE "/^(single-document|separate-documents-uncollated-copies|separate-documents-collated-copies|single-document-new-sheet)$$/"
912*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-up OF-TYPE integer IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE >0
913*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?orientation-requested OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
914*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?pages-ranges OF-TYPE rangeOfInteger IN-GROUP job-attributes-tag
915*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?print-quality OF-TYPE enum IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE 3,4,5
916*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?printer-resolution OF-TYPE resolution IN-GROUP job-attributes-tag COUNT 1
917*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?sides OF-TYPE keyword IN-GROUP job-attributes-tag COUNT 1 WITH-VALUE "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
918*5e7646d2SAndroid Build Coastguard Worker}
919*5e7646d2SAndroid Build Coastguard Worker
920*5e7646d2SAndroid Build Coastguard Worker
921*5e7646d2SAndroid Build Coastguard Worker# Test Print-URI operation
922*5e7646d2SAndroid Build Coastguard Worker#
923*5e7646d2SAndroid Build Coastguard Worker# Defined by: RFC 8011 section 4.2.2
924*5e7646d2SAndroid Build Coastguard Worker{
925*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI
926*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED document-uri
927*5e7646d2SAndroid Build Coastguard Worker
928*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.2: Print-URI Operation"
929*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-URI
930*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
931*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
932*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
933*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
934*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
935*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
936*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
937*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
938*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
939*5e7646d2SAndroid Build Coastguard Worker	ATTR uri document-uri $document-uri
940*5e7646d2SAndroid Build Coastguard Worker
941*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
942*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
943*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
944*5e7646d2SAndroid Build Coastguard Worker
945*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
946*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
947*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
948*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
949*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
950*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
951*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
952*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
953*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
954*5e7646d2SAndroid Build Coastguard Worker}
955*5e7646d2SAndroid Build Coastguard Worker
956*5e7646d2SAndroid Build Coastguard Worker
957*5e7646d2SAndroid Build Coastguard Worker# Test Print-URI operation with bad document-uri
958*5e7646d2SAndroid Build Coastguard Worker#
959*5e7646d2SAndroid Build Coastguard Worker# Defined by: RFC 8011 section 4.2.2
960*5e7646d2SAndroid Build Coastguard Worker{
961*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PRINT_URI
962*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED document-uri
963*5e7646d2SAndroid Build Coastguard Worker
964*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-URI with bad URI: Print-URI Operation"
965*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-URI
966*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
967*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
968*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
969*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
970*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
971*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
972*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
973*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
974*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
975*5e7646d2SAndroid Build Coastguard Worker	ATTR uri document-uri "bogus://bogus"
976*5e7646d2SAndroid Build Coastguard Worker
977*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-uri-scheme-not-supported
978*5e7646d2SAndroid Build Coastguard Worker
979*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-uri
980*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-id
981*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state
982*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-reasons
983*5e7646d2SAndroid Build Coastguard Worker	EXPECT !job-state-message
984*5e7646d2SAndroid Build Coastguard Worker}
985*5e7646d2SAndroid Build Coastguard Worker
986*5e7646d2SAndroid Build Coastguard Worker
987*5e7646d2SAndroid Build Coastguard Worker# Test Create-Job and Send-Document operations
988*5e7646d2SAndroid Build Coastguard Worker#
989*5e7646d2SAndroid Build Coastguard Worker# Defined by: RFC 8011 section 4.2.4 and 4.3.1
990*5e7646d2SAndroid Build Coastguard Worker{
991*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
992*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
993*5e7646d2SAndroid Build Coastguard Worker
994*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.4: Create-Job Operation"
995*5e7646d2SAndroid Build Coastguard Worker	OPERATION Create-Job
996*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
997*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
998*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
999*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1000*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1001*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
1002*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1003*5e7646d2SAndroid Build Coastguard Worker
1004*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1005*5e7646d2SAndroid Build Coastguard Worker
1006*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1007*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1008*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1009*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1010*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1011*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1012*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1013*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1014*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1015*5e7646d2SAndroid Build Coastguard Worker}
1016*5e7646d2SAndroid Build Coastguard Worker
1017*5e7646d2SAndroid Build Coastguard Worker{
1018*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
1019*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
1020*5e7646d2SAndroid Build Coastguard Worker	SKIP-PREVIOUS-ERROR yes
1021*5e7646d2SAndroid Build Coastguard Worker
1022*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.3.1: Send-Document Operation"
1023*5e7646d2SAndroid Build Coastguard Worker	OPERATION Send-Document
1024*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1025*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1026*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1027*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1028*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
1029*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1030*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean last-document true
1031*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
1032*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1033*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
1034*5e7646d2SAndroid Build Coastguard Worker	FILE $filename
1035*5e7646d2SAndroid Build Coastguard Worker
1036*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1037*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-document-format-not-supported
1038*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1039*5e7646d2SAndroid Build Coastguard Worker}
1040*5e7646d2SAndroid Build Coastguard Worker
1041*5e7646d2SAndroid Build Coastguard Worker# Test Create-Job and Send-Document operations (no last-document)
1042*5e7646d2SAndroid Build Coastguard Worker#
1043*5e7646d2SAndroid Build Coastguard Worker# Defined by: RFC 8011 section 4.2.4 and 4.3.1
1044*5e7646d2SAndroid Build Coastguard Worker{
1045*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
1046*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
1047*5e7646d2SAndroid Build Coastguard Worker
1048*5e7646d2SAndroid Build Coastguard Worker	NAME "Send-Document missing last-document: Create-Job Operation"
1049*5e7646d2SAndroid Build Coastguard Worker	OPERATION Create-Job
1050*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1051*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1052*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1053*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1054*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1055*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
1056*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1057*5e7646d2SAndroid Build Coastguard Worker
1058*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1059*5e7646d2SAndroid Build Coastguard Worker
1060*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1061*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1062*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1063*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1064*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1065*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1066*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1067*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1068*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1069*5e7646d2SAndroid Build Coastguard Worker}
1070*5e7646d2SAndroid Build Coastguard Worker
1071*5e7646d2SAndroid Build Coastguard Worker{
1072*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
1073*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
1074*5e7646d2SAndroid Build Coastguard Worker	SKIP-PREVIOUS-ERROR yes
1075*5e7646d2SAndroid Build Coastguard Worker
1076*5e7646d2SAndroid Build Coastguard Worker	NAME "Send-Document missing last-document: Send-Document Operation"
1077*5e7646d2SAndroid Build Coastguard Worker	OPERATION Send-Document
1078*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1079*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1080*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1081*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1082*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
1083*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1084*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
1085*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1086*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
1087*5e7646d2SAndroid Build Coastguard Worker	FILE $filename
1088*5e7646d2SAndroid Build Coastguard Worker
1089*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-bad-request
1090*5e7646d2SAndroid Build Coastguard Worker}
1091*5e7646d2SAndroid Build Coastguard Worker
1092*5e7646d2SAndroid Build Coastguard Worker{
1093*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
1094*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_DOCUMENT
1095*5e7646d2SAndroid Build Coastguard Worker	SKIP-PREVIOUS-ERROR yes
1096*5e7646d2SAndroid Build Coastguard Worker
1097*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.3.3: Cancel-Job Operation"
1098*5e7646d2SAndroid Build Coastguard Worker	OPERATION Cancel-Job
1099*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1100*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1101*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1102*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1103*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
1104*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1105*5e7646d2SAndroid Build Coastguard Worker
1106*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1107*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1108*5e7646d2SAndroid Build Coastguard Worker}
1109*5e7646d2SAndroid Build Coastguard Worker
1110*5e7646d2SAndroid Build Coastguard Worker# Test Create-Job and Send-URI operations
1111*5e7646d2SAndroid Build Coastguard Worker#
1112*5e7646d2SAndroid Build Coastguard Worker# Defined by: RFC 8011 section 4.2.4 and 4.3.2
1113*5e7646d2SAndroid Build Coastguard Worker{
1114*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
1115*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI
1116*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED document-uri
1117*5e7646d2SAndroid Build Coastguard Worker
1118*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.2.4: Create-Job Operation"
1119*5e7646d2SAndroid Build Coastguard Worker	OPERATION Create-Job
1120*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1121*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1122*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1123*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1124*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1125*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
1126*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1127*5e7646d2SAndroid Build Coastguard Worker
1128*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1129*5e7646d2SAndroid Build Coastguard Worker
1130*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1131*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1132*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1133*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1134*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1135*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1136*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1137*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1138*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1139*5e7646d2SAndroid Build Coastguard Worker}
1140*5e7646d2SAndroid Build Coastguard Worker
1141*5e7646d2SAndroid Build Coastguard Worker{
1142*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
1143*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI
1144*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED document-uri
1145*5e7646d2SAndroid Build Coastguard Worker	SKIP-PREVIOUS-ERROR yes
1146*5e7646d2SAndroid Build Coastguard Worker
1147*5e7646d2SAndroid Build Coastguard Worker	NAME "RFC 8011 section 4.3.2: Send-URI Operation"
1148*5e7646d2SAndroid Build Coastguard Worker	OPERATION Send-URI
1149*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1150*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1151*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1152*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1153*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
1154*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1155*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean last-document true
1156*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
1157*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1158*5e7646d2SAndroid Build Coastguard Worker	ATTR uri document-uri $document-uri
1159*5e7646d2SAndroid Build Coastguard Worker
1160*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1161*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1162*5e7646d2SAndroid Build Coastguard Worker}
1163*5e7646d2SAndroid Build Coastguard Worker
1164*5e7646d2SAndroid Build Coastguard Worker
1165*5e7646d2SAndroid Build Coastguard Worker# Test Create-Job and Send-URI operations (bad URI)
1166*5e7646d2SAndroid Build Coastguard Worker#
1167*5e7646d2SAndroid Build Coastguard Worker# Defined by: RFC 8011 section 4.2.4 and 4.3.2
1168*5e7646d2SAndroid Build Coastguard Worker{
1169*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
1170*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI
1171*5e7646d2SAndroid Build Coastguard Worker
1172*5e7646d2SAndroid Build Coastguard Worker	NAME "Send-URI with bad URI: Create-Job Operation"
1173*5e7646d2SAndroid Build Coastguard Worker	OPERATION Create-Job
1174*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1175*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1176*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1177*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1178*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1179*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
1180*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1181*5e7646d2SAndroid Build Coastguard Worker
1182*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1183*5e7646d2SAndroid Build Coastguard Worker
1184*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1185*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1186*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1187*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1188*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1189*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1190*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1191*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1192*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1193*5e7646d2SAndroid Build Coastguard Worker}
1194*5e7646d2SAndroid Build Coastguard Worker
1195*5e7646d2SAndroid Build Coastguard Worker{
1196*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
1197*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI
1198*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED document-uri
1199*5e7646d2SAndroid Build Coastguard Worker	SKIP-PREVIOUS-ERROR yes
1200*5e7646d2SAndroid Build Coastguard Worker
1201*5e7646d2SAndroid Build Coastguard Worker	NAME "Send-URI with bad URI: Send-URI Operation (bad URI)"
1202*5e7646d2SAndroid Build Coastguard Worker	OPERATION Send-URI
1203*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1204*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1205*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1206*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1207*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
1208*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1209*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean last-document true
1210*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
1211*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1212*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
1213*5e7646d2SAndroid Build Coastguard Worker	ATTR uri document-uri "bogus://bogus"
1214*5e7646d2SAndroid Build Coastguard Worker
1215*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-uri-scheme-not-supported
1216*5e7646d2SAndroid Build Coastguard Worker}
1217*5e7646d2SAndroid Build Coastguard Worker
1218*5e7646d2SAndroid Build Coastguard Worker{
1219*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_CREATE_JOB
1220*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_SEND_URI
1221*5e7646d2SAndroid Build Coastguard Worker	SKIP-PREVIOUS-ERROR yes
1222*5e7646d2SAndroid Build Coastguard Worker
1223*5e7646d2SAndroid Build Coastguard Worker	NAME "Send-URI with bad URI: Cancel-Job Operation"
1224*5e7646d2SAndroid Build Coastguard Worker	OPERATION Cancel-Job
1225*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1226*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1227*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1228*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1229*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
1230*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1231*5e7646d2SAndroid Build Coastguard Worker
1232*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1233*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1234*5e7646d2SAndroid Build Coastguard Worker}
1235*5e7646d2SAndroid Build Coastguard Worker
1236*5e7646d2SAndroid Build Coastguard Worker
1237*5e7646d2SAndroid Build Coastguard Worker# Test multiple copy output
1238*5e7646d2SAndroid Build Coastguard Worker{
1239*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_COPIES
1240*5e7646d2SAndroid Build Coastguard Worker
1241*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with copies"
1242*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1243*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1244*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1245*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1246*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1247*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1248*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name $filename
1249*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1250*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
1251*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1252*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
1253*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1254*5e7646d2SAndroid Build Coastguard Worker	ATTR integer copies 2
1255*5e7646d2SAndroid Build Coastguard Worker	FILE $filename
1256*5e7646d2SAndroid Build Coastguard Worker
1257*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1258*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-document-format-not-supported
1259*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1260*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1261*5e7646d2SAndroid Build Coastguard Worker
1262*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1263*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1264*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1265*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1266*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1267*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1268*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1269*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1270*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1271*5e7646d2SAndroid Build Coastguard Worker}
1272*5e7646d2SAndroid Build Coastguard Worker
1273*5e7646d2SAndroid Build Coastguard Worker
1274*5e7646d2SAndroid Build Coastguard Worker# Test PDF output
1275*5e7646d2SAndroid Build Coastguard Worker{
1276*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1277*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
1278*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
1279*5e7646d2SAndroid Build Coastguard Worker
1280*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with A4 PDF"
1281*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1282*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1283*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1284*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1285*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1286*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1287*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "A4 Test Document"
1288*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1289*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.pdf
1290*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1291*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
1292*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1293*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
1294*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.pdf
1295*5e7646d2SAndroid Build Coastguard Worker
1296*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1297*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1298*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1299*5e7646d2SAndroid Build Coastguard Worker
1300*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1301*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1302*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1303*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1304*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1305*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1306*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1307*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1308*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1309*5e7646d2SAndroid Build Coastguard Worker}
1310*5e7646d2SAndroid Build Coastguard Worker
1311*5e7646d2SAndroid Build Coastguard Worker{
1312*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1313*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
1314*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
1315*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
1316*5e7646d2SAndroid Build Coastguard Worker
1317*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with A4 PDF, Duplex"
1318*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1319*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1320*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1321*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1322*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1323*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1324*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "A4 Test Document, Duplex"
1325*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1326*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.pdf
1327*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1328*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
1329*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1330*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
1331*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword sides two-sided-long-edge
1332*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.pdf
1333*5e7646d2SAndroid Build Coastguard Worker
1334*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1335*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1336*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1337*5e7646d2SAndroid Build Coastguard Worker
1338*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1339*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1340*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1341*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1342*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1343*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1344*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1345*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1346*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1347*5e7646d2SAndroid Build Coastguard Worker}
1348*5e7646d2SAndroid Build Coastguard Worker
1349*5e7646d2SAndroid Build Coastguard Worker{
1350*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1351*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
1352*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
1353*5e7646d2SAndroid Build Coastguard Worker
1354*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with US Letter PDF"
1355*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1356*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1357*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1358*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1359*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1360*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1361*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "US Letter Test Document"
1362*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1363*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-letter.pdf
1364*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1365*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
1366*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1367*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
1368*5e7646d2SAndroid Build Coastguard Worker	FILE document-letter.pdf
1369*5e7646d2SAndroid Build Coastguard Worker
1370*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1371*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1372*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1373*5e7646d2SAndroid Build Coastguard Worker
1374*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1375*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1376*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1377*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1378*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1379*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1380*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1381*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1382*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1383*5e7646d2SAndroid Build Coastguard Worker}
1384*5e7646d2SAndroid Build Coastguard Worker
1385*5e7646d2SAndroid Build Coastguard Worker{
1386*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1387*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
1388*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
1389*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
1390*5e7646d2SAndroid Build Coastguard Worker
1391*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with US Letter PDF, Duplex"
1392*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1393*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1394*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1395*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1396*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1397*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1398*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "US Letter Test Document, Duplex"
1399*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1400*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-letter.pdf
1401*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1402*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
1403*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1404*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
1405*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword sides two-sided-long-edge
1406*5e7646d2SAndroid Build Coastguard Worker	FILE document-letter.pdf
1407*5e7646d2SAndroid Build Coastguard Worker
1408*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1409*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1410*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1411*5e7646d2SAndroid Build Coastguard Worker
1412*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1413*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1414*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1415*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1416*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1417*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1418*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1419*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1420*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1421*5e7646d2SAndroid Build Coastguard Worker}
1422*5e7646d2SAndroid Build Coastguard Worker
1423*5e7646d2SAndroid Build Coastguard Worker
1424*5e7646d2SAndroid Build Coastguard Worker# Test PostScript output
1425*5e7646d2SAndroid Build Coastguard Worker{
1426*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1427*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
1428*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
1429*5e7646d2SAndroid Build Coastguard Worker
1430*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with A4 PostScript"
1431*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1432*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1433*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1434*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1435*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1436*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1437*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "A4 Test Document, Duplex"
1438*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1439*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.ps
1440*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1441*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/postscript
1442*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1443*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
1444*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.ps
1445*5e7646d2SAndroid Build Coastguard Worker
1446*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1447*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1448*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1449*5e7646d2SAndroid Build Coastguard Worker
1450*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1451*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1452*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1453*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1454*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1455*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1456*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1457*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1458*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1459*5e7646d2SAndroid Build Coastguard Worker}
1460*5e7646d2SAndroid Build Coastguard Worker
1461*5e7646d2SAndroid Build Coastguard Worker{
1462*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1463*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
1464*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
1465*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
1466*5e7646d2SAndroid Build Coastguard Worker
1467*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with A4 PostScript, Duplex"
1468*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1469*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1470*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1471*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1472*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1473*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1474*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "US Letter Test Document"
1475*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1476*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.ps
1477*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1478*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/postscript
1479*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1480*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
1481*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword sides two-sided-long-edge
1482*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.ps
1483*5e7646d2SAndroid Build Coastguard Worker
1484*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1485*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1486*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1487*5e7646d2SAndroid Build Coastguard Worker
1488*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1489*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1490*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1491*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1492*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1493*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1494*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1495*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1496*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1497*5e7646d2SAndroid Build Coastguard Worker}
1498*5e7646d2SAndroid Build Coastguard Worker
1499*5e7646d2SAndroid Build Coastguard Worker{
1500*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1501*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
1502*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
1503*5e7646d2SAndroid Build Coastguard Worker
1504*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with US Letter PostScript"
1505*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1506*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1507*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1508*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1509*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1510*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1511*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "US Letter Test Document, Duplex"
1512*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1513*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-letter.ps
1514*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1515*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/postscript
1516*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1517*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
1518*5e7646d2SAndroid Build Coastguard Worker	FILE document-letter.ps
1519*5e7646d2SAndroid Build Coastguard Worker
1520*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1521*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1522*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1523*5e7646d2SAndroid Build Coastguard Worker
1524*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1525*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1526*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1527*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1528*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1529*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1530*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1531*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1532*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1533*5e7646d2SAndroid Build Coastguard Worker}
1534*5e7646d2SAndroid Build Coastguard Worker
1535*5e7646d2SAndroid Build Coastguard Worker{
1536*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1537*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
1538*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
1539*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_DUPLEX
1540*5e7646d2SAndroid Build Coastguard Worker
1541*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with US Letter PostScript, Duplex"
1542*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1543*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1544*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1545*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1546*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1547*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1548*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "A4 Test Document"
1549*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1550*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-letter.ps
1551*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1552*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/postscript
1553*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1554*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
1555*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword sides two-sided-long-edge
1556*5e7646d2SAndroid Build Coastguard Worker	FILE document-letter.ps
1557*5e7646d2SAndroid Build Coastguard Worker
1558*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1559*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1560*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1561*5e7646d2SAndroid Build Coastguard Worker
1562*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1563*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1564*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1565*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1566*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1567*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1568*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1569*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1570*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1571*5e7646d2SAndroid Build Coastguard Worker}
1572*5e7646d2SAndroid Build Coastguard Worker
1573*5e7646d2SAndroid Build Coastguard Worker
1574*5e7646d2SAndroid Build Coastguard Worker# Test JPEG output
1575*5e7646d2SAndroid Build Coastguard Worker{
1576*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1577*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
1578*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
1579*5e7646d2SAndroid Build Coastguard Worker
1580*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with Color JPEG on A4"
1581*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1582*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1583*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1584*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1585*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1586*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1587*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "Color JPEG on A4"
1588*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1589*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name color.jpg
1590*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1591*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format image/jpeg
1592*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1593*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
1594*5e7646d2SAndroid Build Coastguard Worker	FILE color.jpg
1595*5e7646d2SAndroid Build Coastguard Worker
1596*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1597*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1598*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1599*5e7646d2SAndroid Build Coastguard Worker
1600*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1601*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1602*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1603*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1604*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1605*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1606*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1607*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1608*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1609*5e7646d2SAndroid Build Coastguard Worker}
1610*5e7646d2SAndroid Build Coastguard Worker
1611*5e7646d2SAndroid Build Coastguard Worker{
1612*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1613*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
1614*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
1615*5e7646d2SAndroid Build Coastguard Worker
1616*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with Color JPEG on US Letter"
1617*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1618*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1619*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1620*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1621*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1622*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1623*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "Color JPEG on US Letter"
1624*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1625*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name color.jpg
1626*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1627*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format image/jpeg
1628*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1629*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
1630*5e7646d2SAndroid Build Coastguard Worker	FILE color.jpg
1631*5e7646d2SAndroid Build Coastguard Worker
1632*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1633*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1634*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1635*5e7646d2SAndroid Build Coastguard Worker
1636*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1637*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1638*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1639*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1640*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1641*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1642*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1643*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1644*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1645*5e7646d2SAndroid Build Coastguard Worker}
1646*5e7646d2SAndroid Build Coastguard Worker
1647*5e7646d2SAndroid Build Coastguard Worker{
1648*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1649*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
1650*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
1651*5e7646d2SAndroid Build Coastguard Worker
1652*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with Color JPEG on 4x6"
1653*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1654*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1655*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1656*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1657*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1658*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1659*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "Color JPEG on 4x6"
1660*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1661*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name color.jpg
1662*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1663*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format image/jpeg
1664*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1665*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_4X6_MEDIA
1666*5e7646d2SAndroid Build Coastguard Worker	FILE color.jpg
1667*5e7646d2SAndroid Build Coastguard Worker
1668*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1669*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1670*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1671*5e7646d2SAndroid Build Coastguard Worker
1672*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1673*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1674*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1675*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1676*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1677*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1678*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1679*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1680*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1681*5e7646d2SAndroid Build Coastguard Worker}
1682*5e7646d2SAndroid Build Coastguard Worker
1683*5e7646d2SAndroid Build Coastguard Worker{
1684*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1685*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
1686*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
1687*5e7646d2SAndroid Build Coastguard Worker
1688*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with Grayscale JPEG on A4"
1689*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1690*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1691*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1692*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1693*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1694*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1695*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "Grayscale JPEG on A4"
1696*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1697*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name gray.jpg
1698*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1699*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format image/jpeg
1700*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1701*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
1702*5e7646d2SAndroid Build Coastguard Worker	FILE gray.jpg
1703*5e7646d2SAndroid Build Coastguard Worker
1704*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1705*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1706*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1707*5e7646d2SAndroid Build Coastguard Worker
1708*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1709*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1710*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1711*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1712*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1713*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1714*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1715*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1716*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1717*5e7646d2SAndroid Build Coastguard Worker}
1718*5e7646d2SAndroid Build Coastguard Worker
1719*5e7646d2SAndroid Build Coastguard Worker{
1720*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1721*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
1722*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
1723*5e7646d2SAndroid Build Coastguard Worker
1724*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with Grayscale JPEG on US Letter"
1725*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1726*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1727*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1728*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1729*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1730*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1731*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "Grayscale JPEG on US Letter"
1732*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1733*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name gray.jpg
1734*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1735*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format image/jpeg
1736*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1737*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
1738*5e7646d2SAndroid Build Coastguard Worker	FILE gray.jpg
1739*5e7646d2SAndroid Build Coastguard Worker
1740*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1741*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1742*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1743*5e7646d2SAndroid Build Coastguard Worker
1744*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1745*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1746*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1747*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1748*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1749*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1750*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1751*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1752*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1753*5e7646d2SAndroid Build Coastguard Worker}
1754*5e7646d2SAndroid Build Coastguard Worker
1755*5e7646d2SAndroid Build Coastguard Worker{
1756*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1757*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
1758*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
1759*5e7646d2SAndroid Build Coastguard Worker
1760*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with Grayscale JPEG on 4x6"
1761*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1762*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1763*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1764*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1765*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1766*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1767*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "Grayscale JPEG on 4x6"
1768*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1769*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name gray.jpg
1770*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1771*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format image/jpeg
1772*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1773*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_4X6_MEDIA
1774*5e7646d2SAndroid Build Coastguard Worker	FILE gray.jpg
1775*5e7646d2SAndroid Build Coastguard Worker
1776*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1777*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1778*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1779*5e7646d2SAndroid Build Coastguard Worker
1780*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1781*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1782*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1783*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1784*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1785*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1786*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1787*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1788*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1789*5e7646d2SAndroid Build Coastguard Worker}
1790*5e7646d2SAndroid Build Coastguard Worker
1791*5e7646d2SAndroid Build Coastguard Worker
1792*5e7646d2SAndroid Build Coastguard Worker# Print-Job with job-sheets
1793*5e7646d2SAndroid Build Coastguard Worker{
1794*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1795*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
1796*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
1797*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
1798*5e7646d2SAndroid Build Coastguard Worker
1799*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with A4 PDF and Standard Sheet"
1800*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1801*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1802*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1803*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1804*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1805*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1806*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "A4 Test Document w/Standard Sheet"
1807*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1808*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.pdf
1809*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1810*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
1811*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1812*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
1813*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword job-sheets standard
1814*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.pdf
1815*5e7646d2SAndroid Build Coastguard Worker
1816*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1817*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1818*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1819*5e7646d2SAndroid Build Coastguard Worker
1820*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1821*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1822*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1823*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1824*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1825*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1826*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1827*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1828*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1829*5e7646d2SAndroid Build Coastguard Worker}
1830*5e7646d2SAndroid Build Coastguard Worker
1831*5e7646d2SAndroid Build Coastguard Worker{
1832*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1833*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
1834*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
1835*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
1836*5e7646d2SAndroid Build Coastguard Worker
1837*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with US Letter PDF and Standard Sheet"
1838*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1839*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1840*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1841*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1842*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1843*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1844*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "US Letter Test Document w/Standard Sheet"
1845*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1846*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.pdf
1847*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1848*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
1849*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1850*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
1851*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword job-sheets standard
1852*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.pdf
1853*5e7646d2SAndroid Build Coastguard Worker
1854*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1855*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1856*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1857*5e7646d2SAndroid Build Coastguard Worker
1858*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1859*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1860*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1861*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1862*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1863*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1864*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1865*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1866*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1867*5e7646d2SAndroid Build Coastguard Worker}
1868*5e7646d2SAndroid Build Coastguard Worker
1869*5e7646d2SAndroid Build Coastguard Worker{
1870*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1871*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
1872*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
1873*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
1874*5e7646d2SAndroid Build Coastguard Worker
1875*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with A4 PDF and Standard Sheet"
1876*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1877*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1878*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1879*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1880*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1881*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1882*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "A4 Test Document w/Standard Sheet"
1883*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1884*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.ps
1885*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1886*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/postscript
1887*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1888*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
1889*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword job-sheets standard
1890*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.ps
1891*5e7646d2SAndroid Build Coastguard Worker
1892*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1893*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1894*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1895*5e7646d2SAndroid Build Coastguard Worker
1896*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1897*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1898*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1899*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1900*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1901*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1902*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1903*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1904*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1905*5e7646d2SAndroid Build Coastguard Worker}
1906*5e7646d2SAndroid Build Coastguard Worker
1907*5e7646d2SAndroid Build Coastguard Worker{
1908*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1909*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
1910*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
1911*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_STANDARD_SHEET
1912*5e7646d2SAndroid Build Coastguard Worker
1913*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with US Letter PDF and Standard Sheet"
1914*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1915*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1916*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1917*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1918*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1919*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1920*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "US Letter Test Document w/Standard Sheet"
1921*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1922*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.ps
1923*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1924*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/postscript
1925*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1926*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
1927*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword job-sheets standard
1928*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.ps
1929*5e7646d2SAndroid Build Coastguard Worker
1930*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1931*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1932*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1933*5e7646d2SAndroid Build Coastguard Worker
1934*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1935*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1936*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1937*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1938*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1939*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1940*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1941*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1942*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1943*5e7646d2SAndroid Build Coastguard Worker}
1944*5e7646d2SAndroid Build Coastguard Worker
1945*5e7646d2SAndroid Build Coastguard Worker
1946*5e7646d2SAndroid Build Coastguard Worker# Test number-up output
1947*5e7646d2SAndroid Build Coastguard Worker{
1948*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1949*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
1950*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
1951*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_2UP
1952*5e7646d2SAndroid Build Coastguard Worker
1953*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with A4 PDF, 2-Up"
1954*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1955*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1956*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1957*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1958*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1959*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1960*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "A4 Test Document; 2-Up"
1961*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
1962*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.pdf
1963*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
1964*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
1965*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
1966*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
1967*5e7646d2SAndroid Build Coastguard Worker	ATTR integer number-up 2
1968*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.pdf
1969*5e7646d2SAndroid Build Coastguard Worker
1970*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
1971*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
1972*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
1973*5e7646d2SAndroid Build Coastguard Worker
1974*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
1975*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
1976*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
1977*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
1978*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
1979*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
1980*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
1981*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
1982*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
1983*5e7646d2SAndroid Build Coastguard Worker}
1984*5e7646d2SAndroid Build Coastguard Worker
1985*5e7646d2SAndroid Build Coastguard Worker{
1986*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
1987*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
1988*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
1989*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_2UP
1990*5e7646d2SAndroid Build Coastguard Worker
1991*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with US Letter PDF, 2-Up"
1992*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
1993*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
1994*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
1995*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
1996*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
1997*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
1998*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "US Letter Test Document; 2-Up"
1999*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
2000*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-letter.pdf
2001*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
2002*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
2003*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
2004*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
2005*5e7646d2SAndroid Build Coastguard Worker	ATTR integer number-up 2
2006*5e7646d2SAndroid Build Coastguard Worker	FILE document-letter.pdf
2007*5e7646d2SAndroid Build Coastguard Worker
2008*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2009*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
2010*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
2011*5e7646d2SAndroid Build Coastguard Worker
2012*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
2013*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
2014*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
2015*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
2016*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
2017*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
2018*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
2019*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
2020*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
2021*5e7646d2SAndroid Build Coastguard Worker}
2022*5e7646d2SAndroid Build Coastguard Worker
2023*5e7646d2SAndroid Build Coastguard Worker{
2024*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
2025*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
2026*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
2027*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_2UP
2028*5e7646d2SAndroid Build Coastguard Worker
2029*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with A4 PDF, 2-Up"
2030*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
2031*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
2032*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
2033*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
2034*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
2035*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
2036*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "A4 Test Document; 2-Up"
2037*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
2038*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.ps
2039*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
2040*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/postscript
2041*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
2042*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
2043*5e7646d2SAndroid Build Coastguard Worker	ATTR integer number-up 2
2044*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.ps
2045*5e7646d2SAndroid Build Coastguard Worker
2046*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2047*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
2048*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
2049*5e7646d2SAndroid Build Coastguard Worker
2050*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
2051*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
2052*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
2053*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
2054*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
2055*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
2056*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
2057*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
2058*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
2059*5e7646d2SAndroid Build Coastguard Worker}
2060*5e7646d2SAndroid Build Coastguard Worker
2061*5e7646d2SAndroid Build Coastguard Worker{
2062*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
2063*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_POSTSCRIPT
2064*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
2065*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_2UP
2066*5e7646d2SAndroid Build Coastguard Worker
2067*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with US Letter PDF, 2-Up"
2068*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
2069*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
2070*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
2071*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
2072*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
2073*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
2074*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "US Letter Test Document; 2-Up"
2075*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
2076*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-letter.ps
2077*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
2078*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/postscript
2079*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
2080*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
2081*5e7646d2SAndroid Build Coastguard Worker	ATTR integer number-up 2
2082*5e7646d2SAndroid Build Coastguard Worker	FILE document-letter.ps
2083*5e7646d2SAndroid Build Coastguard Worker
2084*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2085*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
2086*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
2087*5e7646d2SAndroid Build Coastguard Worker
2088*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
2089*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
2090*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
2091*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
2092*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
2093*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
2094*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
2095*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
2096*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
2097*5e7646d2SAndroid Build Coastguard Worker}
2098*5e7646d2SAndroid Build Coastguard Worker
2099*5e7646d2SAndroid Build Coastguard Worker
2100*5e7646d2SAndroid Build Coastguard Worker# Test output with print-quality...
2101*5e7646d2SAndroid Build Coastguard Worker{
2102*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
2103*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
2104*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
2105*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY
2106*5e7646d2SAndroid Build Coastguard Worker
2107*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with JPEG on 4x6, Draft Quality"
2108*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
2109*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
2110*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
2111*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
2112*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
2113*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
2114*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "4x6 Color JPEG; Draft Quality"
2115*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
2116*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name color.jpg
2117*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
2118*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format image/jpeg
2119*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
2120*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_4X6_MEDIA
2121*5e7646d2SAndroid Build Coastguard Worker	ATTR enum print-quality 3
2122*5e7646d2SAndroid Build Coastguard Worker	FILE color.jpg
2123*5e7646d2SAndroid Build Coastguard Worker
2124*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2125*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
2126*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
2127*5e7646d2SAndroid Build Coastguard Worker
2128*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
2129*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
2130*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
2131*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
2132*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
2133*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
2134*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
2135*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
2136*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
2137*5e7646d2SAndroid Build Coastguard Worker}
2138*5e7646d2SAndroid Build Coastguard Worker
2139*5e7646d2SAndroid Build Coastguard Worker{
2140*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
2141*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
2142*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
2143*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_NORMAL_QUALITY
2144*5e7646d2SAndroid Build Coastguard Worker
2145*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with JPEG on 4x6, Normal Quality"
2146*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
2147*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
2148*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
2149*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
2150*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
2151*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
2152*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "4x6 Color JPEG; Normal Quality"
2153*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
2154*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name color.jpg
2155*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
2156*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format image/jpeg
2157*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
2158*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_4X6_MEDIA
2159*5e7646d2SAndroid Build Coastguard Worker	ATTR enum print-quality 4
2160*5e7646d2SAndroid Build Coastguard Worker	FILE color.jpg
2161*5e7646d2SAndroid Build Coastguard Worker
2162*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2163*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
2164*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
2165*5e7646d2SAndroid Build Coastguard Worker
2166*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
2167*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
2168*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
2169*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
2170*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
2171*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
2172*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
2173*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
2174*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
2175*5e7646d2SAndroid Build Coastguard Worker}
2176*5e7646d2SAndroid Build Coastguard Worker
2177*5e7646d2SAndroid Build Coastguard Worker{
2178*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
2179*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_JPEG
2180*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_4X6_MEDIA
2181*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_HIGH_QUALITY
2182*5e7646d2SAndroid Build Coastguard Worker
2183*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with JPEG on 4x6, High Quality"
2184*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
2185*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
2186*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
2187*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
2188*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
2189*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
2190*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "4x6 Color JPEG; High Quality"
2191*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
2192*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name color.jpg
2193*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
2194*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format image/jpeg
2195*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
2196*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_4X6_MEDIA
2197*5e7646d2SAndroid Build Coastguard Worker	ATTR enum print-quality 5
2198*5e7646d2SAndroid Build Coastguard Worker	FILE color.jpg
2199*5e7646d2SAndroid Build Coastguard Worker
2200*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2201*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
2202*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
2203*5e7646d2SAndroid Build Coastguard Worker
2204*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
2205*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
2206*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
2207*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
2208*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
2209*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
2210*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
2211*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
2212*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
2213*5e7646d2SAndroid Build Coastguard Worker}
2214*5e7646d2SAndroid Build Coastguard Worker
2215*5e7646d2SAndroid Build Coastguard Worker{
2216*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
2217*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
2218*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_A4_MEDIA
2219*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY
2220*5e7646d2SAndroid Build Coastguard Worker
2221*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with A4 PDF, Draft Quality"
2222*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
2223*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
2224*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
2225*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
2226*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
2227*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
2228*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "A4 Test Document; 2-Up"
2229*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
2230*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-a4.pdf
2231*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
2232*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
2233*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
2234*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_A4_MEDIA
2235*5e7646d2SAndroid Build Coastguard Worker	ATTR enum print-quality 3
2236*5e7646d2SAndroid Build Coastguard Worker	FILE document-a4.pdf
2237*5e7646d2SAndroid Build Coastguard Worker
2238*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2239*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
2240*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
2241*5e7646d2SAndroid Build Coastguard Worker
2242*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
2243*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
2244*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
2245*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
2246*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
2247*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
2248*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
2249*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
2250*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
2251*5e7646d2SAndroid Build Coastguard Worker}
2252*5e7646d2SAndroid Build Coastguard Worker
2253*5e7646d2SAndroid Build Coastguard Worker{
2254*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-DEFINED NOPRINT
2255*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_PDF
2256*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_LETTER_MEDIA
2257*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_DRAFT_QUALITY
2258*5e7646d2SAndroid Build Coastguard Worker
2259*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with US Letter PDF, Draft Quality"
2260*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
2261*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
2262*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
2263*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
2264*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
2265*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
2266*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "US Letter Test Document; 2-Up"
2267*5e7646d2SAndroid Build Coastguard Worker	ATTR boolean ipp-attribute-fidelity false
2268*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name document-letter.pdf
2269*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
2270*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/pdf
2271*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
2272*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword media $OPTIONAL_LETTER_MEDIA
2273*5e7646d2SAndroid Build Coastguard Worker	ATTR enum print-quality 3
2274*5e7646d2SAndroid Build Coastguard Worker	FILE document-letter.pdf
2275*5e7646d2SAndroid Build Coastguard Worker
2276*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2277*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
2278*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
2279*5e7646d2SAndroid Build Coastguard Worker
2280*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
2281*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
2282*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
2283*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
2284*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
2285*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
2286*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
2287*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
2288*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
2289*5e7646d2SAndroid Build Coastguard Worker}
2290*5e7646d2SAndroid Build Coastguard Worker
2291*5e7646d2SAndroid Build Coastguard Worker
2292*5e7646d2SAndroid Build Coastguard Worker# Test hold/release in the context of Print-Job w/job-hold-until + Release-Job
2293*5e7646d2SAndroid Build Coastguard Worker{
2294*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_HOLD_JOB
2295*5e7646d2SAndroid Build Coastguard Worker
2296*5e7646d2SAndroid Build Coastguard Worker	NAME "Print-Job with job-hold-until"
2297*5e7646d2SAndroid Build Coastguard Worker	OPERATION Print-Job
2298*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
2299*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
2300*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
2301*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
2302*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
2303*5e7646d2SAndroid Build Coastguard Worker	ATTR name job-name "Test Document w/Hold"
2304*5e7646d2SAndroid Build Coastguard Worker	ATTR name document-name $filename
2305*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword compression none
2306*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format $filetype
2307*5e7646d2SAndroid Build Coastguard Worker	GROUP job-attributes-tag
2308*5e7646d2SAndroid Build Coastguard Worker	ATTR keyword job-hold-until indefinite
2309*5e7646d2SAndroid Build Coastguard Worker	FILE $filename
2310*5e7646d2SAndroid Build Coastguard Worker
2311*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2312*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-job-canceled
2313*5e7646d2SAndroid Build Coastguard Worker	STATUS server-error-busy REPEAT-MATCH REPEAT-LIMIT 30
2314*5e7646d2SAndroid Build Coastguard Worker
2315*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-uri OF-TYPE uri COUNT 1 IN-GROUP job-attributes-tag WITH-VALUE "$IPP_URI_SCHEME"
2316*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-id OF-TYPE integer COUNT 1 IN-GROUP job-attributes-tag
2317*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE >0
2318*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state OF-TYPE unknown|enum COUNT 1 IN-GROUP job-attributes-tag
2319*5e7646d2SAndroid Build Coastguard Worker	       WITH-VALUE 3,4,5,6,7,8,9
2320*5e7646d2SAndroid Build Coastguard Worker	EXPECT job-state-reasons OF-TYPE keyword IN-GROUP job-attributes-tag
2321*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?job-state-message OF-TYPE text IN-GROUP job-attributes-tag
2322*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?number-of-intervening-jobs OF-TYPE integer
2323*5e7646d2SAndroid Build Coastguard Worker	       IN-GROUP job-attributes-tag WITH-VALUE >-1
2324*5e7646d2SAndroid Build Coastguard Worker}
2325*5e7646d2SAndroid Build Coastguard Worker
2326*5e7646d2SAndroid Build Coastguard Worker{
2327*5e7646d2SAndroid Build Coastguard Worker	SKIP-IF-NOT-DEFINED OPTIONAL_HOLD_JOB
2328*5e7646d2SAndroid Build Coastguard Worker
2329*5e7646d2SAndroid Build Coastguard Worker	NAME "Release-Job"
2330*5e7646d2SAndroid Build Coastguard Worker	OPERATION Release-Job
2331*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
2332*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
2333*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
2334*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
2335*5e7646d2SAndroid Build Coastguard Worker	ATTR integer job-id $job-id
2336*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
2337*5e7646d2SAndroid Build Coastguard Worker
2338*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
2339*5e7646d2SAndroid Build Coastguard Worker	STATUS client-error-not-possible
2340*5e7646d2SAndroid Build Coastguard Worker}
2341