xref: /aosp_15_r20/external/libcups/examples/ipp-2.0.test (revision 5e7646d21f1134fb0638875d812ef646c12ab91e)
1*5e7646d2SAndroid Build Coastguard Worker#
2*5e7646d2SAndroid Build Coastguard Worker# IPP/2.0 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 -V 2.0 -f filename -t printer-uri ipp-2.0.test
13*5e7646d2SAndroid Build Coastguard Worker#
14*5e7646d2SAndroid Build Coastguard Worker
15*5e7646d2SAndroid Build Coastguard Worker# Do all of the IPP/1.1 tests as an IPP/2.0 client
16*5e7646d2SAndroid Build Coastguard Worker#
17*5e7646d2SAndroid Build Coastguard Worker# Required by: PWG 5100.12 section 4.1
18*5e7646d2SAndroid Build Coastguard WorkerINCLUDE "ipp-1.1.test"
19*5e7646d2SAndroid Build Coastguard Worker
20*5e7646d2SAndroid Build Coastguard Worker
21*5e7646d2SAndroid Build Coastguard Worker# Regular expression for PWG media size names (eek!)
22*5e7646d2SAndroid Build Coastguard WorkerDEFINE MEDIA_REGEX "/^(choice(_((custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])in|(custom|iso|jis|jpn|prc|om|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])mm)){2,}|(custom|na|asme|roc|oe|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])in|(custom|iso|jis|jpn|prc|om|roll)_[a-z0-9][-a-z0-9]*_([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])x([1-9][0-9]*(\.[0-9]*[1-9])?|0\.[0-9]*[1-9])mm)$$/"
23*5e7646d2SAndroid Build Coastguard Worker
24*5e7646d2SAndroid Build Coastguard Worker
25*5e7646d2SAndroid Build Coastguard Worker# Test required printer description attribute support.
26*5e7646d2SAndroid Build Coastguard Worker#
27*5e7646d2SAndroid Build Coastguard Worker# Required by: PWG 5100.12 section 6.2
28*5e7646d2SAndroid Build Coastguard Worker{
29*5e7646d2SAndroid Build Coastguard Worker	NAME "PWG 5100.12 section 6.2 - Required Printer Description Attributes"
30*5e7646d2SAndroid Build Coastguard Worker	OPERATION Get-Printer-Attributes
31*5e7646d2SAndroid Build Coastguard Worker	GROUP operation-attributes-tag
32*5e7646d2SAndroid Build Coastguard Worker	ATTR charset attributes-charset utf-8
33*5e7646d2SAndroid Build Coastguard Worker	ATTR naturalLanguage attributes-natural-language en
34*5e7646d2SAndroid Build Coastguard Worker	ATTR uri printer-uri $uri
35*5e7646d2SAndroid Build Coastguard Worker	ATTR name requesting-user-name $user
36*5e7646d2SAndroid Build Coastguard Worker	ATTR mimeMediaType document-format application/octet-stream
37*5e7646d2SAndroid Build Coastguard Worker
38*5e7646d2SAndroid Build Coastguard Worker	STATUS successful-ok
39*5e7646d2SAndroid Build Coastguard Worker
40*5e7646d2SAndroid Build Coastguard Worker	# Figure out capabilities
41*5e7646d2SAndroid Build Coastguard Worker	EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true DEFINE-MATCH PRINTER_IS_COLOR
42*5e7646d2SAndroid Build Coastguard Worker
43*5e7646d2SAndroid Build Coastguard Worker	# Job template attributes
44*5e7646d2SAndroid Build Coastguard Worker	EXPECT copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
45*5e7646d2SAndroid Build Coastguard Worker	EXPECT copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag
46*5e7646d2SAndroid Build Coastguard Worker	EXPECT finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag
47*5e7646d2SAndroid Build Coastguard Worker	EXPECT finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3
48*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$MEDIA_REGEX"
49*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
50*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
51*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
52*5e7646d2SAndroid Build Coastguard Worker	EXPECT orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6
53*5e7646d2SAndroid Build Coastguard Worker	EXPECT output-bin-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
54*5e7646d2SAndroid Build Coastguard Worker	EXPECT output-bin-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
55*5e7646d2SAndroid Build Coastguard Worker	EXPECT print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
56*5e7646d2SAndroid Build Coastguard Worker	EXPECT print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
57*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
58*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
59*5e7646d2SAndroid Build Coastguard Worker	EXPECT sides-default OF-TYPE keyword IN-GROUP printer-attributes-tag COUNT 1 WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
60*5e7646d2SAndroid Build Coastguard Worker	EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
61*5e7646d2SAndroid Build Coastguard Worker
62*5e7646d2SAndroid Build Coastguard Worker	# Optional media-col support
63*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media-col-default OF-TYPE collection IN-GROUP printer-attributes-tag COUNT 1
64*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media-col-ready OF-TYPE collection IN-GROUP printer-attributes-tag
65*5e7646d2SAndroid Build Coastguard Worker	EXPECT ?media-col-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
66*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-back-coating DEFINE-MATCH HAVE_MEDIA_BACK_COATING
67*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-color DEFINE-MATCH HAVE_MEDIA_COLOR
68*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-front-coating DEFINE-MATCH HAVE_MEDIA_FRONT_COATING
69*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-grain DEFINE-MATCH HAVE_MEDIA_GRAIN
70*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-hole-count DEFINE-MATCH HAVE_MEDIA_HOLE_COUNT
71*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-info DEFINE-MATCH HAVE_MEDIA_INFO
72*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-key DEFINE-MATCH HAVE_MEDIA_KEY
73*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-order-count DEFINE-MATCH HAVE_MEDIA_ORDER_COUNT
74*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-pre-printed DEFINE-MATCH HAVE_MEDIA_PRE_PRINTED
75*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-recycled DEFINE-MATCH HAVE_MEDIA_RECYCLED
76*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-size DEFINE-MATCH HAVE_MEDIA_SIZE
77*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-tooth DEFINE-MATCH HAVE_MEDIA_TOOTH
78*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-type DEFINE-MATCH HAVE_MEDIA_TYPE
79*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-col-supported WITH-VALUE media-weight-metric DEFINE-MATCH HAVE_MEDIA_WEIGHT_METRIC
80*5e7646d2SAndroid Build Coastguard Worker
81*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-back-coating-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_BACK_COATING
82*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-color-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_COLOR
83*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-front-coating-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_FRONT_COATING
84*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-grain-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_GRAIN
85*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-hole-count-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >-1 IF-DEFINED HAVE_MEDIA_HOLE_COUNT
86*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-info-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_INFO
87*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-key-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_KEY
88*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-order-count-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0 IF-DEFINED HAVE_MEDIA_ORDER_COUNT
89*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-pre-printed-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_PRE_PRINTED
90*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-recycled-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_RECYCLED
91*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-size-supported OF-TYPE collection IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_SIZE
92*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-tooth-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_TOOTH
93*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-type-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_TYPE
94*5e7646d2SAndroid Build Coastguard Worker	EXPECT media-weight-metric-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >-1 IF-DEFINED HAVE_MEDIA_WEIGHT_METRIC
95*5e7646d2SAndroid Build Coastguard Worker
96*5e7646d2SAndroid Build Coastguard Worker	# Printer description attributes
97*5e7646d2SAndroid Build Coastguard Worker	EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
98*5e7646d2SAndroid Build Coastguard Worker	EXPECT pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
99*5e7646d2SAndroid Build Coastguard Worker	EXPECT pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED PRINTER_IS_COLOR
100*5e7646d2SAndroid Build Coastguard Worker	EXPECT !pages-per-minute-color IF-NOT-DEFINED PRINTER_IS_COLOR
101*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
102*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
103*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
104*5e7646d2SAndroid Build Coastguard Worker	EXPECT printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
105*5e7646d2SAndroid Build Coastguard Worker}
106