UNPKG

node-occ

Version:

OpenCascade OCCT Wrapper for Node js

59 lines (47 loc) 1.72 kB
const should = require("should"); const sr = require("../lib/scriptrunner"); describe("Script Runner", function () { let runner; let myEnv = {foo: "bar"}; before(function () { runner = new sr.ScriptRunner(myEnv); }); it("should not be possible load external module with require", function (done) { runner.run("let fs= require('fs');", function () { should.fail("done callback"); done(new Error("test has failed: 'require' call hasn't been intercepted")); }, function error_callback(err) { should.exist(err); err.message.should.equal("require is forbidden"); done(null); // }); }); it("should not be possible to use eval", function (done) { runner.run("eval('a=10');", function () { should.fail("done callback"); done(new Error("test has failed: 'eval' call hasn't been intercepted")); }, function error_callback(err) { should.exist(err); err.message.should.equal("eval is forbidden"); done(null); // } ); }); it("should expose environment provided by the caller", function (done) { runner.env.logs = []; // purge log runner.env.logs.length.should.equal(0); runner.env.foo.should.equal("bar"); runner.run("console.log(foo); foo='baz'", function () { runner.env.foo.should.equal("baz"); runner.env.logs.length.should.equal(1); done(); }, function error_callback(err) { done(err); // should not fail } ); }); });