Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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();
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
 public string Transform(string input)
 {
     return((string)engine.CallFunction("marked", input));
 }