Skip to content

Commit 0f8424d

Browse files
committed
Streamline AngelscriptSyntaxTests.
1 parent 5d2f063 commit 0f8424d

File tree

1 file changed

+10
-36
lines changed

1 file changed

+10
-36
lines changed

ServerCodeExciserTest/AngelscriptSyntaxTests.cs

Lines changed: 10 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -22,25 +22,13 @@ public override void SyntaxError(TextWriter output, IRecognizer recognizer, ITok
2222
[DataRow("Nested::mynamespace")]
2323
public void Namespace(string @namespace)
2424
{
25-
var script = $"namespace {@namespace}\r\n{{\r\n}}\r\n";
26-
var lexer = new UnrealAngelscriptLexer(new AntlrInputStream(script));
27-
var tokenStream = new CommonTokenStream(lexer);
28-
var parser = new UnrealAngelscriptParser(tokenStream);
29-
parser.RemoveErrorListeners();
30-
parser.AddErrorListener(new ThrowingErrorListener());
31-
new UnrealAngelscriptSimpleVisitor(script).VisitChildren(parser.script());
25+
ParseScript($"namespace {@namespace}\r\n{{\r\n}}\r\n");
3226
}
3327

3428
[TestMethod]
3529
public void NamedArgumentsFunctionCall()
3630
{
37-
var script = "void Func(bool Arg1 = false, int Arg2 = 0) {}\r\nvoid main() { Func(Arg2: 1, Arg1: true); }\r\n";
38-
var lexer = new UnrealAngelscriptLexer(new AntlrInputStream(script));
39-
var tokenStream = new CommonTokenStream(lexer);
40-
var parser = new UnrealAngelscriptParser(tokenStream);
41-
parser.RemoveErrorListeners();
42-
parser.AddErrorListener(new ThrowingErrorListener());
43-
new UnrealAngelscriptSimpleVisitor(script).VisitChildren(parser.script());
31+
ParseScript("void Func(bool Arg1 = false, int Arg2 = 0) {}\r\nvoid main() { Func(Arg2: 1, Arg1: true); }\r\n");
4432
}
4533

4634
[TestMethod]
@@ -52,13 +40,7 @@ public void NamedArgumentsFunctionCall()
5240
[DataRow("accept_temporary_this")] // UnrealAngelscript
5341
public void FunctionModifier(string modifier)
5442
{
55-
var script = $"protected bool Func() {modifier}\r\n{{\r\nreturn true;\r\n}}";
56-
var lexer = new UnrealAngelscriptLexer(new AntlrInputStream(script));
57-
var tokenStream = new CommonTokenStream(lexer);
58-
var parser = new UnrealAngelscriptParser(tokenStream);
59-
parser.RemoveErrorListeners();
60-
parser.AddErrorListener(new ThrowingErrorListener());
61-
new UnrealAngelscriptSimpleVisitor(script).VisitChildren(parser.script());
43+
ParseScript($"bool Func() {modifier}\r\n{{\r\nreturn true;\r\n}}");
6244
}
6345

6446
[TestMethod]
@@ -81,13 +63,7 @@ public void FunctionModifier(string modifier)
8163
[DataRow("string", "f\"Formatted String: {L:0.1f}\\u00B0\"")] // https://angelscript.hazelight.se/scripting/format-strings/
8264
public void DataType(string type, string value)
8365
{
84-
var script = $"{type} VAR = {value};";
85-
var lexer = new UnrealAngelscriptLexer(new AntlrInputStream(script));
86-
var tokenStream = new CommonTokenStream(lexer);
87-
var parser = new UnrealAngelscriptParser(tokenStream);
88-
parser.RemoveErrorListeners();
89-
parser.AddErrorListener(new ThrowingErrorListener());
90-
new UnrealAngelscriptSimpleVisitor(script).VisitChildren(parser.script());
66+
ParseScript($"{type} VAR = {value};");
9167
}
9268

9369
[TestMethod]
@@ -96,13 +72,7 @@ public void DataType(string type, string value)
9672
[DataRow("UCLASS(Abstract)")]
9773
public void UClass(string annotation)
9874
{
99-
var script = $"{annotation} class ClassName : BaseClass {{}};";
100-
var lexer = new UnrealAngelscriptLexer(new AntlrInputStream(script));
101-
var tokenStream = new CommonTokenStream(lexer);
102-
var parser = new UnrealAngelscriptParser(tokenStream);
103-
parser.RemoveErrorListeners();
104-
parser.AddErrorListener(new ThrowingErrorListener());
105-
new UnrealAngelscriptSimpleVisitor(script).VisitChildren(parser.script());
75+
ParseScript($"{annotation} class ClassName : BaseClass {{}};");
10676
}
10777

10878
[TestMethod]
@@ -113,7 +83,11 @@ public void UClass(string annotation)
11383
[DataRow("UPROPERTY(DefaultComponent, RootComponent)")]
11484
public void UProperty(string annotation)
11585
{
116-
var script = $"class ClassName : BaseClass\r\n{{\r\n\t{annotation}\r\nDummyType DummyProperty;\r\n}};";
86+
ParseScript($"class ClassName : BaseClass\r\n{{\r\n\t{annotation}\r\nDummyType DummyProperty;\r\n}};");
87+
}
88+
89+
private static void ParseScript(string script)
90+
{
11791
var lexer = new UnrealAngelscriptLexer(new AntlrInputStream(script));
11892
var tokenStream = new CommonTokenStream(lexer);
11993
var parser = new UnrealAngelscriptParser(tokenStream);

0 commit comments

Comments
 (0)