File: 3_zoom.t

package info (click to toggle)
libgtk3-imageview-perl 12-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 224 kB
  • sloc: perl: 1,160; makefile: 4
file content (35 lines) | stat: -rw-r--r-- 1,244 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
use warnings;
use strict;
use Test::More tests => 7;
use Test::Deep;

BEGIN {
    use Glib qw/TRUE FALSE/;
    use Gtk3 -init;
    use_ok('Gtk3::ImageView');
}

my $window = Gtk3::Window->new('toplevel');
$window->set_size_request( 300, 200 );
my $view  = Gtk3::ImageView->new;
my $scale = $view->get('scale-factor');
$window->add($view);
$window->show_all;
$view->set_pixbuf( Gtk3::Gdk::Pixbuf->new_from_file('t/bigpic.svg'), TRUE );
cmp_deeply( $view->get_zoom, num( 0.2 * $scale, 0.0001 ), 'shrinked' );
$view->set_zoom(1);

# the transp-green picture is 100x100 which is less than 200.
$view->set_pixbuf( Gtk3::Gdk::Pixbuf->new_from_file('t/transp-green.svg'),
    FALSE );
is( $view->get_zoom, 1, 'picture fully visible' );
$view->set_pixbuf( Gtk3::Gdk::Pixbuf->new_from_file('t/transp-green.svg'),
    TRUE );
is( $view->get_zoom, 2 * $scale, 'zoomed' );
$view->set_fitting(TRUE);
is( $view->get_zoom, $scale, 'no need to zoom' );
$view->set_pixbuf( Gtk3::Gdk::Pixbuf->new_from_file('t/transp-green.svg'),
    TRUE );
is( $view->get_zoom, $scale, 'no need to zoom even when TRUE' );
$view->set_pixbuf( Gtk3::Gdk::Pixbuf->new_from_file('t/bigpic.svg'), TRUE );
cmp_deeply( $view->get_zoom, num( 0.2 * $scale, 0.0001 ), 'still shrinked' );