public void EvaluateExpression2() { var engine = new Jurassic.ScriptEngine(); Assert.AreEqual(3, engine.Evaluate<int>("1.5 + 2.4")); }
private void InitJsEngine() { _engine = new ScriptEngine(); var location = new Location(_engine, _homePageUrl); _engine.Global.SetPropertyValue("location", location, true); _engine.SetGlobalValue("window", _engine.Global); _engine.SetGlobalValue("console", new Jurassic.Library.FirebugConsole(_engine)); _engine.EnableDebugging = true; _engine.ForceStrictMode = false; }
public void AccessingAndModifyingGlobalVariables1() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("interop", 15); engine.ExecuteFile(@"..\..\..\Unit Tests\Core\Sample Files\globals1.js"); Assert.AreEqual(20, engine.GetGlobalValue<int>("interop")); }
public void AccessingAndModifyingGlobalVariables1() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("interop", 15); engine.ExecuteFile(Path.Combine (FilesDir, "globals1.js")); Assert.AreEqual(20, engine.GetGlobalValue<int>("interop")); }
public void IntProperty() { var engine = new 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 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 StringProperty() { var engine = new 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 ObjectProperty() { var engine = new 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 ObjectProperty() { var engine = new 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 TranslateAverage() { var expression = (Expression <Func <TestModel, double> >)(m => m.Items.Average(i => i.Length)); var translation = Translate(expression); var model = @"{items:['x', 'xx', 'xxx']}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script); Assert.AreEqual(2, result); }
public void TranslateSum() { var expression = Expression(m => m.Items.Sum(i => i.Length).ToString()); var translation = Translate(expression); var model = @"{items:['y', 'x2']}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script); Assert.AreEqual("3", result); }
public void TranslateContains() { var expression = (Expression <Func <TestModel, object> >)(m => m.Items.Contains("x2")); var translation = Translate(expression); var model = @"{items:['y', 'x2']}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script); Assert.AreEqual(true, result); }
public void StringProperty() { var engine = new 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 TranslateElementAtOrDefault() { var expression = (Expression <Func <TestModel, object> >)(m => m.Items.ElementAtOrDefault(3)); var translation = Translate(expression); var model = @"{items:['y', 'x', 'z']}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script); Assert.AreEqual(Null.Value, result); }
public void TranslateCountWithFilter() { var expression = (Expression <Func <TestModel, object> >)(m => m.Items.Count(i => i.Length > 1)); var translation = Translate(expression); var model = @"{items:['y', 'xx', 'z']}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script); Assert.AreEqual(1, result); }
public void CallANETMethod1() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalFunction("test", new Func<int, int, int>((a, b) => a + b)); Assert.AreEqual(11, engine.Evaluate<int>("test(5, 6)")); engine.SetGlobalFunction("test2", new Func<string, string>(str => str.ToUpper())); Assert.AreEqual("TEST", engine.Evaluate<string>("test2('test')")); var num = 0; engine.SetGlobalFunction("test3", new Action<int>(a => num = a)); engine.Evaluate("test3(5)"); Assert.AreEqual(5, num); }
public void PropertyAttributes() { var engine = new 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")); }
Scripting() { Self = this; ConsoleEngine = new Jurassic.ScriptEngine(); foreach (List <object> List in API.Expose(API.LEVEL.CONSOLE, this)) { ConsoleEngine.SetGlobalFunction((string)List[0], (Delegate)List[1]); } SetupServerEngine(); SetupClientEngine(); }
public void PropertyAttributes() { var engine = new 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 TranslateDefaultIfEmpty() { var expression = (Expression <Func <TestModel, object> >)(m => m.IntItems.DefaultIfEmpty()); var translation = Translate(expression); var model = @"{intItems:[]}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script) as ArrayInstance; Assert.IsNotNull(result); Assert.AreEqual((uint)1, result.Length); Assert.AreEqual(0, result.ElementValues.First()); }
public void TranslateWhere() { var expression = (Expression <Func <TestModel, object> >)(m => m.Items.Where(i => i.Length > 1)); var translation = Translate(expression); var model = @"{items:['y', 'x2']}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script) as ArrayInstance; Assert.IsNotNull(result); Assert.AreEqual((uint)1, result.Length); Assert.AreEqual("x2", result.ElementValues.First()); }
public void TranslateSelect() { var expression = (Expression <Func <TestModel, object> >)(m => m.Items.Select(i => i.Length)); var translation = Translate(expression); var model = @"{items:['y', 'x2']}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script) as ArrayInstance; Assert.IsNotNull(result); Assert.AreEqual((uint)2, result.Length); Assert.AreEqual(1, result[0]); Assert.AreEqual(2, result[1]); }
public object InstallBundle(Jurassic.ScriptEngine engine) { engine.Execute(Barista.Properties.Resources.jsonDataHandler); engine.Execute(Barista.Properties.Resources.Automapper); engine.SetGlobalValue("JsonMergeSettings", new JsonMergeSettingsConstructor(engine)); engine.SetGlobalValue("JsonSchema", new JsonSchemaConstructor(engine)); engine.Object.InstancePrototype.SetPropertyValue("merge", new JsonData.MergeFunctionInstance(engine, engine.Object.InstancePrototype), false); engine.Object.InstancePrototype.SetPropertyValue("selectToken", new JsonData.SelectTokenFunctionInstance(engine, engine.Object.InstancePrototype), false); engine.Object.InstancePrototype.SetPropertyValue("selectTokens", new JsonData.SelectTokensFunctionInstance(engine, engine.Object.InstancePrototype), false); engine.Object.InstancePrototype.SetPropertyValue("isValid", new JsonData.IsValidFunctionInstance(engine, engine.Object.InstancePrototype), false); engine.Object.InstancePrototype.SetPropertyValue("isValid2", new JsonData.IsValid2FunctionInstance(engine, engine.Object.InstancePrototype), false); return(Null.Value); }
public void TranslateNotEndsWith() { var expression = Expression(m => m.Text.EndsWith("xy") ? "fail" : DryvResultMessage.Success); var translation = Translate(expression); var model = @"{text:'ab'}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script); Assert.AreEqual(Null.Value, result); }
public void TranslateEndsWithWithIgnoreCase() { var expression = Expression(m => m.Text.EndsWith("xy", StringComparison.OrdinalIgnoreCase) ? "fail" : DryvResultMessage.Success); var translation = Translate(expression); var model = @"{text:'zzzzzzzXY'}"; var engine = new Jurassic.ScriptEngine(); var script = $"({translation})({model})"; var result = engine.Evaluate(script) as string; Assert.AreEqual("fail", result); }
static void Main(string[] args) { var engine = new Jurassic.ScriptEngine(); new Dictionary <string, ObjectInstance> { { "console", new Jurassic.Library.FirebugConsole(engine) }, { "advapi32", new JsConstructor <AdvApi32>(engine) } } .ToList() .ForEach(x => engine.SetGlobalValue(x.Key, x.Value)); var file = ""; #if DEBUG file = args.Length >= 1 ? args[0] : "../../def.js"; #else if (args.Length < 0) { Console.WriteLine("error"); return; } file = args[0]; #endif try { var result = engine.Evaluate <CreateServiceOut>(File.ReadAllText(file)); var x = result.Message; Console.WriteLine($"C# Result: {result.Result}"); Console.WriteLine($"C# ErrorCode: {result.ErrorCode}"); Console.WriteLine($"C# Message: {result.Message}"); } catch (JavaScriptException e) { Console.WriteLine("C# JavaScriptException: " + e.Message); } catch (Exception e) { Console.WriteLine("C# Exception: " + e.Message); } Console.ReadKey(); }
public void ExposingANETClass1() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("appInfo", new AppInfo(engine)); Assert.AreEqual("Test Application 5", engine.Evaluate<string>("appInfo.name + ' ' + appInfo.version")); }
public void ExecutingScript1() { var engine = new Jurassic.ScriptEngine(); engine.ExecuteFile(@"..\..\..\Unit Tests\Core\Sample Files\execute1.js"); }
public object InstallBundle(Jurassic.ScriptEngine engine) { engine.Execute(LinqScriptSource); return(Null.Value); }
public void EvaluateExpression1() { var engine = new Jurassic.ScriptEngine(); Assert.AreEqual(52, engine.Evaluate("5 * 10 + 2")); }
public void ConsoleAPI1() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("console", new Jurassic.Library.FirebugConsole(engine)); }
public void AnonymousProperty() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("test", new ClassWithAnonymousProperty(engine)); Assert.AreEqual(5, engine.Evaluate<int>("test['']")); }
public void ExposingANETClass3_Call() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("Random", new RandomConstructor(engine)); Assert.AreEqual(Undefined.Value, engine.Evaluate("Random(1000);")); }
public void ExposingANETClass2() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("math2", new Math2(engine)); Assert.AreEqual(3.0, engine.Evaluate<double>("math2.log10(1000)")); }
private void bw_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; string work = e.Argument as string; int tm = 31; System.Net.WebClient wc = new System.Net.WebClient(); wc.Encoding = System.Text.Encoding.UTF8; wc.DownloadStringCompleted += new DownloadStringCompletedEventHandler(wc_jsCompleted); try { wc.DownloadStringAsync(new Uri(work)); } catch { this.value = "Could not open script: " + work; tm = 0; } //js = "function onmessage(s){s='Child got: '+s;workermessage(s);}var i=1000000;var m=0;var o=[];while(i>0){i=i-1;m=Math.floor(Math.ceil(Math.random()*1000000)/(Math.ceil(Math.random()*1000)+1));if(m%19==0){o.push(m);}}workermessage(o.join(', '));workercompleted('done!');"; while (0<--tm) { if (worker.CancellationPending == true) { e.Cancel = true; js = ""; break; } else if(js.Length>0) { break; } Thread.Sleep(1000); } if (js.Length > 0) { var engine = new Jurassic.ScriptEngine(); MethodInfo mi1 = typeof(MainPage).GetMethod("message", BindingFlags.Public | BindingFlags.Instance); Delegate del1 = Delegate.CreateDelegate(typeof(msg), this, mi1, true); ; MethodInfo mi2 = typeof(MainPage).GetMethod("complete", BindingFlags.Public | BindingFlags.Instance); Delegate del2 = Delegate.CreateDelegate(typeof(msg), this, mi2, true); engine.SetGlobalFunction(this.onworkermessage, del1); engine.SetGlobalFunction(this.onworkercompleted, del2); engine.Execute(js); tm = Int32.Parse(this.timeout); while (0 < --tm) { if(this.msg.Length>0) { //send a message to the worker engine.CallGlobalFunction("onmessage", this.msg); this.msg = ""; } else if (worker.CancellationPending == true) { e.Cancel = true; break; } else if (this.completed == true) { break; } Thread.Sleep(1000); } } }
public void ExecutingScript1() { var engine = new Jurassic.ScriptEngine(); engine.ExecuteFile(Path.Combine(FilesDir, "execute1.js")); }
public void ExecutingScript1() { var engine = new Jurassic.ScriptEngine(); engine.ExecuteFile(Path.Combine (FilesDir, "execute1.js")); }
private static ScriptEngine BuildJsEnvironment() { var js = new Jurassic.ScriptEngine(); js.Execute(Resources.coffeescript); return js; }
public void ExposingANETClass3() { var engine = new Jurassic.ScriptEngine(); engine.SetGlobalValue("Random", new RandomConstructor(engine)); Assert.AreEqual(0.15155745910087481, engine.Evaluate<double>("var rand = new Random(1000); rand.nextDouble()")); }
public static object DoJs(string jscode) { var engine = new Jurassic.ScriptEngine(); return(engine.Evaluate(jscode));// var addResult= engine.CallGlobalFunction(" main", 5, 6);//结果11 }
//string connectionString = String.Empty; //MongoClient client = null; //public class Entity //{ // public ObjectId Id { get; set; } // public string Name { get; set; } //} public Form1() { InitializeComponent(); //fontName = "InspectionXpert GDT"; fontName = "SOLIDWORKS GDT"; //fontSize = "9.5"; fontSize = "8"; fontFormat = "#,##0.000"; ffontSize = Convert.ToSingle(fontSize); newFont = new System.Drawing.Font(fontName, ffontSize); Version version = null; if (ApplicationDeployment.IsNetworkDeployed) { version = ApplicationDeployment.CurrentDeployment.CurrentVersion; } else { version = Assembly.GetExecutingAssembly().GetName().Version; } this.label10.Text = String.Format(this.label10.Text, version.Major, version.Minor, version.Build, version.Revision); var engine = new Jurassic.ScriptEngine(); //engine.EnableDebugging = true; var result = engine.Evaluate("5 * 10 + 2"); //engine.SetGlobalValue("console", new Jurassic.Library.FirebugConsole(engine)); engine.ExecuteFile(@"test.js"); var result1 = engine.GetGlobalValue <string>("s"); var result2 = engine.GetGlobalValue <string>("word"); var resultx = engine.GetGlobalValue <int>("x"); var resulty = engine.GetGlobalValue <string>("y"); int result3 = 0; try { result3 = engine.CallGlobalFunction <int>("test2", 50, 6 * 2); } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } string resultTest3 = String.Empty; try { resultTest3 = engine.CallGlobalFunction <string>("test3", 50, 6 * 2); } catch (Exception ex) { MessageBox.Show("Error: " + ex.Message); } var result5 = engine.GetGlobalValue("z"); var result4 = engine.GetGlobalValue <string>("z"); foreach (var entry in result4) { int x = 0; x++; } var json = JSONObject.Stringify(engine, result4); var json2 = JSONObject.Stringify(engine, result5); Object xxxx = JSONObject.Parse(engine, json2); JsonTextReader reader = new JsonTextReader(new StringReader(json2)); while (reader.Read()) { if (reader.Value != null) { Console.WriteLine("Token: {0}, Value: {1}", reader.TokenType, reader.Value); } else { Console.WriteLine("Token: {0}", reader.TokenType); } } //var x = result4["sVal"]; //int i = 0; //string configPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "AXMCMMUtil.config"); //if (File.Exists(configPath)) //{ // Lua lua = new Lua(); // lua.DoFile(configPath); // fontName = (string)lua["fontName"]; // double tempSize = (double)lua["fontSize"]; // fontSize = tempSize.ToString(); // fontFormat = (string)lua["fontFormat"]; // ffontSize = Convert.ToSingle(fontSize); // newFont = new System.Drawing.Font(fontName, ffontSize); //} //connectionString = "mongodb://192.168.1.9"; //client = new MongoClient(connectionString); //var server = client.GetServer(); //var database = server.GetDatabase("test"); // "test" is the name of the database //// "entities" is the name of the collection //var collection = database.GetCollection<Entity>("entities"); //var entity = new Entity { Name = "Tom" }; //collection.Insert(entity); //var id = entity.Id; // Insert will set the Id if necessary (as it was in this example) //var query = Query<Entity>.EQ(e => e.Id, id); //entity = collection.FindOne(query); //entity.Name = "Dick"; //collection.Save(entity); //var update = Update<Entity>.Set(e => e.Name, "Harry"); //collection.Update(query, update); //collection.Remove(query); //var fileName = "D:\\Dropbox\\Dev\\AXMCMMUtil\\bin\\Debug\\Output.zip"; //var newFileName = "D:\\Dropbox\\Dev\\AXMCMMUtil\\bin\\Debug\\OutputNew.zip"; //using (var fs = new FileStream(fileName, FileMode.Open)) //{ // var gridFsInfo = database.GridFS.Upload(fs, fileName); // var fileId = gridFsInfo.Id; // ObjectId oid = new ObjectId(fileId); // ObjectId xxx = new ObjectId(); // var file = database.GridFS.FindOne(Query.EQ("_id", oid)); // //using (var stream = file.OpenRead()) // //{ // // var bytes = new byte[stream.Length]; // // stream.Read(bytes, 0, (int)stream.Length); // // using (var newFs = new FileStream(newFileName, FileMode.Create)) // // { // // newFs.Write(bytes, 0, bytes.Length); // // } // //} //} }
public void CallANETMethod1() { var engine = new 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 Jurassic.ScriptEngine(); engine.Evaluate("function test(a, b) { return a + b }"); Assert.AreEqual(11, engine.CallGlobalFunction<int>("test", 5, 6)); }
public JurassicJavaScriptContextImplementation(Jurassic.ScriptEngine javascriptContext) { this._javascriptContext = javascriptContext; }
public void EvaluateExpression2() { var engine = new Jurassic.ScriptEngine(); Assert.AreEqual(3, engine.Evaluate <int>("1.5 + 2.4")); }
public object InstallBundle(Jurassic.ScriptEngine engine) { engine.Execute(Barista.Properties.Resources.moment_min); return(Null.Value); }
public static string analysis(string s) { ScriptEngine engine = new Jurassic.ScriptEngine(); engine.Evaluate(@"var _0xdd02 = ['host', 'javjunkies.com', 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=', '', 'substr', 'charAt', 'indexOf', 'fromCharCode', 'length', 'join', 'charCodeAt']; function jj(_0x95d8x2) { var _0x95d8x3 = _0xdd02[2]; var _0x95d8x4, _0x95d8x5, _0x95d8x6, _0x95d8x7, _0x95d8x8, _0x95d8x9, _0x95d8xa, _0x95d8xb, _0x95d8xc = 0, _0x95d8xd = 0, _0x95d8xe = _0xdd02[3], _0x95d8xf = []; if (!_0x95d8x2) { return _0x95d8x2 } ; _0x95d8x2 = _0x95d8x2[_0xdd02[4]](3); _0x95d8x2 += _0xdd02[3]; do { _0x95d8x7 = _0x95d8x3[_0xdd02[6]](_0x95d8x2[_0xdd02[5]](_0x95d8xc++)); _0x95d8x8 = _0x95d8x3[_0xdd02[6]](_0x95d8x2[_0xdd02[5]](_0x95d8xc++)); _0x95d8x9 = _0x95d8x3[_0xdd02[6]](_0x95d8x2[_0xdd02[5]](_0x95d8xc++)); _0x95d8xa = _0x95d8x3[_0xdd02[6]](_0x95d8x2[_0xdd02[5]](_0x95d8xc++)); _0x95d8xb = _0x95d8x7 << 18 | _0x95d8x8 << 12 | _0x95d8x9 << 6 | _0x95d8xa; _0x95d8x4 = _0x95d8xb >> 16 & 0xff; _0x95d8x5 = _0x95d8xb >> 8 & 0xff; _0x95d8x6 = _0x95d8xb & 0xff; if (_0x95d8x9 == 64) { _0x95d8xf[_0x95d8xd++] = String[_0xdd02[7]](_0x95d8x4) } else { if (_0x95d8xa == 64) { _0x95d8xf[_0x95d8xd++] = String[_0xdd02[7]](_0x95d8x4, _0x95d8x5) } else { _0x95d8xf[_0x95d8xd++] = String[_0xdd02[7]](_0x95d8x4, _0x95d8x5, _0x95d8x6) } } } while (_0x95d8xc < _0x95d8x2[_0xdd02[8]]); _0x95d8xe = _0x95d8xf[_0xdd02[9]](_0xdd02[3]); return utf8d(_0x95d8xe) } function utf8d(_0x95d8x11) { var _0x95d8x12 = _0xdd02[3], _0x95d8xc = 0, _0x95d8x13 = c1 = c2 = 0; while (_0x95d8xc < _0x95d8x11[_0xdd02[8]]) { _0x95d8x13 = _0x95d8x11[_0xdd02[10]](_0x95d8xc); if (_0x95d8x13 < 128) { _0x95d8x12 += String[_0xdd02[7]](_0x95d8x13); _0x95d8xc++ } else { if ((_0x95d8x13 > 191) && (_0x95d8x13 < 224)) { c2 = _0x95d8x11[_0xdd02[10]](_0x95d8xc + 1); _0x95d8x12 += String[_0xdd02[7]](((_0x95d8x13 & 31) << 6) | (c2 & 63)); _0x95d8xc += 2 } else { c2 = _0x95d8x11[_0xdd02[10]](_0x95d8xc + 1); c3 = _0x95d8x11[_0xdd02[10]](_0x95d8xc + 2); _0x95d8x12 += String[_0xdd02[7]](((_0x95d8x13 & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63)); _0x95d8xc += 3 } } } ; return _0x95d8x12 }"); string res = engine.CallGlobalFunction <string>("jj", s); //Regex r2 = new Regex(@"Vídeo Id: .*<br>Sìze:"); //Item.id = r2.Matches(res)[0].Value.Split(new string[] { "Vídeo Id: ", "<br>Sìze:" }, StringSplitOptions.RemoveEmptyEntries)[0]; //Item.id = "<a>" + Item.torrent.Replace(">", "/>")+"</a>"; //XmlDocument xmlDoc = new XmlDocument(); //xmlDoc.LoadXml(Item.id); //string id=""; //foreach (XmlNode x in xmlDoc.GetElementsByTagName("a")[0].ChildNodes) //{ // string key = x.Attributes["style"].Value; // key = key.Substring(0, key.IndexOf(";") + 1); // key = dictionary[key]; // id += key; //} res = res.Replace(">", "/>"); Regex r1 = new Regex("<img src=\".*?px;\"/>"); MatchCollection mc = r1.Matches(res); foreach (Match m in mc) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.LoadXml(m.ToString()); string key = xmlDoc.GetElementsByTagName("img")[0].Attributes["style"].Value; key = key.Substring(0, key.IndexOf(";")); string cha = dictionary[key]; res = res.Replace(m.ToString(), cha); } Item.info = res; Regex r2 = new Regex("Vídeo Id: .*?<br/>"); try { Item.id = r2.Matches(res)[0].ToString().Split(new string[] { "Vídeo Id: ", "<br/>" }, StringSplitOptions.RemoveEmptyEntries)[0]; } catch { Item.id = ""; } return(Item.id); }