aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Tests
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Tests')
-rw-r--r--OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/LSLCompilerTest.cs31
1 files changed, 31 insertions, 0 deletions
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/LSLCompilerTest.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/LSLCompilerTest.cs
index 6e42c16..56a5b4c 100644
--- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/LSLCompilerTest.cs
+++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/LSLCompilerTest.cs
@@ -26,6 +26,7 @@
26 */ 26 */
27 27
28using System.Collections.Generic; 28using System.Collections.Generic;
29using System.Text.RegularExpressions;
29using NUnit.Framework; 30using NUnit.Framework;
30using OpenSim.Region.ScriptEngine.Shared.CodeTools; 31using OpenSim.Region.ScriptEngine.Shared.CodeTools;
31 32
@@ -1299,5 +1300,35 @@ default
1299 string output = cg.Generate(); 1300 string output = cg.Generate();
1300 Assert.AreEqual(expected, output); 1301 Assert.AreEqual(expected, output);
1301 } 1302 }
1303
1304 [Test]
1305 [ExpectedException("Tools.CSToolsException")]
1306 public void TestSyntaxError()
1307 {
1308 string input = @"default
1309{
1310 state_entry()
1311 {
1312 integer y
1313 }
1314}
1315";
1316 try
1317 {
1318 CSCodeGenerator cg = new CSCodeGenerator(input);
1319 string output = cg.Generate();
1320 }
1321 catch (Tools.CSToolsException e)
1322 {
1323 // The syntax error is on line 6, char 5 (expected ';', found
1324 // '}').
1325 Regex r = new Regex("Line ([0-9]+), char ([0-9]+)");
1326 Match m = r.Match(e.Message);
1327 Assert.AreEqual("6", m.Groups[1].Value);
1328 Assert.AreEqual("5", m.Groups[2].Value);
1329
1330 throw;
1331 }
1332 }
1302 } 1333 }
1303} 1334}