@Override public void run() { try { nodeJS.require(File.createTempFile("temp", ".js")); } catch (Error e) { result[0] = e.getMessage().contains("Invalid V8 thread access"); } catch (IOException e) { throw new RuntimeException(e); } } });
@Test public void testExecuteNodeScript_viaRequire() throws IOException { assumeFalse(skipMessage, skipTest()); // conditional skip nodeJS.release(); File testScript = createTemporaryScriptFile("global.passed = true;", "testScript"); nodeJS = NodeJS.createNodeJS(); nodeJS.require(testScript).close(); runMessageLoop(); assertEquals(true, nodeJS.getRuntime().getBoolean("passed")); testScript.delete(); }
@Test public void testExports() throws IOException { assumeFalse(skipMessage, skipTest()); // conditional skip nodeJS.release(); File testScript = createTemporaryScriptFile("exports.foo=7", "testScript"); nodeJS = NodeJS.createNodeJS(); V8Object exports = nodeJS.require(testScript); runMessageLoop(); assertEquals(7, exports.getInteger("foo")); exports.close(); }