#!/usr/bin/perl -w use strict; use Gtk2::TestHelper tests => 32; # $Id$ my @depths = Gtk2::Gdk -> query_depths(); like($depths[0], qr/^\d+$/); my @types = Gtk2::Gdk -> query_visual_types(); ok(defined($types[0])); my @visuals = Gtk2::Gdk -> list_visuals(); isa_ok($visuals[0], "Gtk2::Gdk::Visual"); like(Gtk2::Gdk::Visual -> get_best_depth(), qr/^\d+$/); ok(defined(Gtk2::Gdk::Visual -> get_best_type())); isa_ok(my $visual = Gtk2::Gdk::Visual -> get_system(), "Gtk2::Gdk::Visual"); isa_ok(Gtk2::Gdk::Visual -> get_best(), "Gtk2::Gdk::Visual"); isa_ok(Gtk2::Gdk::Visual -> get_best_with_type($types[0]), "Gtk2::Gdk::Visual"); SKIP: { my $best = Gtk2::Gdk::Visual -> get_best_with_both($depths[0], $types[0]); skip 'best test', 1 unless defined $best; isa_ok($best, "Gtk2::Gdk::Visual"); } SKIP: { skip("get_best_with_depth seems to be broken in 2.2", 1) if ((Gtk2 -> GET_VERSION_INFO())[0] == 2 && (Gtk2 -> GET_VERSION_INFO())[1] == 2); isa_ok(Gtk2::Gdk::Visual -> get_best_with_depth($depths[0]), "Gtk2::Gdk::Visual"); } SKIP: { skip("GdkScreen is new in 2.2", 1) unless (Gtk2 -> CHECK_VERSION(2, 2, 0)); isa_ok($visual -> get_screen(), "Gtk2::Gdk::Screen"); } ok(defined($visual -> type)); ok(defined($visual -> byte_order)); like($visual -> colormap_size, qr/^\d+$/); like($visual -> bits_per_rgb, qr/^\d+$/); like($visual -> red_mask, qr/^\d+$/); like($visual -> red_shift, qr/^\d+$/); like($visual -> red_prec, qr/^\d+$/); like($visual -> green_mask, qr/^\d+$/); like($visual -> green_shift, qr/^\d+$/); like($visual -> green_prec, qr/^\d+$/); like($visual -> blue_mask, qr/^\d+$/); like($visual -> blue_shift, qr/^\d+$/); like($visual -> blue_prec, qr/^\d+$/); SKIP: { skip 'new 2.22 stuff', 8 unless Gtk2->CHECK_VERSION(2, 22, 0); my $visual = Gtk2::Gdk::Visual -> get_system(); my ($mask, $shift, $precision) = $visual -> get_blue_pixel_details(); ok(defined $mask && defined $shift && defined $precision); ($mask, $shift, $precision) = $visual -> get_green_pixel_details(); ok(defined $mask && defined $shift && defined $precision); ($mask, $shift, $precision) = $visual -> get_red_pixel_details(); ok(defined $mask && defined $shift && defined $precision); ok(defined $visual -> get_bits_per_rgb()); ok(defined $visual -> get_byte_order()); ok(defined $visual -> get_colormap_size()); ok(defined $visual -> get_depth()); ok(defined $visual -> get_visual_type()); } __END__ Copyright (C) 2004 by the gtk2-perl team (see the file AUTHORS for the full list). See LICENSE for more information.