private void Init()
        {
            Result <string> scriptsPath = FileIO.SearchAFolderAboveTheCurrentDirectoryOfTheApplication(Settings.ScriptsPath_JsScripts); // find the folder with the scripts

            if (scriptsPath.IsFailure)
            {
                throw new InvalidOperationException("scripts folder not found");
            }
            jsScriptingContext = ScriptingContext.ScriptingContextWithRealFs(scriptsPath.Value);
        }
        private (string ScriptsPath, ScriptingContext JsScriptingContext) InitWithRealFs()
        {
            Result <string> scriptsPath = FileIO.SearchAFolderAboveTheCurrentDirectoryOfTheApplication(Scripting_TestSettings.ScriptsPath_JsScripts); // find the folder with the scripts

            if (scriptsPath.IsFailure)
            {
                throw new InvalidOperationException("scripts folder not found");
            }
            //return (scriptsPath.Value, ScriptingContext.ScriptingContextWithInMemoryFs(InMemoryScripts.GetScripts()));
            return(scriptsPath.Value, ScriptingContext.ScriptingContextWithRealFs(scriptsPath.Value));
        }
Ejemplo n.º 3
0
        public void ClearScript_Scripting_RealFs_Test()
        {
            //Assert.Inconclusive(); return;

            Result <string> scriptsPath = FileIO.SearchAFolderAboveTheCurrentDirectoryOfTheApplication(Scripting_TestSettings.ScriptsPath_Tests); // find the folder with the scripts

            if (scriptsPath.IsFailure)
            {
                throw new InvalidOperationException("scripts folder not found");
            }

            ScriptingContext jsScriptingContext = ScriptingContext.ScriptingContextWithRealFs(Path.Combine(scriptsPath.Value, Scripting_TestSettings.ScriptsPath_Tests_ES6));

            JsScriptRunner jsScriptRunner = JsScriptRunner.RunnerWithContext(
                JsScriptRunnerType.ClearScript,
                jsScriptingContext,
                Scripting_TestSettings.ScriptingContextName);

            jsScriptRunner.Run("var exports = {};");                                 // required by the row of 'main.js' ```Object.defineProperty(exports, "__esModule", { value: true });``` generated by TypeScript
            jsScriptRunner.Run(jsScriptingContext.ReadFile("./lib/myrequire.js"));   // load a custom version of 'require'
            jsScriptRunner.Run(jsScriptingContext.ReadFile("main.js"));              // execute script from virtual FS (would have been the same executing "./main.js")
            Assert.AreEqual("Hello World", jsScriptingContext.ReadFile("filename")); // test output of Js scripts
        }