diff options
author | Daniel Friesel <derf@finalrewind.org> | 2013-09-26 19:36:15 +0200 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2013-09-26 19:36:15 +0200 |
commit | 013b068c7650ab1ef92cab6a54da6abf39673eba (patch) | |
tree | d513070f538443b7d561c5e46f988a857741d9d0 /test/feh-scr.i | |
parent | f74385dec092224d046dddc02b731ee30405710f (diff) |
test re-organization and code cleanup
Diffstat (limited to 'test/feh-scr.i')
-rwxr-xr-x | test/feh-scr.i | 371 |
1 files changed, 0 insertions, 371 deletions
diff --git a/test/feh-scr.i b/test/feh-scr.i deleted file mode 100755 index d6d55b1..0000000 --- a/test/feh-scr.i +++ /dev/null @@ -1,371 +0,0 @@ -#!/usr/bin/env perl -use strict; -use warnings; -use 5.010; -use autodie qw/:all/; - -use Cwd; -use GD qw/:DEFAULT :cmp/; -use Test::More tests => 54; -use Time::HiRes qw/sleep/; -use X11::GUITest qw/:ALL/; - -my ($pid_xnest, $pid_twm); -my $win; -my ($width, $height); -my $pwd = getcwd(); -my $test_id = 0; - -$ENV{HOME} = 'test'; - -sub waitfor(&) { - my ($sub) = @_; - my $out; - for (1 .. 10) { - sleep(0.05); - $out = &{$sub}; - if ($out) { - return $out; - } - } - return 0; -} - -sub feh_start { - my ($opts, $files) = @_; - my $id; - - $opts //= q{}; - $files //= 'test/ok/png'; - - StartApp("feh ${opts} ${files}"); - ($id) = WaitWindowViewable(qr{^feh}); - - if (not $id) { - BAIL_OUT("Unable to start feh ${opts} ${files}"); - } - - if (not SetInputFocus($id)) { - BAIL_OUT("Unable to focus window"); - } - - return $id; -} - -sub feh_stop { - SendKeys('{ESC}'); - if (not waitfor { not FindWindowLike(qr{^feh}) }) { - BAIL_OUT("Unclosed feh window still open, cannot continue"); - } -} - -sub same_files { - my ($one, $two) = @_; - - my $img_one = GD::Image->new($one); - my $img_two = GD::Image->new($two); - - if (not defined $img_one or not defined $img_two) { - return 0; - } - - return( ! ($img_one->compare($img_two) & GD_CMP_IMAGE)); -} - -sub check_scr { - my ($file) = @_; - - system("import -silent -window root /tmp/feh_${$}.png"); - - return same_files("test/scr/${file}", "/tmp/feh_${$}.png"); -} - -sub test_scr { - my ($file) = @_; - my $msg = "X root window is test/scr/${file}"; - - $test_id++; - - if (waitfor { check_scr($file) }) { - pass($msg); - } - else { - fail($msg); - rename("/tmp/feh_${$}.png", "/tmp/feh_${$}_${test_id}_${file}.png"); - } -} - -if (FindWindowLike(qr{^feh})) { - BAIL_OUT('It appears you have an open feh window. Please close it.'); -} - -feh_start( - "--draw-actions --draw-filename --info 'echo foo; echo bar' " - . '--action quux --action5 baz --action8 "nrm \'%f\'"', - 'test/bg/exact/in test/bg/large/w/in test/bg/large/h/in' -); -test_scr('draw_all_multi'); -feh_stop(); - -feh_start( - "--draw-actions --draw-filename --info 'echo foo; echo bar' " - . '--action quux --action5 baz --action8 "nrm \'%f\'"', - 'test/bg/exact/in' -); -test_scr('draw_all_one'); -feh_stop(); - -feh_start( - '--fullscreen', - 'test/bg/large/w/in' -); -test_scr('feh_full_lwi'); -feh_stop(); - -feh_start( - q{}, - 'test/bg/large/w/in' -); -test_scr('feh_lwi'); - -SendKeys('^({RIG})'); -test_scr('feh_lwi_scroll_r'); - -SendKeys('^({DOW})'); -test_scr('feh_lwi_scroll_rd'); - -SendKeys('^({RIG})'); -test_scr('feh_lwi_scroll_rdr'); - -SendKeys('^({UP})'); -test_scr('feh_lwi_scroll_rdru'); - -SendKeys('^({LEF})'); -test_scr('feh_lwi_scroll_rdrul'); - -feh_stop(); - -feh_start( - '--scale-down', - 'test/bg/large/w/in' -); -test_scr('feh_scaledown_lwi'); -feh_stop(); - -feh_start( - '--thumbnails', - 'test/ok/gif test/ok/jpg test/ok/png test/ok/pnm' -); -test_scr('thumbnail_default'); -feh_stop(); - -feh_start( - '--index --limit-width 400', - 'test/ok/gif test/ok/jpg test/ok/png test/ok/pnm' -); -test_scr('index_w400'); -feh_stop(); - -feh_start( - '--fullindex --limit-width 400', - 'test/ok/gif test/ok/jpg test/ok/png test/ok/pnm' -); -test_scr('index_full_w400'); -feh_stop(); - -feh_start( - '--index --limit-width 400 --index-info "%n\n%S\n%wx%h"', - 'test/ok/gif test/ok/jpg test/ok/png test/ok/pnm' -); -test_scr('index_full_w400'); -feh_stop(); - -feh_start( - '--index --limit-height 400', - 'test/ok/gif test/ok/jpg test/ok/png test/ok/pnm' -); -test_scr('index_h400'); -feh_stop(); - -feh_start( - '--fullindex --limit-height 400', - 'test/ok/gif test/ok/jpg test/ok/png test/ok/pnm' -); -test_scr('index_full_h400'); -feh_stop(); - -feh_start( - '--geometry +10+20', - 'test/ok/png' -); -test_scr('geometry_offset_only'); -feh_stop(); - -feh_start( - '--caption-path .tc', - 'test/bg/exact/in' -); -test_scr('caption_none'); - -SendKeys('c'); -test_scr('caption_new'); - -SendKeys('Picknick im Zenit metaphysischen Wiederscheins der astralen Kuhglocke'); -test_scr('caption_while'); - -SendKeys('~'); -test_scr('caption_done'); - -SendKeys('c'); -test_scr('caption_while'); - -SendKeys('{BKS}' x 80); -test_scr('caption_new'); - -SendKeys('~'); -test_scr('caption_none'); - -SendKeys('cfoobar{ESC}'); -test_scr('caption_none'); - -feh_stop(); - -feh_start( - '--info "echo \'%f\n%wx%h\'"', - 'test/bg/exact/in' -); -test_scr('draw_info'); -feh_stop(); - -feh_start( - '--info "echo \'%f\n%wx%h\'" --draw-tinted', - 'test/bg/exact/in' -); -test_scr('draw_info_tinted'); -feh_stop(); - -feh_start( - '--draw-actions --action8 "nrm \'%f\'"', - 'test/bg/exact/in' -); -test_scr('draw_action'); -feh_stop(); - -feh_start( - '--draw-actions --action8 "nrm \'%f\'" --draw-tinted', - 'test/bg/exact/in' -); -test_scr('draw_action_tinted'); -feh_stop(); - -feh_start( - '--draw-filename', - 'test/bg/exact/in' -); -test_scr('draw_filename'); -feh_stop(); - -feh_start( - '--draw-filename --draw-tinted', - 'test/bg/exact/in' -); -test_scr('draw_filename_tinted'); -feh_stop(); - -feh_start( - '--draw-filename --draw-actions --action8 "nrm \'%f\'"', - 'test/bg/exact/in' -); -test_scr('draw_filename_action'); -feh_stop(); - -feh_start( - '--draw-filename --draw-actions --action8 "nrm \'%f\'" --draw-tinted', - 'test/bg/exact/in' -); -test_scr('draw_filename_action_tinted'); -feh_stop(); - -feh_start( - '--action8 "nrm \'%f\'"', - 'test/bg/exact/in' -); -test_scr('draw_nothing'); - -SendKeys('d'); -test_scr('draw_filename'); - -SendKeys('da'); -test_scr('draw_action'); - -SendKeys('d'); -test_scr('draw_filename_action'); - -SendKeys('da'); -test_scr('draw_nothing'); - -feh_stop(); - -feh_start( - '--draw-tinted', - 'test/bg/exact/in' -); -test_scr('draw_nothing'); -feh_stop(); - -feh_start(q{}, 'test/bg/large/h/in'); -test_scr('feh_lhi'); - -SendKeys('{UP}'); -test_scr('feh_lhi_i'); - -SendKeys('{UP}'); -test_scr('feh_lhi_ii'); - -SendKeys('^({RIG})'); -test_scr('feh_lhi_iir'); - -SendKeys('^({RIG})'); -test_scr('feh_lhi_iirr'); - -SendKeys('{UP}'); -test_scr('feh_lhi_iirri'); - -SendKeys('{DOW}'); -test_scr('feh_lhi_iirrio'); - -feh_stop(); - -feh_start(q{}, 'test/bg/large/h/in'); -test_scr('feh_lhi'); - -SendKeys('{DOW}'); -test_scr('feh_lhi_o'); - -SendKeys('{DOW}'); -test_scr('feh_lhi_oo'); - -SendKeys('{DOW}'); -test_scr('feh_lhi_ooo'); - -feh_stop(); - -feh_start(q{}, 'test/bg/transparency'); -test_scr('feh_ibg_default'); -feh_stop(); - -feh_start('--image-bg checks', 'test/bg/transparency'); -test_scr('feh_ibg_default'); -feh_stop(); - -feh_start('--image-bg black', 'test/bg/transparency'); -test_scr('feh_ibg_black'); -feh_stop(); - -feh_start('--image-bg white', 'test/bg/transparency'); -test_scr('feh_ibg_white'); -feh_stop(); - -unlink('test/bg/exact/.tc/in.txt'); -rmdir('test/bg/exact/.tc'); -unlink("/tmp/feh_${$}.png"); |