Work on new execution start path
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
using System;
|
||||
using Upsilon;
|
||||
using Upsilon.Evaluator;
|
||||
using Xunit;
|
||||
|
||||
@@ -13,15 +14,14 @@ namespace UpsilonTests.StandardLibraryTests
|
||||
[Fact]
|
||||
public void AssertTest()
|
||||
{
|
||||
new Script("assert(true)", BoundScope, StaticScope).Evaluate();
|
||||
Assert.Throws<Exception>(() => new Script("assert(false)", BoundScope, StaticScope).Evaluate());
|
||||
Executor.EvaluateScript("assert(true)", Options);
|
||||
Assert.Throws<Exception>(() => Executor.EvaluateScript("assert(true)", Options));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Error()
|
||||
{
|
||||
var e = Assert.Throws<Exception>(() =>
|
||||
new Script(@"error(""test_error"")", BoundScope, StaticScope).Evaluate());
|
||||
var e = Assert.Throws<Exception>(() => Executor.EvaluateScript(@"error(""test_error"")", Options));
|
||||
Assert.Equal("test_error", e.Message);
|
||||
}
|
||||
|
||||
@@ -36,10 +36,7 @@ for key, val in ipairs(arr) do
|
||||
end
|
||||
return value
|
||||
";
|
||||
var script = new Script(input, BoundScope, StaticScope);
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = script.Evaluate<long>();
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = Executor.EvaluateScript<long>(input, Options);
|
||||
Assert.Equal(184, result);
|
||||
}
|
||||
|
||||
@@ -49,10 +46,7 @@ return value
|
||||
const string input = @"
|
||||
return tonumber(""100"")
|
||||
";
|
||||
var script = new Script(input, BoundScope, StaticScope);
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = script.Evaluate<long>();
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = Executor.EvaluateScript<long>(input, Options);
|
||||
Assert.Equal(100, result);
|
||||
}
|
||||
|
||||
@@ -67,10 +61,7 @@ for key, val in pairs(arr) do
|
||||
end
|
||||
return value
|
||||
";
|
||||
var script = new Script(input, BoundScope, StaticScope);
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = script.Evaluate<long>();
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = Executor.EvaluateScript<long>(input, Options);
|
||||
Assert.Equal(284, result);
|
||||
}
|
||||
|
||||
@@ -80,10 +71,7 @@ return value
|
||||
const string input = @"
|
||||
return tostring(100)
|
||||
";
|
||||
var script = new Script(input, BoundScope, StaticScope);
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = script.Evaluate<string>();
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = Executor.EvaluateScript<string>(input, Options);
|
||||
Assert.Equal("100", result);
|
||||
}
|
||||
|
||||
@@ -93,10 +81,7 @@ return tostring(100)
|
||||
const string input = @"
|
||||
return type(100)
|
||||
";
|
||||
var script = new Script(input, BoundScope, StaticScope);
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = script.Evaluate<string>();
|
||||
Assert.Empty(script.Diagnostics.Messages);
|
||||
var result = Executor.EvaluateScript<string>(input, Options);
|
||||
Assert.Equal("Number", result);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user