#!/usr/bin/perl use strict; use warnings; use Test::More; use FindBin qw/$RealBin/; eval { require Win32::GuiTest; import Win32::GuiTest qw(:ALL); }; if ($@) { plan skip_all => 'Win32::GuiTest is required for this test'; } use t::lib::Padre; require t::lib::Padre::Win32; my $padre = t::lib::Padre::Win32::setup(); ############################## plan tests => 2; SendKeys("{LEFT}"); # no selection SendKeys("^+{O}"); sleep 1; # TODO "Open Selection" window should be in the air my @current_windows = FindWindowLike( 0, "^Open selection" ); is( scalar @current_windows, 1, q{'Open Selection' window found} ); SendKeys("Padre::Document::Perl"); sleep 1; SendKeys("{ENTER}"); sleep 2; # if there is only one matching file then this will already open the file # if there are two matching files then we will have a window opened with # the list of files and we have to select # "Choose file" my @choose_file = FindWindowLike( 0, "Choose File" ); if (@choose_file) { diag "More than one files found"; SendKeys("{ENTER}"); sleep 2; } # check if the Padre.pm is open. my @children = FindWindowLike( $padre, '', 'msctls_statusbar32' ); my $text = WMGetText( $children[0] ); like( $text, qr/Document.*Perl\.pm$/, 'get filename on statusbar' ); # Close it MenuSelect("&File|&Close"); SendKeys("%{F4}"); # Alt-F4 to exit sleep 1;