diff -r d51a5533a2e7 -r a7bf87c2c1d9 ko/archetype/src/main/resources/archetype-resources/src/test/java/JsInteractionTest.java
--- a/ko/archetype/src/main/resources/archetype-resources/src/test/java/JsInteractionTest.java Thu May 15 11:38:27 2014 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-package ${package};
-
-import java.io.Closeable;
-import java.io.Reader;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import javax.script.Invocable;
-import javax.script.ScriptEngine;
-import javax.script.ScriptEngineManager;
-import javax.script.ScriptException;
-import org.apidesign.html.boot.spi.Fn;
-import static org.testng.Assert.assertEquals;
-import org.testng.annotations.AfterMethod;
-import org.testng.annotations.BeforeMethod;
-import org.testng.annotations.Test;
-
-/** Tests for behavior of @JavaScriptBody methods. Set your JavaScript
- * environment up (for example define alert
or use some
- * emulation library like env.js), register script presenter
- * and then you can call methods that deal with JavaScript in your tests.
- */
-public class JsInteractionTest {
- private Closeable jsEngine;
- @BeforeMethod public void initializeJSEngine() throws Exception {
- jsEngine = Fn.activate(new ScriptPresenter());
- }
-
- @AfterMethod public void shutdownJSEngine() throws Exception {
- jsEngine.close();
- }
-
- @Test public void testCallbackFromJavaScript() throws Exception {
- class R implements Runnable {
- int called;
-
- @Override
- public void run() {
- called++;
- }
- }
- R callback = new R();
-
- DataModel.confirmByUser("Hello", callback);
-
- assertEquals(callback.called, 1, "One immediate callback");
- }
-
- private static class ScriptPresenter implements Fn.Presenter {
- private final ScriptEngine eng;
-
- public ScriptPresenter() throws ScriptException {
- eng = new ScriptEngineManager().getEngineByName("javascript");
- eng.eval("function alert(msg) { Packages.java.lang.System.out.println(msg); };");
- }
-
- @Override
- public Fn defineFn(String code, String... names) {
- StringBuilder sb = new StringBuilder();
- sb.append("(function() {");
- sb.append(" return function(");
- String sep = "";
- for (String n : names) {
- sb.append(sep).append(n);
- sep = ",";
- }
- sb.append(") {\n");
- sb.append(code);
- sb.append("};");
- sb.append("})()");
-
- final Object fn;
- try {
- fn = eng.eval(sb.toString());
- } catch (ScriptException ex) {
- throw new IllegalStateException(ex);
- }
- return new Fn(this) {
- @Override
- public Object invoke(Object thiz, Object... args) throws Exception {
- List