-- Test to_color set client_min_messages to warning; create extension if not exists pgtap; reset client_min_messages; begin; set search_path to camper, public; select plan(20); select has_function('camper', 'to_color', array ['integer']); select function_lang_is('camper', 'to_color', array ['integer'], 'sql'); select function_returns('camper', 'to_color', array ['integer'], 'color'); select isnt_definer('camper', 'to_color', array ['integer']); select volatility_is('camper', 'to_color', array ['integer'], 'immutable'); select function_privs_are('camper', 'to_color', array ['integer'], 'guest', array['EXECUTE']); select function_privs_are('camper', 'to_color', array ['integer'], 'employee', array['EXECUTE']); select function_privs_are('camper', 'to_color', array ['integer'], 'admin', array['EXECUTE']); select function_privs_are('camper', 'to_color', array ['integer'], 'authenticator', array['EXECUTE']); select is( to_color(1122867), '#112233'); select is( to_color(0), '#000000'); select is( to_color(15), '#00000f'); select is( to_color(255), '#0000ff'); select is( to_color(4095), '#000fff'); select is( to_color(65535), '#00ffff'); select is( to_color(1048575), '#0fffff'); select is( to_color(16777215), '#ffffff'); select is( to_color(-1), '#ffffff'); select is( to_color(-559038737), '#deadbe'); select is( to_color(-2147483648), '#800000'); select * from finish(); rollback;