# Get Printer Description attributes using get-printer-attributes
{
	# The name of the test...
	NAME "Get Printer Description attributes using Get-Printer-Attributes"

	# The operation to use
	OPERATION Get-Printer-Attributes

	# Attributes, starting in the operation group...
	GROUP operation-attributes-tag
	ATTR charset attributes-charset utf-8
	ATTR language attributes-natural-language en
	ATTR uri printer-uri $uri
	ATTR keyword requested-attributes printer-description

	# What statuses are OK?
	STATUS successful-ok
	STATUS successful-ok-ignored-or-substituted-attributes

	# What attributes do we expect?
	EXPECT printer-name
	EXPECT printer-uri-supported
	EXPECT uri-security-supported
	EXPECT uri-authentication-supported
	EXPECT printer-state
	EXPECT printer-state-reasons
	EXPECT ipp-versions-supported
	EXPECT operations-supported
	EXPECT charset-configured
	EXPECT charset-supported
	EXPECT natural-language-configured
	EXPECT generated-natural-language-supported
	EXPECT document-format-default
	EXPECT document-format-supported
	EXPECT printer-is-accepting-jobs
	EXPECT queued-job-count
	EXPECT pdl-override-supported
	EXPECT printer-up-time
	EXPECT compression-supported
	EXPECT !copies-default
	EXPECT !copies-supported
	EXPECT !media-col-database
}
