OSDN Git Service

Replaced mongrel with thin
[redminele/redminele.git] / ruby / lib / ruby / gems / 1.8 / gems / eventmachine-0.12.10-x86-mswin32-60 / java / src / com / rubyeventmachine / tests / ApplicationTest.java
diff --git a/ruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.10-x86-mswin32-60/java/src/com/rubyeventmachine/tests/ApplicationTest.java b/ruby/lib/ruby/gems/1.8/gems/eventmachine-0.12.10-x86-mswin32-60/java/src/com/rubyeventmachine/tests/ApplicationTest.java
new file mode 100644 (file)
index 0000000..ee85ea5
--- /dev/null
@@ -0,0 +1,109 @@
+/**
+ * $Id$
+ * 
+ * Author:: Francis Cianfrocca (gmail: blackhedd)
+ * Homepage::  http://rubyeventmachine.com
+ * Date:: 15 Jul 2007
+ * 
+ * See EventMachine and EventMachine::Connection for documentation and
+ * usage examples.
+ * 
+ *
+ *----------------------------------------------------------------------------
+ *
+ * Copyright (C) 2006-07 by Francis Cianfrocca. All Rights Reserved.
+ * Gmail: blackhedd
+ * 
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of either: 1) the GNU General Public License
+ * as published by the Free Software Foundation; either version 2 of the
+ * License, or (at your option) any later version; or 2) Ruby's License.
+ * 
+ * See the file COPYING for complete licensing information.
+ *
+ *---------------------------------------------------------------------------
+ *
+ * 
+ */
+
+
+
+package com.rubyeventmachine.tests;
+
+
+import org.junit.After;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+import org.junit.Assert;
+import java.net.*;
+import java.io.*;
+import java.nio.*;
+
+import com.rubyeventmachine.*;
+import com.rubyeventmachine.application.*;
+
+public class ApplicationTest {
+
+       @BeforeClass
+       public static void setUpBeforeClass() throws Exception {
+       }
+
+       @AfterClass
+       public static void tearDownAfterClass() throws Exception {
+       }
+
+       @Before
+       public void setUp() throws Exception {
+       }
+
+       @After
+       public void tearDown() throws Exception {
+       }
+
+       @Test
+       public void testRunnableArgument() {
+               final Application a = new Application();
+               a.run (new Runnable() {
+                       public void run() {
+                               a.stop();
+                       }
+               });
+       }
+       
+
+       
+       class F implements ConnectionFactory {
+               public Connection connection() {
+                       return new Connection() {
+                               public void receiveData (ByteBuffer bb) {
+                                       application.stop();
+                               }
+                       };
+               }
+               
+       };
+       
+       @Test
+       public void testTcpServer() throws EmReactorException {
+               final Application a = new Application();
+               final SocketAddress saddr = new InetSocketAddress ("127.0.0.1", 9008);
+               a.run (new Runnable() {
+                       public void run() {
+                               try {
+                                       a.startServer (saddr, new F());
+                               } catch (EmReactorException e) { Assert.fail(); }
+                               new Thread() {
+                                       public void run() {
+                                               try {
+                                                       Socket s = new Socket ("127.0.0.1", 9008);
+                                                       s.getOutputStream().write(new String ("boo").getBytes());
+                                               } catch (UnknownHostException e) {
+                                               } catch (IOException e) {}
+                                       }
+                               }.start();
+                       }
+               });
+       }
+}