javauis/eswt_qt/xlibutils/java/src/com/nokia/mj/impl/uitestutils/UITestUtils.java
changeset 21 2a9601315dfc
child 35 85266cc22c7f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/javauis/eswt_qt/xlibutils/java/src/com/nokia/mj/impl/uitestutils/UITestUtils.java	Mon May 03 12:27:20 2010 +0300
@@ -0,0 +1,195 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: 
+*
+*/
+package com.nokia.mj.impl.uitestutils;
+
+/**
+ * UITestUtils class. This class was taken from old S60/Symbian UITestUtils in
+ * order to make the old tests easily portable to the new testing environment on
+ * other platforms. This class should be made platform neutral so that it can be the
+ * same on all platforms. 
+ */
+public class UITestUtils {
+
+    private static final int RES_CHANGE_DEFAULT_DELAY = 5000;
+
+    public UITestUtils() {      
+    }
+    
+    /** Init test and s. shot directory, make sure you use slashes to start and 
+    end it dir name */  
+    public void startTest(String screenShotDir) { 
+    }
+    
+    /** Ends the test, prints a summary, etc */     
+    public void endTest(boolean passed, String msg) { 
+    }
+    
+    /** Log a message */    
+    public void log(String msg) { 
+    }
+    
+    /** Logs one of the two messages and either PASSED or FAILED according to 
+    value of    passed parameter */ 
+    public void log(boolean passed, String msgPassed, String msgFailed) { 
+    }
+    
+    /** Sends a key down and up events to the application using the specified key */ 
+    public void triggerKeyPressEvent(Key key) {
+        int keycode = key.keyCode;
+        int modifiers = key.modifiers;
+        if(XlibUtils.XSendKeyToFocusWindow(keycode, modifiers, XlibUtils.PRESS) != 0) 
+            throw new RuntimeException("Emulating key press failed");
+        if(XlibUtils.XSendKeyToFocusWindow(keycode, modifiers, XlibUtils.RELEASE) != 0) 
+            throw new RuntimeException("Emulating key release failed");
+    }
+    
+    /** Sends a key down event to the application using the specified key */ 
+    public void triggerKeyDownEvent(Key key) {
+        int keycode = key.keyCode;
+        int modifiers = key.modifiers;
+        if(XlibUtils.XSendKeyToFocusWindow(keycode, modifiers, XlibUtils.PRESS) != 0) 
+            throw new RuntimeException("Emulating key press failed");
+    }
+    
+    /** Sends a key up event to the application using the specified key */ 
+    public void triggerKeyUpEvent(Key key) {
+        int keycode = key.keyCode;
+        int modifiers = key.modifiers;
+        if(XlibUtils.XSendKeyToFocusWindow(keycode, modifiers, XlibUtils.RELEASE) != 0) 
+            throw new RuntimeException("Emulating key release failed");
+    }
+    
+    /** Triggers key repeat events using the specified key and scan code. 
+        Calling this method will trigger the following events to Canvas/CustomItem:
+            1. keyPressed event 
+            2. keyRepeated events, the number of events is indicated by count parameter
+            3. keyReleased events 
+            
+        NOTE 1: This method returns right after triggering the keyPressed event. There should be enough delay 
+        after calling this so that all repeat events can be handled before the test result is checked.
+        The delay before triggering first repeat event is 0.6 seconds and between sequential repeat 
+        events 0.2 seconds. 
+        
+        NOTE 2: For triggering media key repeat events triggerMediaKeyRepeatEvents() 
+        must be used.
+    */ 
+    public int triggerKeyRepeatEvents(Key key, int count) { 
+        return 0;
+    }
+
+    /** This method must be used when triggering repeat events for media keys. 
+        pressedTimeInMillis defines how long a key is kept pressed down.
+        
+        NOTE 1: This method returns right after triggering the keyDown event. There should be enough delay 
+         (> pressedTimeInMillis) after calling this so that all repeat events and key up can be handled before 
+         the test result is checked.
+    */
+    public int triggerMediaKeyRepeatEvents(Key key, int pressedTimeInMillis) {
+        return 0;
+    }
+
+    /** Sends pointer down event to the midlet */
+    public void triggerPointerDownEvent(int x, int y) {
+        if(XlibUtils.XSendPointerEvent(x, y, XlibUtils.BUTTON1, XlibUtils.PRESS) != 0)
+            throw new RuntimeException("Emulating pointer down failed");
+    }
+
+    /** Sends pointer up event to the midlet */
+    public void triggerPointerUpEvent(int x, int y) { 
+        if(XlibUtils.XSendPointerEvent(x, y, XlibUtils.BUTTON1, XlibUtils.RELEASE) != 0)
+            throw new RuntimeException("Emulating pointer up failed");
+    }
+        
+    /** Sends pointer drag event to the midlet */
+    public void triggerPointerDragEvent(int x, int y) {
+        if(XlibUtils.XSendPointerMoveEvent(x, y, XlibUtils.BUTTON1) != 0 ) {
+            throw new RuntimeException("Emulating pointer move failed");
+        }
+    }       
+    
+    /**
+     * Sends a pointer event to open up a context menu. E.g. long-press, right-click
+     * or such depending on the platform.
+     */
+    public void triggerContextPointerEvent(int x, int y) {
+        if(XlibUtils.XSendPointerEvent(x, y, XlibUtils.BUTTON3, XlibUtils.PRESS) != 0)
+            throw new RuntimeException("Emulating pointer down failed");
+        if(XlibUtils.XSendPointerEvent(x, y, XlibUtils.BUTTON3, XlibUtils.RELEASE) != 0)
+            throw new RuntimeException("Emulating pointer up failed");
+    }
+    
+    /** Takes a screen shot and saves it into a .png file. Returns true if 
+    reference screen shot exists and is identical to the new screen shot*/ 
+    public boolean getScreenShot(String screenShotName) {
+        return true;
+    }
+    
+    /** Takes a screen shot and saves it into a .png file. Returns true if 
+    reference screen shot exists and compared area is identical in the reference and new screen shot.
+    areaToCompare and displayableType define the area that is compared. See also SpedeRunner.java.*/ 
+    public boolean getScreenShot(String screenShotName, int areaToCompare, int displayableType) { 
+        return true;
+    }       
+    
+    /** Takes a screen shot and saves it into a .png file. Returns true if 
+    reference screen shot exists and compared area is identical in the reference and new screen shot.
+    Four integer parameters define the rectangle area for screen shot comparison. */ 
+    public boolean getScreenShot(String screenShotName, int topLeftX, int topLeftY,
+                                                        int bottomRightX, int bottomRightY) { 
+        return true;
+    }
+
+    public void dispose() { 
+    }
+    
+    /** Enable or disable QWERTY input */   
+    public void changeQwertyInput(boolean aOn) { 
+    }
+    
+    public int switchResolution() {         return switchResolution(1);     }
+
+    /** Change the screen resolution - works only on the emulator */    
+    public int switchResolution(int numTimes) { 
+        return 0;
+    }
+        
+    /** Change the screen resolution - works only on the emulator */    
+    public int switchResolutionWithDelay(int delayMillis) { 
+        return 0;
+    }
+        
+    /** 
+     * Get the top left and bottom right coordinates of main pane, form rect, etc. 
+     * 
+     * @param coordinates   The coordinates are returned in this array
+     * @param type          Defines for which area the coordinates are fetched
+     */     
+    public void getBoundsOf(int type, int[] coordinates) { 
+    }
+        
+    /**
+     * Disable screen saver
+     */
+    public void disableScreenSaver() {
+    }
+    
+    /**
+     * Enable screen saver
+     */
+    public void enableScreenSaver() {
+    }
+}