-- Test media_type set client_min_messages to warning; create extension if not exists pgtap; reset client_min_messages; begin; select plan(14); set search_path to camper, public; select has_domain('media_type'); select domain_type_is('media_type', 'text'); select lives_ok($$ select 'text/plain'::media_type $$, 'Should accept valid media types'); select lives_ok($$ select 'application/octet-stream'::media_type $$, 'Should accept media types with dashes'); select lives_ok($$ select 'application/x-abiword'::media_type $$, 'Should accept non-standard media types'); select lives_ok($$ select 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'::media_type $$, 'Should accept idiotic, but valid media types'); select lives_ok($$ select 'application/vnd.mozilla.xul+xml'::media_type $$, 'Should accept XML subtypes'); select lives_ok($$ select 'text/html;charset=utf-8'::media_type $$, 'Should accept media types with unquoted parameters'); select lives_ok($$ select 'text/html; charset="utf-8"'::media_type $$, 'Should accept media types with quoted parameters'); select throws_ok( $$ SELECT ''::media_type $$, 23514, null, 'Should reject empty strings' ); select throws_ok( $$ SELECT 'text plain'::media_type $$, 23514, null, 'Should reject types without separator' ); select throws_ok( $$ SELECT 'text/'::media_type $$, 23514, null, 'Should reject types without subtype' ); select throws_ok( $$ SELECT '/plain'::media_type $$, 23514, null, 'Should reject types without subtype' ); select throws_ok( $$ SELECT 'invalid/type'::media_type $$, 23514, null, 'Should reject imaginary types' ); select * from finish(); rollback;