]> git.ipfire.org Git - thirdparty/cups.git/blame - test/ipp-2.0.test
Save work on new ipptool using IPP data file parser.
[thirdparty/cups.git] / test / ipp-2.0.test
CommitLineData
f8b3a85b 1#
35fc2243 2# IPP/2.0 test suite.
f8b3a85b 3#
35fc2243
MS
4# Copyright 2007-2017 by Apple Inc.
5# Copyright 2001-2006 by Easy Software Products. All rights reserved.
f8b3a85b 6#
35fc2243
MS
7# These coded instructions, statements, and computer programs are the
8# property of Apple Inc. and are protected by Federal copyright
9# law. Distribution and use rights are outlined in the file "LICENSE.txt"
10# which should have been included with this file. If this file is
11# file is missing or damaged, see the license at "http://www.cups.org/".
f8b3a85b
MS
12#
13# Usage:
14#
aaf19ab0 15# ./ipptool -V 2.0 -f filename -t printer-uri ipp-2.0.test
f8b3a85b
MS
16#
17
18# Do all of the IPP/1.1 tests as an IPP/2.0 client
19#
35fc2243 20# Required by: PWG 5100.12 section 4.1
f8b3a85b
MS
21INCLUDE "ipp-1.1.test"
22
23
7cf5915e 24# Regular expression for PWG media size names (eek!)
82cc1f9a 25DEFINE 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)$$/"
7cf5915e
MS
26
27
f8b3a85b
MS
28# Test required printer description attribute support.
29#
83e08001 30# Required by: PWG 5100.12 section 6.2
f8b3a85b 31{
83e08001 32 NAME "PWG 5100.12 section 6.2 - Required Printer Description Attributes"
f8b3a85b
MS
33 OPERATION Get-Printer-Attributes
34 GROUP operation-attributes-tag
35 ATTR charset attributes-charset utf-8
36 ATTR naturalLanguage attributes-natural-language en
37 ATTR uri printer-uri $uri
38 ATTR name requesting-user-name $user
39 ATTR mimeMediaType document-format application/octet-stream
40
41 STATUS successful-ok
42
7cf5915e
MS
43 # Figure out capabilities
44 EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE true DEFINE-MATCH PRINTER_IS_COLOR
45
f8b3a85b 46 # Job template attributes
aaf19ab0
MS
47 EXPECT copies-default OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE >0
48 EXPECT copies-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag
49 EXPECT finishings-default OF-TYPE enum IN-GROUP printer-attributes-tag
50 EXPECT finishings-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3
d7225fc2 51 EXPECT media-default OF-TYPE no-value|keyword|name IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "$MEDIA_REGEX"
82cc1f9a
MS
52 EXPECT ?media-ready OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
53 EXPECT media-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag WITH-ALL-VALUES "$MEDIA_REGEX"
d7225fc2 54 EXPECT orientation-requested-default OF-TYPE no-value|enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5,6
aaf19ab0
MS
55 EXPECT orientation-requested-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5,6
56 EXPECT output-bin-default OF-TYPE keyword|name IN-GROUP printer-attributes-tag COUNT 1
57 EXPECT output-bin-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag
58 EXPECT print-quality-default OF-TYPE enum IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE 3,4,5
59 EXPECT print-quality-supported OF-TYPE enum IN-GROUP printer-attributes-tag WITH-VALUE 3,4,5
60 EXPECT printer-resolution-default OF-TYPE resolution IN-GROUP printer-attributes-tag COUNT 1
61 EXPECT printer-resolution-supported OF-TYPE resolution IN-GROUP printer-attributes-tag
82cc1f9a
MS
62 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)$$/"
63 EXPECT sides-supported OF-TYPE keyword IN-GROUP printer-attributes-tag WITH-ALL-VALUES "/^(one-sided|two-sided-long-edge|two-sided-short-edge)$$/"
f8b3a85b 64
d7225fc2
MS
65 # Optional media-col support
66 EXPECT ?media-col-default OF-TYPE collection IN-GROUP printer-attributes-tag COUNT 1
67 EXPECT ?media-col-ready OF-TYPE collection IN-GROUP printer-attributes-tag
68 EXPECT ?media-col-supported OF-TYPE keyword IN-GROUP printer-attributes-tag
69 EXPECT media-col-supported WITH-VALUE media-back-coating DEFINE-MATCH HAVE_MEDIA_BACK_COATING
70 EXPECT media-col-supported WITH-VALUE media-color DEFINE-MATCH HAVE_MEDIA_COLOR
71 EXPECT media-col-supported WITH-VALUE media-front-coating DEFINE-MATCH HAVE_MEDIA_FRONT_COATING
72 EXPECT media-col-supported WITH-VALUE media-grain DEFINE-MATCH HAVE_MEDIA_GRAIN
73 EXPECT media-col-supported WITH-VALUE media-hole-count DEFINE-MATCH HAVE_MEDIA_HOLE_COUNT
74 EXPECT media-col-supported WITH-VALUE media-info DEFINE-MATCH HAVE_MEDIA_INFO
75 EXPECT media-col-supported WITH-VALUE media-key DEFINE-MATCH HAVE_MEDIA_KEY
76 EXPECT media-col-supported WITH-VALUE media-order-count DEFINE-MATCH HAVE_MEDIA_ORDER_COUNT
77 EXPECT media-col-supported WITH-VALUE media-pre-printed DEFINE-MATCH HAVE_MEDIA_PRE_PRINTED
78 EXPECT media-col-supported WITH-VALUE media-recycled DEFINE-MATCH HAVE_MEDIA_RECYCLED
79 EXPECT media-col-supported WITH-VALUE media-size DEFINE-MATCH HAVE_MEDIA_SIZE
80 EXPECT media-col-supported WITH-VALUE media-tooth DEFINE-MATCH HAVE_MEDIA_TOOTH
81 EXPECT media-col-supported WITH-VALUE media-type DEFINE-MATCH HAVE_MEDIA_TYPE
82 EXPECT media-col-supported WITH-VALUE media-weight-metric DEFINE-MATCH HAVE_MEDIA_WEIGHT_METRIC
83
84 EXPECT media-back-coating-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_BACK_COATING
85 EXPECT media-color-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_COLOR
86 EXPECT media-front-coating-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_FRONT_COATING
87 EXPECT media-grain-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_GRAIN
88 EXPECT media-hole-count-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >-1 IF-DEFINED HAVE_MEDIA_HOLE_COUNT
89 EXPECT media-info-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_INFO
90 EXPECT media-key-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_KEY
91 EXPECT media-order-count-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >0 IF-DEFINED HAVE_MEDIA_ORDER_COUNT
92 EXPECT media-pre-printed-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_PRE_PRINTED
93 EXPECT media-recycled-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_RECYCLED
94 EXPECT media-size-supported OF-TYPE collection IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_SIZE
95 EXPECT media-tooth-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_TOOTH
96 EXPECT media-type-supported OF-TYPE keyword|name IN-GROUP printer-attributes-tag IF-DEFINED HAVE_MEDIA_TYPE
97 EXPECT media-weight-metric-supported OF-TYPE rangeOfInteger IN-GROUP printer-attributes-tag WITH-VALUE >-1 IF-DEFINED HAVE_MEDIA_WEIGHT_METRIC
98
f8b3a85b 99 # Printer description attributes
aaf19ab0
MS
100 EXPECT color-supported OF-TYPE boolean IN-GROUP printer-attributes-tag COUNT 1
101 EXPECT pages-per-minute OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1
7cf5915e
MS
102 EXPECT pages-per-minute-color OF-TYPE integer IN-GROUP printer-attributes-tag COUNT 1 IF-DEFINED PRINTER_IS_COLOR
103 EXPECT !pages-per-minute-color IF-NOT-DEFINED PRINTER_IS_COLOR
aaf19ab0
MS
104 EXPECT printer-info OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
105 EXPECT printer-location OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
106 EXPECT printer-make-and-model OF-TYPE text IN-GROUP printer-attributes-tag COUNT 1 WITH-VALUE "/^.{0,127}$$/"
107 EXPECT printer-more-info OF-TYPE uri IN-GROUP printer-attributes-tag COUNT 1
f8b3a85b 108}