Beispiel #1
0
        public async void Testtabris1()
        {
            RequireManager requireManager = new RequireManager();

            ManagerPool.InitializeCurrentPool(new ManagerSettings());
            JavaScript.Manager.Tabris.Tabris.Register(requireManager, new JavaScript.Manager.Tabris.TabrisOptions
            {
            });
            using (var scope = new ManagerScope(requireManager))
            {
                var code = @"var tabris;
(function (){
  tabris = tabris || require('javascript_tabris'); 
try{
var lib = require('../TestDll.dll');
var myClrObject = new lib.TestDll.MyClass('tttt');
myClrObject.SayHello(); 
}catch(err){
host.err=err.message;
host.ex=err;
}
})();";
                await scope.RuntimeManager.ExecuteAsync("btnExcutor_Click", code);
            }


            //RequireManager.ClearPackages();
        }
        protected void Application_Start()
        {
            AreaRegistration.RegisterAllAreas();
            GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            ManagerPool.InitializeCurrentPool(new ManagerSettings());
        }
Beispiel #3
0
 public static void Initialize()
 {
     if (!_isInitialized)
     {
         lock (_syncLock)
         {
             if (!_isInitialized)
             {
                 //ManagerSettings should contain the maximum pool count
                 ManagerPool.InitializeCurrentPool(new ManagerSettings());
                 _isInitialized = true;
             }
         }
     }
 }
Beispiel #4
0
        public void Script_Engine_Is_Retrieved()
        {
            ManagerPool.InitializeCurrentPool(new ManualManagerSettings {
                RuntimeMaxCount = 2
            });

            using (var scope = new ManagerScope())
            {
                var engine = scope.RuntimeManager.GetEngine();

                engine.ShouldNotBeNull();

                engine.Execute("var i = 200;");

                Assert.AreEqual(200, engine.Script.i);
            }
        }
        public async void Script_Exceeding_Pool_Count_Blocks_Until_Item_Available()
        {
            //Set the manager max count
            ManagerPool.InitializeCurrentPool(new ManualManagerSettings {
                RuntimeMaxCount = 2
            });

            const string script = "Console.WriteLine('Started {0}:' + new Date().toJSON()); " +
                                  "var now = new Date().getTime(); while(new Date().getTime() < now + 1000){{ /* do nothing */ }}; " +
                                  "Console.WriteLine('finished {0}:' + new Date().toJSON());";

            var startDate = DateTime.UtcNow;

            await Task.WhenAll(
                RunInScope("first", script),
                RunInScope("second", script),
                RunInScope("third", script));

            DateTime.UtcNow.Subtract(startDate).ShouldBeGreaterThan(new TimeSpan(0, 0, 2));
        }
        public async void Testtabris()
        {
            RequireManager requireManager = new RequireManager();

            Tabris.Register(requireManager);
            ManagerPool.InitializeCurrentPool(new ManagerSettings());
            using (var scope = new ManagerScope(requireManager))
            {
                var code = "var log = this.tabris.create('LOG');" +
                           "try{ aa.ttt =1}catch(err){log.info(err)}";
                code = "var tabris;" + "(function (){\n  tabris = tabris || require('javascript_tabris'); \n" + code + "\n})();";
                await scope.RuntimeManager.ExecuteAsync("btnExcutor_Click", code);

                code = "var log = this.tabris.create('LOG');" +
                       "try{ aa.ttt =1}catch(err){log.info(err)}";
                code = "var tabris;" + "(function (){\n  tabris = tabris || require('javascript_tabris'); \n" + code + "\n})();";
                await scope.RuntimeManager.ExecuteAsync("btnExcutor_Click", code);
            }


            //RequireManager.ClearPackages();
        }
 public void TestSetUp()
 {
     ManagerPool.InitializeCurrentPool(new ManualManagerSettings());
 }