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")); }
public void CallANETMethod1() { var engine = new Barista.Jurassic.ScriptEngine(); engine.SetGlobalFunction("test", new Func <int, int, int>((a, b) => a + b)); Assert.AreEqual(11, engine.Evaluate <int>("test(5, 6)")); }
public void CallJavaScriptFunction1() { var engine = new Barista.Jurassic.ScriptEngine(); engine.Evaluate("function test(a, b) { return a + b }"); Assert.AreEqual(11, engine.CallGlobalFunction <int>("test", 5, 6)); }
public void AnonymousProperty() { var engine = new Barista.Jurassic.ScriptEngine(); engine.SetGlobalValue("test", new ClassWithAnonymousProperty(engine)); Assert.AreEqual(5, engine.Evaluate <int>("test['']")); }
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 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")); }
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")); }
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")); }
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")); }
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")); }
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)); }
public void ExecutingScript1() { var engine = new Barista.Jurassic.ScriptEngine(); engine.ExecuteFile(@"..\..\..\Barista.UnitTests.Jurassic\Core\Sample Files\execute1.js"); }
public void EvaluateExpression2() { var engine = new Barista.Jurassic.ScriptEngine(); Assert.AreEqual(3, engine.Evaluate <int>("1.5 + 2.4")); }
public void EvaluateExpression1() { var engine = new Barista.Jurassic.ScriptEngine(); Assert.AreEqual(52, engine.Evaluate("5 * 10 + 2")); }