Compare commits

..

8 Commits

4 changed files with 39 additions and 29 deletions

View File

@@ -35,7 +35,7 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>gclc</artifactId> <artifactId>gclc</artifactId>
<version>1.3.4</version> <version>1.3.6</version>
<packaging>jar</packaging> <packaging>jar</packaging>
<url>http://www.bigeon.fr/emmanuel</url> <url>http://www.bigeon.fr/emmanuel</url>
<properties> <properties>
@@ -53,7 +53,7 @@
<parent> <parent>
<groupId>fr.bigeon</groupId> <groupId>fr.bigeon</groupId>
<artifactId>ebigeon-config</artifactId> <artifactId>ebigeon-config</artifactId>
<version>1.7.0</version> <version>1.7.1</version>
</parent> </parent>
<build> <build>
<plugins> <plugins>
@@ -83,6 +83,6 @@
<scm> <scm>
<developerConnection>scm:git:gogs@git.code.bigeon.net:emmanuel/gclc.git</developerConnection> <developerConnection>scm:git:gogs@git.code.bigeon.net:emmanuel/gclc.git</developerConnection>
<tag>gclc-1.3.4</tag> <tag>gclc-1.3.6</tag>
</scm> </scm>
</project> </project>

View File

@@ -43,6 +43,7 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull; import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull; import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.IOException; import java.io.IOException;
@@ -55,7 +56,6 @@ import fr.bigeon.gclc.exception.CommandRunExceptionType;
import fr.bigeon.gclc.exception.InvalidCommandName; import fr.bigeon.gclc.exception.InvalidCommandName;
import fr.bigeon.gclc.i18n.Messages; import fr.bigeon.gclc.i18n.Messages;
import fr.bigeon.gclc.manager.ConsoleManager; import fr.bigeon.gclc.manager.ConsoleManager;
import fr.bigeon.gclc.manager.SystemConsoleManager;
import fr.bigeon.gclc.manager.PipedConsoleManager; import fr.bigeon.gclc.manager.PipedConsoleManager;
/** Test class for ConsoleApplication /** Test class for ConsoleApplication
@@ -70,9 +70,14 @@ public class ConsoleApplicationTest {
/** Test the base of a console application */ /** Test the base of a console application */
@Test @Test
public void test() { public void test() {
ConsoleTestApplication app = new ConsoleTestApplication(
new SystemConsoleManager()); try (PipedConsoleManager manager = new PipedConsoleManager()) {
app.exit(); ConsoleTestApplication app = new ConsoleTestApplication(manager);
app.exit();
} catch (IOException e) {
fail("System Console Manager failed");
}
} }
@Test @Test
@@ -156,7 +161,10 @@ public class ConsoleApplicationTest {
manager.type("exit"); manager.type("exit");
th.join(); th.join();
} catch (IOException | InvalidCommandName | InterruptedException e) { } catch (IOException | InvalidCommandName |
InterruptedException e) {
assertNull(e); assertNull(e);
} }

View File

@@ -48,6 +48,7 @@ import java.io.InputStream;
import java.io.InputStreamReader; import java.io.InputStreamReader;
import java.io.PipedInputStream; import java.io.PipedInputStream;
import java.io.PipedOutputStream; import java.io.PipedOutputStream;
import java.nio.charset.Charset;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@@ -110,17 +111,15 @@ public class ReadingRunnableTest {
final ReadingRunnable runnable = new ReadingRunnable(reader); final ReadingRunnable runnable = new ReadingRunnable(reader);
Thread th0 = new Thread(runnable, "read"); Thread th0 = new Thread(runnable, "read");
th0.start(); th0.start();
Thread th = runnable.getWaitForDelivery(""); Thread th = runnable.getWaitForDelivery("msg");
final Object start = new Object(); out.write(Charset.forName("UTF-8")
.encode("msg" + System.lineSeparator()).array());
Thread th2 = new Thread(new Runnable() { Thread th2 = new Thread(new Runnable() {
@Override @Override
public void run() { public void run() {
synchronized (start) {
start.notify();
}
try { try {
runnable.getMessage(); runnable.getMessage();
} catch (IOException e) { } catch (IOException e) {
@@ -129,11 +128,7 @@ public class ReadingRunnableTest {
} }
} }
}, "get"); }, "get");
synchronized (start) { th2.start();
th2.start();
start.wait();
}
runnable.interrupt();
try { try {
th.join(); th.join();
} catch (InterruptedException e) { } catch (InterruptedException e) {

View File

@@ -65,13 +65,12 @@ public class SystemConsoleManagerTest {
@Test @Test
public final void testPrompt() { public final void testPrompt() {
try { final String test = "test";
PipedOutputStream outStream = new PipedOutputStream(); try (PipedOutputStream outStream = new PipedOutputStream();
InputStream in = new PipedInputStream(outStream); InputStream in = new PipedInputStream(outStream);
final PrintStream out = new PrintStream(outStream); final PrintStream out = new PrintStream(outStream);
final String test = "test"; SystemConsoleManager manager = new SystemConsoleManager(System.out,
SystemConsoleManager manager = new SystemConsoleManager(System.out, in, Charset.forName("UTF-8"))) {
in, Charset.forName("UTF-8"));
Thread th = new Thread(new Runnable() { Thread th = new Thread(new Runnable() {
@@ -95,10 +94,18 @@ public class SystemConsoleManagerTest {
* {@link fr.bigeon.gclc.manager.SystemConsoleManager#setPrompt(java.lang.String)}. */ * {@link fr.bigeon.gclc.manager.SystemConsoleManager#setPrompt(java.lang.String)}. */
@Test @Test
public final void testSetPrompt() { public final void testSetPrompt() {
SystemConsoleManager manager = new SystemConsoleManager(); try (PipedOutputStream outStream = new PipedOutputStream();
String prt = "++"; InputStream in = new PipedInputStream(outStream);
manager.setPrompt(prt); final PrintStream out = new PrintStream(outStream);
assertEquals(prt, manager.getPrompt()); SystemConsoleManager manager = new SystemConsoleManager(System.out,
in, Charset.forName("UTF-8"))) {
String prt = "++";
manager.setPrompt(prt);
assertEquals(prt, manager.getPrompt());
} catch (IOException e) {
assertNull(e);
}
} }
/** Test method for /** Test method for