public void ExposingANETClass3()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("Random", new RandomConstructor(engine));
            Assert.AreEqual(0.15155745910087481, engine.Evaluate <double>("var rand = new Random(1000); rand.nextDouble()"));
        }
        public void ExposingANETClass1()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("appInfo", new AppInfo(engine));
            Assert.AreEqual("Test Application 5", engine.Evaluate <string>("appInfo.name + ' ' + appInfo.version"));
        }
Exemplo n.º 3
0
        public void AnonymousProperty()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("test", new ClassWithAnonymousProperty(engine));
            Assert.AreEqual(5, engine.Evaluate <int>("test['']"));
        }
        public void ExposingANETClass2()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("math2", new Math2(engine));
            Assert.AreEqual(3.0, engine.Evaluate <double>("math2.log10(1000)"));
        }
        public void AccessingAndModifyingGlobalVariables1()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("interop", 15);
            engine.ExecuteFile(@"..\..\..\Barista.UnitTests.Jurassic\Core\Sample Files\globals1.js");
            Assert.AreEqual(20, engine.GetGlobalValue <int>("interop"));
        }
Exemplo n.º 6
0
        public void IntProperty()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("test", new ClassWithProperty(engine));

            Assert.AreEqual(9, engine.Evaluate <int>("test.TestInt"));
            Assert.AreEqual(5, engine.Evaluate <int>("test.TestInt = 5; test.TestInt"));
            Assert.AreEqual(0, engine.Evaluate <int>("test.TestInt = 'test'; test.TestInt"));
        }
Exemplo n.º 7
0
        public void PrivateSetter()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("test", new ClassWithPrivateSetter(engine));
            Assert.AreEqual(11, engine.Evaluate <int>("test.GetterOnly"));
            Assert.AreEqual(11, engine.Evaluate <int>("test.GetterOnly = 3; test.GetterOnly"));
            Assert.AreEqual(13, engine.Evaluate <int>("test.PrivateSetter"));
            Assert.AreEqual(13, engine.Evaluate <int>("test.PrivateSetter = 4; test.PrivateSetter"));
        }
Exemplo n.º 8
0
        public void ObjectProperty()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("test", new ClassWithProperty(engine));

            Assert.AreEqual(5, engine.Evaluate <object>("test.TestObj = 5; test.TestObj"));
            Assert.AreEqual("test", engine.Evaluate <object>("test.TestObj = 'test'; test.TestObj"));
            Assert.AreEqual(Undefined.Value, engine.Evaluate <object>("test.TestObj = undefined; test.TestObj"));
            Assert.AreEqual(Null.Value, engine.Evaluate <object>("test.TestObj = null; test.TestObj"));
        }
Exemplo n.º 9
0
        public void StringProperty()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("test", new ClassWithProperty(engine));

            Assert.AreEqual("Initial", engine.Evaluate <string>("test.TestStr"));
            Assert.AreEqual("test", engine.Evaluate <string>("test.TestStr = 'test'; test.TestStr"));
            Assert.AreEqual("null", engine.Evaluate <string>("test.TestStr = null; test.TestStr"));
            Assert.AreEqual("5", engine.Evaluate <string>("test.TestStr = 5; test.TestStr"));
        }
Exemplo n.º 10
0
        public void PropertyAttributes()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("test", new ClassWithProperty(engine));

            // IsEnumerable.
            Assert.AreEqual("TestStr,TestObj", engine.Evaluate <string>("array = []; for (var key in test) array.push(key); array.join(',')"));

            // IsConfigurable
            Assert.AreEqual(false, engine.Evaluate <bool>("delete test.TestStr"));
            Assert.AreEqual(true, engine.Evaluate <bool>("delete test.TestObj"));
        }
        public void ConsoleAPI1()
        {
            var engine = new Barista.Jurassic.ScriptEngine();

            engine.SetGlobalValue("console", new Barista.Jurassic.Library.FirebugConsole(engine));
        }