Author: koen.aers(a)jboss.com
Date: 2011-07-18 06:55:46 -0400 (Mon, 18 Jul 2011)
New Revision: 33002
Added:
trunk/forge/tests/org.jboss.tools.forge.ui.test/.classpath
trunk/forge/tests/org.jboss.tools.forge.ui.test/.project
trunk/forge/tests/org.jboss.tools.forge.ui.test/.settings/
trunk/forge/tests/org.jboss.tools.forge.ui.test/.settings/org.eclipse.jdt.core.prefs
trunk/forge/tests/org.jboss.tools.forge.ui.test/META-INF/
trunk/forge/tests/org.jboss.tools.forge.ui.test/META-INF/MANIFEST.MF
trunk/forge/tests/org.jboss.tools.forge.ui.test/build.properties
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/jboss/
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/jboss/tools/
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/jboss/tools/forge/
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/jboss/tools/forge/ui/
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/jboss/tools/forge/ui/console/
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/jboss/tools/forge/ui/console/ForgeInputReadJobTest.java
Log:
initial implementation of the forge ui tests
Added: trunk/forge/tests/org.jboss.tools.forge.ui.test/.classpath
===================================================================
--- trunk/forge/tests/org.jboss.tools.forge.ui.test/.classpath
(rev 0)
+++ trunk/forge/tests/org.jboss.tools.forge.ui.test/.classpath 2011-07-18 10:55:46 UTC
(rev 33002)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con"
path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
+ <classpathentry kind="con"
path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
Added: trunk/forge/tests/org.jboss.tools.forge.ui.test/.project
===================================================================
--- trunk/forge/tests/org.jboss.tools.forge.ui.test/.project (rev
0)
+++ trunk/forge/tests/org.jboss.tools.forge.ui.test/.project 2011-07-18 10:55:46 UTC (rev
33002)
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.jboss.tools.forge.ui.test</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
Added:
trunk/forge/tests/org.jboss.tools.forge.ui.test/.settings/org.eclipse.jdt.core.prefs
===================================================================
--- trunk/forge/tests/org.jboss.tools.forge.ui.test/.settings/org.eclipse.jdt.core.prefs
(rev 0)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.test/.settings/org.eclipse.jdt.core.prefs 2011-07-18
10:55:46 UTC (rev 33002)
@@ -0,0 +1,8 @@
+#Fri Jul 15 17:44:51 CEST 2011
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
+org.eclipse.jdt.core.compiler.compliance=1.6
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.6
Added: trunk/forge/tests/org.jboss.tools.forge.ui.test/META-INF/MANIFEST.MF
===================================================================
--- trunk/forge/tests/org.jboss.tools.forge.ui.test/META-INF/MANIFEST.MF
(rev 0)
+++ trunk/forge/tests/org.jboss.tools.forge.ui.test/META-INF/MANIFEST.MF 2011-07-18
10:55:46 UTC (rev 33002)
@@ -0,0 +1,11 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Forge UI Tests
+Bundle-SymbolicName: org.jboss.tools.forge.ui.test
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: JBoss by Red Hat
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Require-Bundle: org.junit;bundle-version="3.8.2",
+ org.eclipse.core.runtime;bundle-version="3.7.0",
+ org.jboss.tools.forge.core;bundle-version="1.0.0",
+ org.jboss.tools.forge.ui;bundle-version="1.0.0"
Added: trunk/forge/tests/org.jboss.tools.forge.ui.test/build.properties
===================================================================
--- trunk/forge/tests/org.jboss.tools.forge.ui.test/build.properties
(rev 0)
+++ trunk/forge/tests/org.jboss.tools.forge.ui.test/build.properties 2011-07-18 10:55:46
UTC (rev 33002)
@@ -0,0 +1,4 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .
Added:
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/jboss/tools/forge/ui/console/ForgeInputReadJobTest.java
===================================================================
---
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/jboss/tools/forge/ui/console/ForgeInputReadJobTest.java
(rev 0)
+++
trunk/forge/tests/org.jboss.tools.forge.ui.test/src/org/jboss/tools/forge/ui/console/ForgeInputReadJobTest.java 2011-07-18
10:55:46 UTC (rev 33002)
@@ -0,0 +1,83 @@
+package org.jboss.tools.forge.ui.console;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import org.jboss.tools.forge.core.process.ForgeRuntime;
+import org.junit.Before;
+import org.junit.Test;
+
+public class ForgeInputReadJobTest {
+
+ private int[] in;
+ private Map<String, List<Object>> invocations = new HashMap<String,
List<Object>>();
+
+ @Before
+ public void setUp() {
+ in = null;
+ invocations.clear();
+ }
+
+ @Test
+ public void testNullInput() {
+ ForgeInputReadJob forgeInputReadJob = new ForgeInputReadJob(newForgeTestRuntime(),
null);
+ forgeInputReadJob.run(null);
+ assertEquals(0, invocations.size());
+ }
+
+ @Test
+ public void testNormalInput() {
+ in = new int[] { 'b', 'l', 'a', 'h', -1 };
+ ForgeInputReadJob forgeInputReadJob = new ForgeInputReadJob(newForgeTestRuntime(), new
TestInputStream());
+ forgeInputReadJob.run(null);
+ assertEquals(1, invocations.size());
+ List<Object> arguments = invocations.get("sendInput");
+ assertNotNull(arguments);
+ assertEquals(1, arguments.size());
+ assertEquals("blah", arguments.get(0));
+ }
+
+ private class TestInputStream extends InputStream {
+ int index = 0;
+ public int read() throws IOException {
+ int result = in.length > index ? in[index] : -1;
+ index++;
+ return result;
+ }
+ }
+
+ private ForgeRuntime newForgeTestRuntime() {
+ ForgeRuntime result = null;
+ try {
+ result = (ForgeRuntime)Proxy.newProxyInstance(
+ ForgeInputReadJobTest.this.getClass().getClassLoader(),
+ new Class[] { ForgeRuntime.class },
+ new ForgeTestRuntime());
+ } catch (Throwable t) {}
+ return result;
+ }
+
+ private class ForgeTestRuntime implements InvocationHandler {
+ @Override
+ public Object invoke(Object proxy, Method method, Object[] args)
+ throws Throwable {
+ List<Object> arguments = new ArrayList<Object>();
+ for (Object arg : args) {
+ arguments.add(arg);
+ }
+ invocations.put(method.getName(), arguments);
+ return null;
+ }
+ }
+
+}
Show replies by date