Пример #1
0
            public static void CreateSetMember(IJavascriptRuntime runtimeJavascript, SetMemberBinder binder, object value)
            {
                JavascriptFallback fallback = new JavascriptFallback(runtimeJavascript);

                fallback.AddMember(binder);
                JavascriptInternals.TrySet(fallback, value);
            }
Пример #2
0
        public void BenchmarkResultTest()
        {
            IJavascriptRuntime javascriptRuntime = null;
            string             javascriptBenchmarkFunctionResult = string.Empty;

            @"Given a JScript Javascript Runtime
              And a benchmark suite".Context(() =>
            {
                javascriptRuntime = new JScriptJavascriptRuntime();
                using (var reader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Talifun.Javascript.Tests.scripts.Benchmark.js")))
                {
                    var benchmarkLibrary = reader.ReadToEnd();
                    javascriptRuntime.LoadLibrary(benchmarkLibrary);
                }
                using (var reader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Talifun.Javascript.Tests.scripts.RunBenchmark.js")))
                {
                    var runbenchmarkLibrary = reader.ReadToEnd();
                    javascriptRuntime.LoadLibrary(runbenchmarkLibrary);
                }
            });

            @"When benchmark suite is run".Do(() =>
            {
                javascriptBenchmarkFunctionResult = javascriptRuntime.ExecuteFunction <string>("RunBenchMark", new object[] { });
            });

            @"Then benchmark results should be returned".Observation(() =>
            {
                Assert.NotNull(javascriptBenchmarkFunctionResult);
                Console.Write("JScript Benchmark - " + javascriptBenchmarkFunctionResult);
            });
        }
Пример #3
0
            public static JavascriptFallback CreateIndex(IJavascriptRuntime runtimeJavascript, GetIndexBinder binder, object[] indexes)
            {
                JavascriptFallback fallback = new JavascriptFallback(runtimeJavascript);

                fallback.AddIndex(binder, indexes);

                return(fallback);
            }
Пример #4
0
            public static JavascriptFallback CreateMember(IJavascriptRuntime runtimeJavascript, GetMemberBinder binder)
            {
                JavascriptFallback fallback = new JavascriptFallback(runtimeJavascript);

                fallback.AddMember(binder);

                return(fallback);
            }
Пример #5
0
            public static JavascriptFallback Create(IJavascriptRuntime runtimeJavascript, InvokeMemberBinder binder, object[] args)
            {
                JavascriptFallback fallback = new JavascriptFallback(runtimeJavascript);

                fallback.AddCommand(binder, args);

                return(fallback);
            }
        public void CoffeeScriptTest()
        {
            IJavascriptRuntime javascriptRuntime = null;
            string             javascriptScriptFunctionResult = string.Empty;

            @"Given a SpiderMonkey Javascript Runtime
              And coffee script compiler library".Context(() =>
            {
                javascriptRuntime = new SpiderMonkeyJavascriptRuntime();
                using (var reader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Talifun.Javascript.Tests.scripts.CoffeeScript.js")))
                {
                    var coffeeScriptCompilerLibrary = reader.ReadToEnd();
                    javascriptRuntime.LoadLibrary(coffeeScriptCompilerLibrary);
                }
                using (var reader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Talifun.Javascript.Tests.scripts.RunCoffeeScriptCompiler.js")))
                {
                    var runCoffeeScriptCompilerLibrary = reader.ReadToEnd();
                    javascriptRuntime.LoadLibrary(runCoffeeScriptCompilerLibrary);
                }
            });

            @"When coffee script is compiled".Do(() =>
            {
                var coffeeScript = string.Empty;
                using (var reader = new StreamReader(Assembly.GetExecutingAssembly().GetManifestResourceStream("Talifun.Javascript.Tests.scripts.PlayerSpec.coffee")))
                {
                    coffeeScript = reader.ReadToEnd();
                }

                javascriptScriptFunctionResult = javascriptRuntime.ExecuteFunction <string>("RunCoffeeScriptCompiler", new object[] { coffeeScript });
            });

            @"Then javascript script should be returned".Observation(() =>
            {
                Assert.NotNull(javascriptScriptFunctionResult);
                Console.Write(javascriptScriptFunctionResult);
            });
        }
Пример #7
0
 private JavascriptFallback(IJavascriptRuntime runtimeJavascript) : base(runtimeJavascript)
 {
     RuntimeJavascript = runtimeJavascript;
     Command           = new List <string>();
 }
Пример #8
0
 /// <summary>
 /// Creates a new instance of Javascript Dynamic
 /// </summary>
 /// <param name="runtimeJavascript">RunTime Javascript Instance</param>
 internal JavascriptDynamic(IJavascriptRuntime runtimeJavascript)
 {
     _runtimeJavascript = runtimeJavascript;
 }
Пример #9
0
            public static object CreateBinaryOperation(IJavascriptRuntime runtimeJavascript, BinaryOperationBinder binder, object value)
            {
                JavascriptFallback fallback = new JavascriptFallback(runtimeJavascript);

                return(JavascriptInternals.DoBinaryOperation(binder, fallback, value));
            }
Пример #10
0
 public static JavascriptExecutor Create(IJavascriptRuntime runtimeDriver) => new JavascriptExecutor(runtimeDriver);
Пример #11
0
 private JavascriptExecutor(IJavascriptRuntime runTimeDriver)
 {
     _runtimeDriver = runTimeDriver;
 }