[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