public override int Execute() { if (!System.IO.File.Exists(_path)) { Echo(String.Format("Script file is not found '{0}'", _path)); return(2); } SystemLogger.SetWriter(this); var hostedScript = new HostedScriptEngine(); hostedScript.CustomConfig = ScriptFileHelper.CustomConfigPath(_path); ScriptFileHelper.OnBeforeScriptRead(hostedScript); var source = hostedScript.Loader.FromFile(_path); Process process; try { process = hostedScript.CreateProcess(this, source); } catch (Exception e) { this.ShowExceptionInfo(e); return(1); } var result = process.Start(); hostedScript.Finalize(); return(result); }
public void CheckUndefinedIsNull19() { SystemLogger.SetWriter(this); _messages.Clear(); bool wasException = false; // Передача и возврат Неопределено в функцию try { host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = Неопределено; ВЗ = 5.7; ВЗ = К.ТестBool(Арг);"); } catch (Exception) { wasException = true; } if (!wasException) { Assert.Fail("Test bool Func(bool) -> Func(Unknown): must raise exception"); } }
public void TestICallGoodAndHaveNoWarning() { SystemLogger.SetWriter(this); _messages.Clear(); host.RunTestString( @"К = Новый ТестовыйКласс; К.ХорошийМетод(); К.GoodMethod();" ); Assert.AreEqual(0, _messages.Count, "Нет предупреждений"); }
public void TestICallDeprecatedAliasAndHaveWarning() { SystemLogger.SetWriter(this); _messages.Clear(); host.RunTestString( @"К = Новый ТестовыйКласс; К.ObsoleteAlias();" ); Assert.AreEqual(1, _messages.Count, "Только ОДНО предупреждение"); Assert.IsTrue(_messages[0].IndexOf("ObsoleteAlias", StringComparison.InvariantCultureIgnoreCase) >= 0); }
private void Button_Click_1(object sender, RoutedEventArgs e) { SaveLastCode(); // Сохраним набранный текст на случай зависания или вылета result.Text = ""; var sw = new System.Diagnostics.Stopwatch(); List <string> l_args = new List <string>(); for (var i = 0; i < args.LineCount; i++) { string s = args.GetLineText(i); if (s.IndexOf('#') != 0) { l_args.Add(s.Trim()); } } var host = new Host(result, l_args.ToArray()); SystemLogger.SetWriter(host); var hostedScript = new HostedScriptEngine(); hostedScript.CustomConfig = CustomConfigPath(_currentDocPath); SetEncodingFromConfig(hostedScript); var src = new EditedFileSource(txtCode.Text, _currentDocPath); Process process = null; try { process = hostedScript.CreateProcess(host, src); } catch (Exception exc) { host.Echo(exc.Message); return; } result.AppendText("Script started: " + DateTime.Now.ToString() + "\n"); sw.Start(); var returnCode = process.Start(); sw.Stop(); if (returnCode != 0) { result.AppendText("\nError detected. Exit code = " + returnCode.ToString()); } result.AppendText("\nScript completed: " + DateTime.Now.ToString()); result.AppendText("\nDuration: " + sw.Elapsed.ToString()); }
public void CheckUndefinedIsNull10() { SystemLogger.SetWriter(this); _messages.Clear(); host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = 3; ВЗ = 5.7; ВЗ = К.ТестUInt(Арг); Если Не ВЗ = Арг Тогда ВызватьИсключение ""Test uint Func(uint) -> Func(uint): return value is not equal of argument""; КонецЕсли;"); }
public void CheckUndefinedIsNull20() { SystemLogger.SetWriter(this); _messages.Clear(); host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = 3.5; К.ПIValue = Арг; ВЗ = К.КПIValue; Если Не ВЗ = Арг Тогда ВызватьИсключение ""Test IValue Prop <-> IValue: return value is not equal of argument""; КонецЕсли;"); }
public void CheckUndefinedIsNull2() { SystemLogger.SetWriter(this); _messages.Clear(); // Передача и возврат значения Class в функцию Class host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = Новый ПNullClass; ВЗ = 5.7; ВЗ = К.ТестКласс(Арг); Если Не ВЗ = Арг Тогда ВызватьИсключение ""Test Class Func(Class) -> Func(Class): return value is not equal of argument""; КонецЕсли;"); }
public void CheckUndefinedIsNull1() { SystemLogger.SetWriter(this); _messages.Clear(); // Передача и возврат значения в функцию IValue host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = 7.5; ВЗ = 5.7; ВЗ = К.ТестIValue(Арг); Если Не ВЗ = Арг Тогда ВызватьИсключение ""Test IValue Func(IValue) -> Func(IValue): return value is not equal of argument""; КонецЕсли;"); }
public void CheckUndefinedIsNull24() { SystemLogger.SetWriter(this); _messages.Clear(); // Передача и возврат string host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = ""hello""; К.ПString = Арг; ВЗ = К.ПString; Если Не ВЗ = Арг Тогда ВызватьИсключение ""Test string Prop <-> string: return value is not equal of argument""; КонецЕсли;"); }
public void CheckUndefinedIsNull0() { SystemLogger.SetWriter(this); _messages.Clear(); // Передача и возврат Неопределено в функцию IValue host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = Неопределено; ВЗ = 5.5; ВЗ = К.ТестIValueНеопределено(Арг); Если Не ВЗ = Неопределено Тогда ВызватьИсключение ""Test IValue Func(IValue) -> Func(Unknown): return value is not equal Undefined""; КонецЕсли;"); }
public void CheckUndefinedIsNull18() { SystemLogger.SetWriter(this); _messages.Clear(); // Передача и возврат bool в функцию host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = Истина; ВЗ = 5.7; ВЗ = К.ТестBool(Арг); Если Не ВЗ = Арг Тогда ВызватьИсключение ""Test bool Func(bool) -> Func(bool): return value is not equal of argument""; КонецЕсли;"); }
public void CheckUndefinedIsNull16() { SystemLogger.SetWriter(this); _messages.Clear(); // Передача и возврат DateTime в функцию host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = ТекущаяДата(); ВЗ = 5.7; ВЗ = К.ТестDateTime(Арг); Если Не ВЗ = Арг Тогда ВызватьИсключение ""Test DateTime Func(DateTime) -> Func(DateTime): return value is not equal of argument""; КонецЕсли;"); }
public void CheckUndefinedIsNull25() { SystemLogger.SetWriter(this); _messages.Clear(); // Передача и возврат string host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = Неопределено; К.ПNullString = Арг; ВЗ = К.ПNullString; Если Не ВЗ = Неопределено Тогда ВызватьИсключение ""Test string Prop <-> Unknown: return value is not equal of Unknown""; КонецЕсли;"); }
public void CheckUndefinedIsNull3() { SystemLogger.SetWriter(this); _messages.Clear(); // Передача и возврат значения Неопределено в функцию Class host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = Неопределено; ВЗ = 5.7; ВЗ = К.ТестClassНеопределено(Арг); Если Не ВЗ = Неопределено Тогда ВызватьИсключение ""Test Class Func(Class) -> Func(Unknown): return value is not equal of Unknown""; КонецЕсли;"); }
public void CheckUndefinedIsNull22() { SystemLogger.SetWriter(this); _messages.Clear(); // Передача и возврат Class host.RunTestString( @"К = Новый ТестNullПреобразования; Арг = Новый ТестNullКласс; К.ПClass = Арг; ВЗ = К.ПClass; Если Не ВЗ = Арг Тогда ВызватьИсключение ""Test Class Prop <-> Class: return value is not equal of argument""; КонецЕсли;"); }
public void TestICallDeprecatedAliasAndHaveException() { SystemLogger.SetWriter(this); _messages.Clear(); var exceptionThrown = false; try { host.RunTestString( @"К = Новый ТестовыйКласс; К.VeryObsoleteAlias();" ); } catch (RuntimeException) { exceptionThrown = true; } Assert.IsTrue(exceptionThrown, "Безнадёжно устаревший метод должен вызвать исключение"); }
public override int Execute() { var executor = new ExecuteScriptBehavior(_path, _args); SystemLogger.SetWriter(executor); switch (ProtocolType) { case DebugProtocolType.Wcf: executor.DebugController = new WcfDebugController(_port); break; case DebugProtocolType.Tcp: default: var tcpDebugServer = new BinaryTcpDebugServer(_port); executor.DebugController = tcpDebugServer.CreateDebugController(); break; } return(executor.Execute()); }