[Jython-checkins] jython (merge 2.5 -> default): Merge from 2.5.
frank.wierzbicki
jython-checkins at python.org
Mon Mar 19 23:44:50 CET 2012
http://hg.python.org/jython/rev/9f1d42b6dd8f
changeset: 6419:9f1d42b6dd8f
parent: 6417:9e461c2696e9
parent: 6418:278d9cb22f28
user: Frank Wierzbicki <fwierzbicki at gmail.com>
date: Mon Mar 19 15:44:41 2012 -0700
summary:
Merge from 2.5.
files:
tests/java/org/python/jsr223/ScriptEngineIOTest.java | 28 ++++++++
tests/python/dfs.py | 35 ++++++++++
2 files changed, 63 insertions(+), 0 deletions(-)
diff --git a/tests/java/org/python/jsr223/ScriptEngineIOTest.java b/tests/java/org/python/jsr223/ScriptEngineIOTest.java
--- a/tests/java/org/python/jsr223/ScriptEngineIOTest.java
+++ b/tests/java/org/python/jsr223/ScriptEngineIOTest.java
@@ -1,11 +1,18 @@
package org.python.jsr223;
+import javax.script.Bindings;
+import javax.script.ScriptContext;
import javax.script.ScriptEngine;
+import javax.script.ScriptEngineManager;
import javax.script.ScriptException;
import javax.script.ScriptEngineFactory;
+import javax.script.SimpleBindings;
import junit.framework.TestCase;
+import java.io.FileReader;
+import java.io.FileNotFoundException;
+import java.io.Reader;
import java.io.StringReader;
import java.io.StringWriter;
@@ -78,4 +85,25 @@
assertEquals(testString1, stdout.toString());
assertEquals(testString2, stderr.toString());
}
+
+ public void testEvalWithReader() throws ScriptException, FileNotFoundException
+ {
+ final ScriptEngineManager manager = new ScriptEngineManager();
+
+ final String engineType = "jython";
+ final ScriptEngine engine = manager.getEngineByName(engineType);
+
+ final Bindings bindings = new SimpleBindings();
+ bindings.put("firstLevelNodes", 10);
+ bindings.put("secondLevelNodes", 5);
+
+ engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
+ engine.setBindings(bindings, ScriptContext.ENGINE_SCOPE);
+
+ final Reader dfsScript = new FileReader("tests/python/dfs.py");
+
+ for (int i = 1; i <= 10; i++)
+ engine.eval(dfsScript);
+ }
+
}
diff --git a/tests/python/dfs.py b/tests/python/dfs.py
new file mode 100644
--- /dev/null
+++ b/tests/python/dfs.py
@@ -0,0 +1,35 @@
+class DFS:
+
+ def __init__(self):
+ self.visited_node_counter = 0
+
+ def visitor(self):
+ self.visited_node_counter += 1
+
+ def visit(self, node):
+ node.accept_visitor(self.visitor)
+ for child in node.children: self.visit(child)
+
+class Node:
+
+ def __init__(self):
+ self.children = []
+
+ def add_child(self, node):
+ self.children.append(node)
+
+ def accept_visitor(self, visitor):
+ visitor()
+
+root = Node()
+
+for i in xrange(0, firstLevelNodes):
+ root.add_child(Node())
+
+for child in root.children:
+ for i in xrange(0, secondLevelNodes): child.add_child(Node())
+
+dfs = DFS()
+dfs.visit(root)
+
+result = dfs.visited_node_counter
--
Repository URL: http://hg.python.org/jython
More information about the Jython-checkins
mailing list