Message reporting if indexable value does not exist

This commit is contained in:
2018-11-20 17:33:51 +01:00
parent 2f8c295675
commit fe4a8d25ad
9 changed files with 61 additions and 27 deletions

View File

@@ -54,8 +54,7 @@ return table[""test""]
var script = new Script(input);
Assert.Empty(script.Diagnostics.Messages);
var evaluated = script.Evaluate();
Assert.Empty(script.Diagnostics.Messages);
Assert.Null(evaluated);
Assert.Single(script.Diagnostics.Messages);
}
[Fact]

View File

@@ -25,6 +25,7 @@ namespace UpsilonTests
{
public string FieldString = "TestField";
public string FieldStringSet;
private string _privateTestField = "hidden";
public bool TestMethodHasRun { get; private set; }
public void TestMethod()
@@ -104,5 +105,21 @@ end
Assert.Empty(script.Diagnostics.Messages);
Assert.Equal(result, 120);
}
[Fact]
public void CantAccessHiddenFields()
{
var obj = new UserDataHelper();
const string input = @"
function test(o)
return o._privateTestField
end
";
var script = new Script(input);
Assert.Empty(script.Diagnostics.Messages);
script.EvaluateFunction("test", new[] {obj});
Assert.Single(script.Diagnostics.Messages);
}
}
}