package com.hundsun.ares.studio.core; import java.io.FileNotFoundException; import java.io.FileReader; import javax.script.ScriptEngine; import javax.script.ScriptException; import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.junit.Assert; import org.junit.Before; import org.junit.Test; import com.hundsun.ares.studio.core.scripting.AresScriptEngineManager; /** * ���Խű����� * @author sundl * */ public class TestScriptEngine { private IProject testProject1; @Before public void setUp() { IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot(); testProject1 = root.getProject(Helper.TEST_PROJECT_1); if (!testProject1.exists()) { Helper.prepareProjects(); } } @Test public void testScriptEngine() { IARESProject aresProject = ARESCore.create(testProject1); AresScriptEngineManager manager = AresScriptEngineManager.getInstance(); String script = "importPackage(\"com.hundsun.ares.studio.core.util\"); \n" + "var context = contexts.get('default');\n" + // "var project = context.project;\n" + // "print(project.getElementName());\n"; "print(1)\n" + "print(2)\n" + "print(3)\n" + "print(StringUtil.isEmpty('xx'))"; try { // manager.runJsScript(script, aresProject); ScriptEngine engine = manager.getEngineByExtension("js", aresProject); ScriptEngine engine2 = manager.getEngineByExtension("js", aresProject); Assert.assertTrue(engine != engine2); engine.eval(new FileReader("scripts/test1.js")); } catch (ScriptException e) { e.printStackTrace(); } catch (FileNotFoundException e) { e.printStackTrace(); } // ScriptEngine engine = manager.getEngineByExtension("js", aresProject); // try { // engine.eval("print('hello')"); // } catch (ScriptException e) { // e.printStackTrace(); // } } }