本文整理汇总了C#中Global.DefineFunctionProperties方法的典型用法代码示例。如果您正苦于以下问题:C# Global.DefineFunctionProperties方法的具体用法?C# Global.DefineFunctionProperties怎么用?C# Global.DefineFunctionProperties使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Global
的用法示例。
在下文中一共展示了Global.DefineFunctionProperties方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Run
/// <exception cref="System.Exception"></exception>
public static void Run(ShellContextFactory shellContextFactory, FilePath jsFile, ShellTest.Parameters parameters, ShellTest.Status status)
{
Global global = new Global();
MemoryStream @out = new MemoryStream();
TextWriter p = new TextWriter(@out);
global.SetOut(p);
global.SetErr(p);
global.DefineFunctionProperties(new string[] { "options" }, typeof(ShellTest), ScriptableObject.DONTENUM | ScriptableObject.PERMANENT | ScriptableObject.READONLY);
// test suite expects keywords to be disallowed as identifiers
shellContextFactory.SetAllowReservedKeywords(false);
ShellTest.TestState testState = new ShellTest.TestState();
if (jsFile.GetName().EndsWith("-n.js"))
{
status.SetNegative();
}
Exception[] thrown = new Exception[] { null };
Sharpen.Thread t = new Sharpen.Thread(new _Runnable_274(shellContextFactory, thrown, testState, status, jsFile, global), jsFile.GetPath());
t.SetDaemon(true);
t.Start();
t.Join(parameters.GetTimeoutMilliseconds());
lock (testState)
{
if (!testState.finished)
{
CallStop(t);
status.TimedOut();
}
}
int expectedExitCode = 0;
p.Flush();
status.OutputWas(Sharpen.Runtime.GetStringForBytes(@out.ToArray()));
BufferedReader r = new BufferedReader(new StreamReader(new MemoryStream(@out.ToArray())));
string failures = string.Empty;
for (; ; )
{
string s = r.ReadLine();
if (s == null)
{
break;
}
if (s.IndexOf("FAILED!") != -1)
{
failures += s + '\n';
}
int expex = s.IndexOf("EXPECT EXIT CODE ");
if (expex != -1)
{
expectedExitCode = s[expex + "EXPECT EXIT CODE ".Length] - '0';
}
}
if (thrown[0] != null)
{
status.Threw(thrown[0]);
}
status.ExitCodesWere(expectedExitCode, testState.exitCode);
if (failures != string.Empty)
{
status.Failed(failures);
}
}