public string Compile(string input) { if (FileSystem.Unix) { throw new NotSupportedException("Coffeescript not yet supported for mono."); } string newContent; lock (_compilationSynchronizer) { Initialize(); try { newContent = _jsEngine.CallFunction <string>(COMPILATION_FUNCTION_NAME, input); } catch (ActiveScriptException e) { throw new Exception(ActiveScriptErrorFormatter.Format(e)); } } return(newContent); }
static void Main(string[] args) { var basePath = AppDomain.CurrentDomain.BaseDirectory; using (var jsEngine = new MsieJsEngine()) { //jsEngine.ExecuteFile(string.Format(@"{0}/Scripts/myscript.js", basePath)); jsEngine.Execute("function add(left, right){ return (left + right) & 0xFFFFFF; }"); string[] arr = new string[] { "1", "2" }; var res = Convert.ToInt32(jsEngine.CallFunction("add", arr)); Console.WriteLine(res); Console.ReadKey(); } }
public void ExecutionOfCodeAndCallingOfFunctionIsCorrect() { // Arrange const string jsLibraryCode = @"function add(num1, num2) { return (num1 + num2); }" ; _msieJsEngine.Execute(jsLibraryCode); // Act var result = _msieJsEngine.CallFunction <int>("add", 2, 3); // Assert Assert.AreEqual(5, result); }
public virtual void CallingOfFunctionWithoutParametersIsCorrect() { // Arrange const string functionCode = @"function hooray() { return 'Hooray!'; }"; const string targetOutput = "Hooray!"; // Act _jsEngine.Execute(functionCode); var output = (string)_jsEngine.CallFunction("hooray"); // Assert Assert.AreEqual(targetOutput, output); }
public string Transform(string input) { return((string)engine.CallFunction("marked", input)); }