From b9ed0fde35ffd88e7f4d385d72dd5ed7d6ba9ce9 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Wed, 24 Sep 2008 17:20:23 +0000 Subject: [PATCH] Restructure the dependencies between UI projects git-svn-id: https://svn.argeo.org/slc/trunk@1628 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- sandbox/argeo.slc.testui/.classpath | 4 +- .../.settings/org.eclipse.jdt.core.prefs | 18 ++-- sandbox/argeo.slc.testui/pom.xml | 31 +++++++ .../argeo/slc/jemmytest/JemmyRemoteTest.java | 86 +++++++++++++++++++ .../argeo/slc/jemmytest/SwingTestJemmy.java | 39 +++++++++ .../src/test/resources/log4j.properties | 15 ++++ 6 files changed, 183 insertions(+), 10 deletions(-) create mode 100644 sandbox/argeo.slc.testui/src/test/java/org/argeo/slc/jemmytest/JemmyRemoteTest.java create mode 100644 sandbox/argeo.slc.testui/src/test/java/org/argeo/slc/jemmytest/SwingTestJemmy.java create mode 100644 sandbox/argeo.slc.testui/src/test/resources/log4j.properties diff --git a/sandbox/argeo.slc.testui/.classpath b/sandbox/argeo.slc.testui/.classpath index 40998eec1..71840c6c6 100644 --- a/sandbox/argeo.slc.testui/.classpath +++ b/sandbox/argeo.slc.testui/.classpath @@ -1,7 +1,9 @@ - + + + diff --git a/sandbox/argeo.slc.testui/.settings/org.eclipse.jdt.core.prefs b/sandbox/argeo.slc.testui/.settings/org.eclipse.jdt.core.prefs index 897ca45f9..8524f845f 100644 --- a/sandbox/argeo.slc.testui/.settings/org.eclipse.jdt.core.prefs +++ b/sandbox/argeo.slc.testui/.settings/org.eclipse.jdt.core.prefs @@ -1,12 +1,12 @@ -#Sat Sep 20 12:22:38 GMT+02:00 2008 -org.eclipse.jdt.core.compiler.debug.localVariable=generate -org.eclipse.jdt.core.compiler.debug.sourceFile=generate +#Wed Sep 24 19:16:50 CEST 2008 +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2 org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve -org.eclipse.jdt.core.compiler.compliance=1.3 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.1 -org.eclipse.jdt.core.compiler.problem.enumIdentifier=ignore +org.eclipse.jdt.core.compiler.compliance=1.4 org.eclipse.jdt.core.compiler.debug.lineNumber=generate -org.eclipse.jdt.core.compiler.problem.assertIdentifier=ignore -org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=disabled +org.eclipse.jdt.core.compiler.debug.localVariable=generate +org.eclipse.jdt.core.compiler.debug.sourceFile=generate +org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning +org.eclipse.jdt.core.compiler.problem.enumIdentifier=warning org.eclipse.jdt.core.compiler.source=1.3 -eclipse.preferences.version=1 diff --git a/sandbox/argeo.slc.testui/pom.xml b/sandbox/argeo.slc.testui/pom.xml index b0efd6a92..9192439c8 100644 --- a/sandbox/argeo.slc.testui/pom.xml +++ b/sandbox/argeo.slc.testui/pom.xml @@ -32,6 +32,37 @@ + + + org.argeo.slc + org.argeo.slc.autoui + 0.11.1-SNAPSHOT + test + + + org.apache.felix + org.osgi.core + + + org.apache.felix + org.apache.felix.main + + + + + + org.argeo.dep.jemmy + org.argeo.dep.jemmy.nb61 + 0.2.1-SNAPSHOT + test + + + junit + junit + 3.8.2 + test + + false diff --git a/sandbox/argeo.slc.testui/src/test/java/org/argeo/slc/jemmytest/JemmyRemoteTest.java b/sandbox/argeo.slc.testui/src/test/java/org/argeo/slc/jemmytest/JemmyRemoteTest.java new file mode 100644 index 000000000..19fa9c2a9 --- /dev/null +++ b/sandbox/argeo.slc.testui/src/test/java/org/argeo/slc/jemmytest/JemmyRemoteTest.java @@ -0,0 +1,86 @@ +package org.argeo.slc.jemmytest; + +import java.io.Serializable; +import java.rmi.registry.LocateRegistry; +import java.rmi.registry.Registry; + +import junit.framework.TestCase; + +import org.argeo.slc.autoui.rmi.AutoUiContext; +import org.argeo.slc.autoui.rmi.AutoUiServer; +import org.argeo.slc.autoui.rmi.AutoUiTask; +import org.argeo.slc.testui.SwingTestUi; +import org.netbeans.jemmy.ClassReference; +import org.netbeans.jemmy.operators.JButtonOperator; +import org.netbeans.jemmy.operators.JFrameOperator; +import org.netbeans.jemmy.operators.JLabelOperator; + +public class JemmyRemoteTest extends TestCase implements Serializable { + static final long serialVersionUID = 1l; + + public void testRemote() throws Exception { + if (System.getSecurityManager() == null) { + System.setSecurityManager(new SecurityManager()); + } + String name = "AutoUiServer"; + Registry registry = LocateRegistry.getRegistry("localhost"); + AutoUiServer server = (AutoUiServer) registry.lookup(name); + AutoUiTask startFrame = new AutoUiTask() { + static final long serialVersionUID = 1l; + + public Object execute(AutoUiContext context) throws Exception { + // Start application + ClassReference classReference = new ClassReference( + SwingTestUi.class.getName()); + String[] args = { "noExitOnClose" }; + classReference.startApplication(args); + + // Find components + JFrameOperator jFrameOperator = new JFrameOperator( + "HelloWorldSwing"); + JButtonOperator jButtonOperator = new JButtonOperator( + jFrameOperator, "Button"); + JLabelOperator jLabelOperator = new JLabelOperator( + jFrameOperator, "Hello World"); + + context.setLocalRef("label", jLabelOperator); + context.setLocalRef("button", jButtonOperator); + return null; + } + + }; + + AutoUiTask pushButton = new AutoUiTask() { + static final long serialVersionUID = 1l; + + public Object execute(AutoUiContext context) throws Exception { + JButtonOperator jButtonOperator = (JButtonOperator) context + .getLocalRef("button"); + JLabelOperator jLabelOperator = (JLabelOperator) context + .getLocalRef("label"); + + // Execute actions + jButtonOperator.push(); + + // Performs checks + String textAfterPush = jLabelOperator.getText(); + Boolean pressed = new Boolean(textAfterPush.equals("Pressed!!")); + return pressed; + } + + }; + + server.executeTask(startFrame); + Boolean pressed = (Boolean) server.executeTask(pushButton); + assertTrue("Has been pressed", pressed.booleanValue()); + } + + public static void main(String[] args){ + try { + JemmyRemoteTest jemmyRemoteTest = new JemmyRemoteTest(); + jemmyRemoteTest.testRemote(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/sandbox/argeo.slc.testui/src/test/java/org/argeo/slc/jemmytest/SwingTestJemmy.java b/sandbox/argeo.slc.testui/src/test/java/org/argeo/slc/jemmytest/SwingTestJemmy.java new file mode 100644 index 000000000..d05b5f5ad --- /dev/null +++ b/sandbox/argeo.slc.testui/src/test/java/org/argeo/slc/jemmytest/SwingTestJemmy.java @@ -0,0 +1,39 @@ +package org.argeo.slc.jemmytest; + +import junit.framework.TestCase; + +import org.argeo.slc.testui.SwingTestUi; +import org.netbeans.jemmy.ClassReference; +import org.netbeans.jemmy.operators.JButtonOperator; +import org.netbeans.jemmy.operators.JFrameOperator; +import org.netbeans.jemmy.operators.JLabelOperator; + +public class SwingTestJemmy extends TestCase { +// private final static Log log = LogFactory.getLog(SwingTestJemmy.class); + + public void testSimple() throws Exception { + // Start application + ClassReference classReference = new ClassReference(SwingTestUi.class + .getName()); + String[] args = { "noExitOnClose" }; + classReference.startApplication(args); + + // Find components + JFrameOperator jFrameOperator = new JFrameOperator("HelloWorldSwing"); + JButtonOperator jButtonOperator = new JButtonOperator(jFrameOperator, + "Button"); + JLabelOperator jLabelOperator = new JLabelOperator(jFrameOperator, + "Hello World"); + + // Execute actions + jButtonOperator.push(); + + // Performs checks + String textAfterPush = jLabelOperator.getText(); + assertEquals("Pressed!!", textAfterPush); + + // Clean up + jFrameOperator.close(); + } + +} diff --git a/sandbox/argeo.slc.testui/src/test/resources/log4j.properties b/sandbox/argeo.slc.testui/src/test/resources/log4j.properties new file mode 100644 index 000000000..48539ac94 --- /dev/null +++ b/sandbox/argeo.slc.testui/src/test/resources/log4j.properties @@ -0,0 +1,15 @@ +# Set root logger level to DEBUG and its only appender to A1. +log4j.rootLogger=WARN, console + +## Levels +# Slc +log4j.logger.org.argeo.slc=DEBUG + +## Appenders +# A1 is set to be a ConsoleAppender. +log4j.appender.console=org.apache.log4j.ConsoleAppender + +# A1 uses PatternLayout. +log4j.appender.console.layout=org.apache.log4j.PatternLayout +log4j.appender.console.layout.ConversionPattern= %-5p %d{ISO8601} %m - %c %n + -- 2.39.2