diff options
Diffstat (limited to 'xmerge/source/palmtests/qa/lib/converterlib.pm')
-rw-r--r-- | xmerge/source/palmtests/qa/lib/converterlib.pm | 1174 |
1 files changed, 0 insertions, 1174 deletions
diff --git a/xmerge/source/palmtests/qa/lib/converterlib.pm b/xmerge/source/palmtests/qa/lib/converterlib.pm deleted file mode 100644 index d4e4eb6ea649..000000000000 --- a/xmerge/source/palmtests/qa/lib/converterlib.pm +++ /dev/null @@ -1,1174 +0,0 @@ -#!/usr/bin/perl -######################################################################### - - #************************************************************************* - # -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# OpenOffice.org is free software: you can redistribute it and/or modify -# it under the terms of the GNU Lesser General Public License version 3 -# only, as published by the Free Software Foundation. -# -# OpenOffice.org is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Lesser General Public License version 3 for more details -# (a copy is included in the LICENSE file that accompanied this code). -# -# You should have received a copy of the GNU Lesser General Public License -# version 3 along with OpenOffice.org. If not, see -# <http://www.openoffice.org/license.html> -# for a copy of the LGPLv3 License. -# - #************************************************************************* - -#################################################################### -# File Name: converterlib.pm -# Version : 1.0 -# Project : XMerge -# Author : Brian Cameron -# Date : 5th Sept. 2001 -# -# This script enters text at position x,y on screen. -# -# Parameter -# x-coordinate -# y-coordinate -# Text to enter -# -########################################################################## - -use EmRPC; # EmRPC::OpenConnection, CloseConnection -use EmFunctions; -use EmUtils; - -# Set global_debug flag -# -$global_debug = $ENV{'ZENDEBUG'}; -#$em_script_home = "/export/home/test/qadir/bin"; -$em_script_home = $ENV{'EM_SCRIPT_HOME'}; -#$qa_script_home = "/export/home/test/qadir/qa-new/bin"; - $qa_script_home = $ENV{'QA_SCRIPT_HOME'}; -# -# CONVERT FUNCTIONS -# - -# convert_to_pdb -# directory - directory containing the xml-orig and pdb-orig -# subdirectories. -# file - file to convert -# extension - extension of file to convert (sxw or sxc) -# convert_to - what PDB format to convert into. -# -# Returns 0 if success, -1 otherwise. -# -# Converts file from XML to PDB -# -sub convert_to_pdb -{ - my $directory = $_[0]; - my $file = $_[1]; - my $extension = $_[2]; - my $convert_to = $_[3]; - my $pdb_directory = $_[4]; - my $rc = 0; - my $xmlfile = "$directory/$file.$extension"; - my $pdbdir = "$pdb_directory"; - - &enter_func("convert_to_pdb"); - - if (! -f "$xmlfile") - { - print "\nERROR, file $xmlfile does not exist\n"; - $rc = -1; - } - if (! -d "$pdbdir") - { - print "\nERROR, directory $directory/pdb-orig does not exist\n"; - $rc = -1; - } - - if ($rc != -1) - { - if ("$convert_to" eq "application/x-minicalc") - { - # Move all files over. - # - my $i = 1; - - while (-f "$pdbdir/$file-Sheet$i.pdb") - { - my $pdbfile = "$pdbdir/$file-Sheet$i.pdb"; - - print "\n"; - - if (-f "$pdbfile.old") - { - print "Removing $pdbfile.old\n"; - `/bin/rm -f $pdbfile.old`; - } - - print "Moving $pdbfile file to $pdbfile.old\n"; - `mv "$pdbfile" "$pdbfile.old"`; - - $i++; - } - } - else - { - if (-f "$pdbdir/$file.pdb") - { - print "\n"; - - if (-f "$pdbdir/$file.pdb.old") - { - print "Removing $pdbdir/$file.pdb.old\n"; - `/bin/rm -f $pdbdir/$file.pdb.old`; - } - - print "Moving $pdbdir/$file.pdb file to $pdbdir/$file.pdb.old\n"; - `mv "$pdbdir/$file.pdb" "$pdbdir/$file.pdb.old"` - } - } - - &start_rd($extension, $convert_to, $xmlfile, ""); - - if ("$convert_to" eq "application/x-minicalc") - { - # Must handle minicalc separately since it can - # convert to multiple files with this file name - # convention. - # - print "Moving $file-Sheet*.pdb files to $pdbdir\n"; - `mv $file-Sheet*.pdb $pdbdir`; - `chmod 666 $pdbdir/$file-*.pdb`; - } - else - { - print "Moving $file.pdb file to $pdbdir\n"; - `mv $file.pdb $pdbdir`; - `chmod 666 $pdbdir/$file.pdb`; - } - } - - &leave_func("convert_to_pdb"); - - return $rc; -} - -# convert_to_xml -# xmldir - directory to contain the xml output. -# xmlorigdir - directory to contain the xml input (used for merge) -# pdbfile - file to convert -# convert_from - what PDB format to convert from. -# extension - extension of file to convert (sxw or sxc) -# output - output filename to create -# merge_opt - 1 if convert and merge, 0 if convert only -# -# Returns 0 if success, -1 otherwise. -# -# Converts file from PDB to XML -# -sub convert_to_xml -{ - my $xmldir = $_[0]; - my $xmlorigdir = $_[1]; - my $pdbfile = $_[2]; - my $convert_from = $_[3]; - my $extension = $_[4]; - my $output = $_[5]; - my $merge_opt = $_[6]; - my $rc = 0; - - &enter_func("convert_to_xml"); - - my @args = split(/ /,$pdbfile); - - for ($i=0;$i <= $#args; $i++) - { - if (! -f "@args[$i]") - { - print "\nERROR, file $pdbfile does not exist\n"; - $rc = -1; - } - } - - if (! -f "$xmlorigdir/$output.$extension") - { - print "\nERROR, file $xmlorigdir/$output.$extension does not exist\n"; - $rc = -1; - } - if (! -d "$xmldir") - { - print "\nERROR, directory $xmlorigdir does not exist\n"; - $rc = -1; - } - if (! -d "$xmlorigdir") - { - print "\nERROR, directory $xmldir does not exist\n"; - $rc = -1; - } - - if ($rc != -1) - { - if ($merge_opt == 1) - { - print "Copying <$xmlorigdir/$output.$extension> to <$xmldir>\n"; - `cp $xmlorigdir/$output.$extension $xmldir/`; - - my $check_stamp = (stat("$xmldir/$output.$extension"))[9]; - - &start_rd($convert_from, $extension, $pdbfile, - "$xmldir/$output.$extension"); - - - # No need to move the file to the $xmldir since the merge - # argument specifies the output file. - - my $check_stamp_update = (stat("$xmldir/$output.$extension"))[9]; - if ($check_stamp eq $check_stamp_update) - { - print "\nERROR, Problem while merging <$xmldir/$output.$extension>\n"; - `mv $xmldir/$output.$extension $xmldir/$output.$extension.err`; - } - } - else - { - &start_rd($convert_from, $extension, $pdbfile, ""); - - print "Moving $output.$extension to $xmldir\n"; - `mv $output.$extension $xmldir`; - `chmod 666 $xmldir/$output.$extension`; - } - } - - &leave_func("convert_to_xml"); - - return $rc; -} - -# start_rd -# from - format to convert from -# to - format to convert to -# file - file to convert -# merge - merge filename ("" indicates convert-only with no merge) -# -# converts file from/to the specified formats. -# -sub start_rd -{ - my $from = $_[0]; - my $to = $_[1]; - my $file = $_[2]; - my $merge = $_[3]; - - print "\nConverting from $from to $to.\n"; - if ($global_debug) - { - &print_debug ("rd command is:\n"); - } - - if ($merge eq "") - { - &print_debug (" $em_script_home/rd -from $from -to $to $file\n"); - print "\nConverting from $from to $to with no merge.\n"; - `$em_script_home/rd -from $from -to $to $file`; - } - else - { - &print_debug (" $em_script_home/rd -from $from -to $to -merge $merge $file\n"); - print "\nConverting from $from to $to with merge.\n"; - `$em_script_home/rd -from $from -to $to -merge $merge $file`; - } - - print "Done converting.\n\n"; -} - -# -# POSE INTERACTION FUNCTIONS -# - -# open_connection -# display_debug - debug will be displayed if not 0 -# -# Opens the connection to pose. -# -sub open_connection -{ - my $display_debug = $_[0]; - my $rc; - - EmRPC::OpenConnection(6415, "localhost"); - - if ($display_debug && $global_debug) - { - print "\nPose Connection Opened\n"; - } -} - -# close_connection -# display_debug - debug will be displayed if not 0 -# -# Closes the connection to pose. -# -sub close_connection -{ - my $display_debug = $_[0]; - - EmRPC::CloseConnection(); - - if ($display_debug && $global_debug) - { - print "\nPose Connection Closed\n"; - } -} - -# start_pose -# pose_exe - name of pose executable. -# apps_load - The PRC files to load into pose, can be a comma -# separated list. -# run_prog - Program to run at startup. -# timeout - Timeout value to use when starting pose. -# -# Starts the Palm OS Emulator, loads PRC files, and starts -# a program. -# -sub start_pose -{ - my $pose_exe = $_[0]; - my $sessionfile = $ENV{'EM_SESSION_FILE'}; - my $romfile = $ENV{'EM_ROM_FILE'}; - my $apps_load = $_[1]; - my $run_prog = $_[2]; - my $timeout = $_[3]; - my $stay_in_loop = 1; - my $address; - my $title; - my $form; - my $label_id; - my $num_objects; - my $i; - my $ii; - my $rc = 1; - - my $pose_cmd = "$pose_exe "; - $pose_cmd .= " -psf $sessionfile "; - $pose_cmd .= "-load_apps $apps_load "; - $pose_cmd .= "-run_app $run_prog"; - -# It is more effective to use the -psf argument to -# set these values. -# -# $pose_cmd .= -rom $romfile "; -# $pose_cmd .= "-ram_size 8192 "; -# $pose_cmd .= "-device PalmVx "; - - &enter_func("start_pose"); - - if ($global_debug) - { - &print_debug("\n"); - &print_debug("pose command is:\n"); - &print_debug(" $pose_cmd\n"); - } - - print "\nLaunching pose...\n"; - system ("$pose_cmd &"); - - # Give time for pose to get started... - # - for ($i=0; $i < $timeout; $i++) - { - $tmp = $i + 1; - print "$tmp\n"; - - # Do not use pose_sleep here - # - sleep(1); - } - - # Verify pose started successfully, and fail otherwise... - # - $rc = &verify_pose(5); - if ($rc != 0) - { - $stay_in_loop = 0; - } - else - { - # Sleep before opening the connection again, after testing in - # the verify_pose function. - # - pose_sleep(2); - &open_connection(1); - print "\nChecking if the appropriate window is on screen...\n"; - } - - # Stop looping when the specified window has started. - # - for ($i=0; $i < $timeout && $stay_in_loop == 1; $i++) - { - $form = FrmGetActiveForm(); - $num_objects = FrmGetNumberOfObjects($form); - - for $ii (0..$num_objects - 1) - { - my ($object_type) = FrmGetObjectType($form, $ii); - - if ("$run_prog" eq "Quickword") - { - if ($object_type == frmTitleObj) - { - ($address, $title) = FrmGetTitle($form,); - - # Display count and title. - # - $tmp = $i + 1; - print "$tmp - title is $title\n"; - - if ("$title" eq "Quickword") - { - $stay_in_loop = 0; - $rc = 0; - last; - } - } - } - elsif ("$run_prog" eq "MiniCalc") - { - if ($object_type == frmLabelObj) - { - $label_id = FrmGetObjectId ($form, $ii); - ($address, $label) = FrmGetLabel($form, $label_id); - - # Display count and label. - # - $tmp = $i + 1; - print "$tmp - label is $label\n"; - if ("$label" =~ "Solutions In Hand") - { - $stay_in_loop = 0; - $rc = 0; - last; - } - } - } - } - - # Do not use pose_sleep here - # - sleep(1); - } - - # Do not use pose_sleep here - # - sleep(1); - - &leave_func("start_pose"); - return($rc); -} - -# kill_pose -# -# Kills all pose processes -# -sub kill_pose -{ - if ($global_debug) - { - print "Stopping pose process...\n"; - } - - `pkill pose`; -} - -# verify_pose -# timeout - timeout to wait for pose -# -# Tries to do a connect/close to Pose to see if -# it is working okay. -# -sub verify_pose -{ - my $timeout = $_[0]; - my $rc = 0; - - $rc = system("$em_script_home/verify_sane.pl $timeout"); - return $rc; -} - -# db_export -# dbname - Name of database to export -# -# Exports a palmdb file to /tmp -# -sub db_export -{ - my $dbname = $_[0]; - - &enter_func("db_export"); - print "\nExporting PDB file <$dbname> from pose\n"; - &pose_tap_pen(22, 20, 2); - &pose_tap_pen (15, 85, 2); - &enter_string($dbname, 1); - &pose_tap_pen (15, 126, 1); - &enter_string("/tmp/", 1); - &pose_tap_button("OK", 4); - &tap_applications(3); - print "Export of PDB file <$dbname> completed.\n"; - &leave_func("db_export"); -} - -# -# QUICKWORD SPECIFIC -# - -# start_quickword -# -# Assuming pose was launched with the -run_app flag to launch -# QuickWord on startup, this starts up QuickWord with the first -# file in the list and turns off write-protect. -# -sub start_quickword -{ - &enter_func("start_quickword"); - - # This will open the first file in the list. - # Assuming this will always be the case. - # - &pose_tap_pen(20, 18, 1); - &quickword_press_write_protect(); - - &leave_func("start_quickword"); -} - -# quickword_press_write_protect -# -# Useful function for pressing the write protect button -# to allow changes to be made. -# -sub quickword_press_write_protect -{ - &enter_func("quickword_press_write_protect"); - - my ($form) = FrmGetActiveForm(); - my ($num_objects) = FrmGetNumberOfObjects($form); - - for $ii (0..$num_objects - 1) - { - my ($object_type) = FrmGetObjectType($form, $ii); - - # The write protect button is the only frmGadgetObj - # on the QuickWord screen. - # - if ($object_type == frmGadgetObj) - { - my (%bounds) = FrmGetObjectBounds($form, $ii); - - if ($global_debug) - { - &print_debug(" Found QuickWord WriteProtect button\n"); - &print_debug(" left = $bounds{left}\n"); - &print_debug(" right = $bounds{right}\n"); - &print_debug(" top = $bounds{top}\n"); - &print_debug(" bottom = $bounds{bottom}\n"); - } - - # For some reason, the tapping of the write-protect button - # doesn't work unless you tap somewhere else first. - # - &pose_sleep(1); - &pose_tap_pen($bounds{left} + 2, $bounds{top} + 2, 1); - last; - } - } - - &leave_func("quickword_press_write_protect"); -} - -# quickword_find_replace -# from_string - string to replace -# to_string - string to replace with -# -# Uses QuickWord's find/replace utility to replace -# one string with another. -# -sub quickword_find_replace -{ - my $from_string = $_[0]; - my $to_string = $_[1]; - - &enter_func("quickword_find_replace"); - - # Move cursor to beginning... - # - &quickword_tap_at_top(1); - - # Move to "Find" field: - # Triple-click to highlight all the text in the field, - # so it is removed when the string is entered... - # - &pose_tap_button("Find", 2); - &pose_tap_pen(50, 100, 0); - &pose_tap_pen(50, 100, 0); - &pose_tap_pen(50, 100, 1); - - # sleep for 2 seconds to avoid double click after moving - # to replace field - # - &enter_string("$from_string", 2); - - # Move to "Replace" field: - # Triple-click to highlight all the text in the field, - # so it is removed when the string is entered... - # - &pose_tap_pen(50, 120, 0); - &pose_tap_pen(50, 120, 0); - &pose_tap_pen(50, 120, 1); - &enter_string("$to_string", 1); - - # Do find, then replace... - # - &pose_tap_button("Find", 1); - &pose_tap_button("Replace", 1); - &pose_tap_button("Cancel", 1); - - &leave_func("quickword_find_replace"); -} - -# quickword_tap_at_top -# secs - seconds to sleep after the tap -# -# Tap's at the top of the QuickWord document. -# -sub quickword_tap_at_top -{ - my $secs = $_[0]; - - &enter_func("quickword_tap_at_top"); - - # Sleep for a second to avoid any double-clicks - # from happening. - # - &pose_sleep(1); - - &pose_tap_pen(0, 15, $secs); - &leave_func("quickword_tap_at_top"); -} - -# Saves file and returns to the Application list. -# -sub close_quickword -{ - &enter_func("close_quickword"); - - &pose_tap_button("Done", 2); - &tap_applications(2); - - &leave_func("close_quickword"); -} - -# -# MINICALC SPECIFIC -# - -# start_minicalc -# -# Assuming pose was launched with the -run_app flag to launch -# Minicalc on startup, this starts up Minicalc with the first -# file in the list. -# -sub start_minicalc -{ - &enter_func("start_minicalc"); - &pose_tap_button("OK", 1); - - # For now just tap on the first spreadsheet. Add support - # for multiple sheets later. - # - &pose_tap_pen(10, 40, 5); - - &leave_func("start_minicalc"); -} - -# close_minicalc -# -# Returns to the Application list (no need to save). -# -sub close_minicalc -{ - &enter_func("close_minicalc"); - &tap_applications(3); - &leave_func("close_minicalc"); -} - -# minicalc_enter_cell -# row - row to enter value, starting with 1 -# col - column to enter value, starting with 1 -# val - value to enter -# -# Only valid for minicalc. -# -# This only works if the val passed in has a '\n' at the -# end. -# -sub minicalc_enter_cell -{ - my $row = $_[0]; - my $col = $_[1]; - my $val = $_[2]; - my $i; - my $j; - - &enter_func("minicalc_enter_cell"); - - if ($global_debug) - { - &print_debug (" tapping to cell row=<$row> col=<$col>\n"); - } - - # Tap pen on home button to start with row=1, col=A - # at top left. - # - pose_tap_pen(1, 1, 3); - - # Now the cell should be in the top-left corner, - # so click there. However we must first click - # in another cell or pose doesn't acknowledge the - # click. - # - # pose_tap_pen(120, 95, 1); - # pose_tap_pen(21, 9, 1); - - # Click the down button once for each row. - # Must pause 3 seconds each time, otherwise MiniCalc - # will not keep up. - # - for ($i=0; $i < $row; $i++) - { - if ($global_debug) - { - &print_debug (" Typing carrage return to go down\n"); - } - enter_string("\n", 1); - } - - # Click the right button once for each col. - # Must pause 3 seconds each time, otherwise MiniCalc - # will not keep up. - # - for ($i=0; $i < $col; $i++) - { - if ($global_debug) - { - &print_debug (" Typing tab to go right\n"); - } - - enter_string("\t", 1); - } - - # enter string - # - &enter_string($val, 1); - - &leave_func("minicalc_enter_cell"); -} - -# -# GENERIC UTILIIES (pose) -# - -# tap_applications -# secs - seconds to sleep after the tap -# -# taps pen on the Applications button. -# -sub tap_applications -{ - my $secs = $_[0]; - - &enter_func("tap_applications"); - - &pose_tap_pen(15, 170, 1); - &pose_tap_pen(155, 10, 1); - &pose_tap_pen(155, 10, $secs); - - &leave_func("tap_applications"); -} - -# enter_string_at_location -# x - x-location to enter string -# y - y-location to enter string -# in_string - string to enter -# application - appliation (QUICKWORD or MINICALC) -# -# Enters a string at the specified x,y position. -# -sub enter_string_at_location -{ - my $x_val = $_[0]; - my $y_val = $_[1]; - my $in_string = $_[2]; - my $application = $_[3]; - my $x; - my $y; - - &enter_func("enter_string_at_location"); - - $x = $x_val; - $y = $y_val; - - if ($application eq "QUICKWORD") - { - # Allow users to specify TOP/BOTTOM/LEFT/RIGHT - # for QuickWord. - # - if ($y_val eq "TOP") - { - if ($global_debug) - { - &print_debug(" Converting TOP to 15\n"); - } - - $y = 15; - } - if ($y_val eq "BOTTOM") - { - if ($global_debug) - { - &print_debug(" Converting BOTTOM to 144\n"); - } - - $y = 144; - } - if ($x_val eq "LEFT") - { - if ($global_debug) - { - &print_debug(" Converting LEFT to 0\n"); - } - - $x = 0; - } - if ($x_val eq "RIGHT") - { - if ($global_debug) - { - &print_debug(" Converting RIGHT to 152\n"); - } - - $x = 152; - } - } - - # Just to make sure the offset isn't outside the - # proper area. - # - if ($x >= 100) - { - $offset = -2; - } - else - { - $offset = 2; - } - - &off_tap_pen($x, $y, $offset); - &enter_string($in_string, 1); - - &leave_func("enter_string_at_location"); -} - -# off_tap_pen -# x - x-location to tap -# y - y-location to tap -# offset - x-offset to use for first tap. -# -# For some reason, pose does not register a single -# pen tap if the last single pen tap was also -# at the same x,y coordinate (even if the last tap -# was a while ago). So this function does two -# slightly different pen taps to ensure then pen -# tap happens. -# -sub off_tap_pen -{ - my $x = $_[0]; - my $y = $_[1]; - my $offset = $_[2]; - - &enter_func("off_tap_pen"); - - # sleep for 2 seconds to avoid double-click. - # - &pose_tap_pen_hard($x + $offset, $y, 2); - &pose_tap_pen_hard($x, $y, 1); - - &leave_func("off_tap_pen"); -} - -# enter_string -# in_string - string to enter -# secs - seconds to sleep after entering the string -# -# Enters a string -# -sub enter_string -{ - my $in_string = $_[0]; - my $secs = $_[1]; - my $j; - - &enter_func("enter_string"); - - if ($global_debug) - { - # Display in_string so \n and \t values - # show up as normal ASCII. - # - if ($in_string eq "\n") - { - &print_debug(" Entering string : <\\n>\n"); - } - elsif ($in_string eq "\t") - { - &print_debug(" Entering string : <\\t>\n"); - } - else - { - &print_debug(" Entering string : <$in_string>\n"); - } - } - - # Replace "\n" with real carrage returns. - # - my $string_val = $in_string; - $string_val =~ s#\\n#\n#g; - - # Replace "\t" with a real tab. - # - $string_val =~ s#\\t#\t#g; - - # Convert string to ASCII numeric values - # - my @array = unpack("C*", $string_val); - - # Enter string one key at a time. - # - for ($j=0; $j <= $#array; $j++) - { - $queue_size = EnterKey($array[$j], 0, 0); - } - - if ($secs > 0) - { - pose_sleep($secs); - } - - &leave_func("enter_string"); -} - -# -# GENERIC UTILIIES (non pose) -# - -# get_date_string -# -# Returns a timestampe string in yyyymmddHHMM format, where: -# yyyy = year -# mm = month -# dd = day -# HH = hour -# MM = minute -# -# This sort of datestamp is used to create the output directory -# names, so it used in various places. -# -sub get_date_string -{ - my $cur_secs = time; - my @lu = localtime $cur_secs; - my $lu_secs = $lu[1]; - my $lu_hours = $lu[2]; - my $lu_day = $lu[3]; - my $lu_mon = $lu[4] + 1; - my $lu_year = $lu[5] + 1900; - my $lu_str = $lu_year; - - if ($lu_mon < 10) - { - $lu_str .= "0"; - } - $lu_str .= $lu_mon; - - if ($lu_day < 10) - { - $lu_str .= "0"; - } - $lu_str .= $lu_day; - - if ($lu_hours < 10) - { - $lu_str .= "0"; - } - $lu_str .= $lu_hours; - - if ($lu_secs < 10) - { - $lu_str .= "0"; - } - $lu_str .= $lu_secs; - - return $lu_str; -} - -# -# DEBUG FUNCTIONS - Wrapper functions -# - -# pose_tap_pen -# x - x-position of pen tap -# y - y-position of pen tap -# secs - seconds to sleep after the tap -# -# Taps pen at specified position and displays debug info -# -sub pose_tap_pen -{ - my $x = $_[0]; - my $y = $_[1]; - my $secs = $_[2]; - - if ($global_debug) - { - &print_debug(" Tapping pen at : $x,$y\n"); - } - - TapPen($x, $y); - - if ($secs > 0) - { - pose_sleep($secs); - } -} - -# pose_tap_pen_hard -# x - x-position of pen tap -# y - y-position of pen tap -# secs - seconds to sleep after the tap -# -# Taps pen at specified position and displays debug info -# This function works more effectively in situations where -# pose_tap_pen is flakey. This function is not good for -# double/triple click situations since it is slow. -# -sub pose_tap_pen_hard -{ - my $x = $_[0]; - my $y = $_[1]; - my $secs = $_[2]; - - if ($global_debug) - { - &print_debug(" Tapping pen hard at : $x,$y\n"); - } - - `$qa_script_home/tappen.pl $x $y`; - - if ($secs > 0) - { - pose_sleep($secs); - } -} - -# pose_tap_button -# button - button to press -# secs - seconds to sleep after the button press -# -# Presses specified button and displays debug info -# -sub pose_tap_button -{ - my $button = $_[0]; - my $secs = $_[1]; - - if ($global_debug) - { - &print_debug(" Tapping button : $button\n"); - } - - TapButton($button); - - if ($secs > 0) - { - pose_sleep($secs); - } -} - -# pose_sleep -# secs - seconds to sleep -# -# Sleeps the specified amount of time and displays debug info -# -sub pose_sleep -{ - my $secs = $_[0]; - - if ($global_debug) - { - &print_debug(" Sleeping : $secs seconds\n"); - } - - sleep($secs); -} - -# enter_func -# func - function name -# -# Displays debug info about entering specified function. -# -sub enter_func -{ - my $func = $_[0]; - - if ($global_debug) - { - &print_debug("Function enter : $func\n"); - } -} - -# leave_func -# func - function name -# -# Displays debug info about leaving specified function. -# -sub leave_func -{ - my $func = $_[0]; - - if ($global_debug) - { - &print_debug("Function exit : $func\n"); - } -} - -# print_debug -# string - string to print -# -# Displays debug message with a # at the beginning of the line. -# -sub print_debug -{ - my $string = $_[0]; - - print "# $string"; -} - -1; - |