aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/CompilerTest.cs35
1 files changed, 34 insertions, 1 deletions
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/CompilerTest.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/CompilerTest.cs
index 43e3143..7725d8d 100644
--- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/CompilerTest.cs
+++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/CodeTools/CompilerTest.cs
@@ -85,11 +85,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
85 } 85 }
86 } 86 }
87 87
88 //[Test]
89 /// <summary> 88 /// <summary>
90 /// Test the C# compiler error message can be mapped to the correct 89 /// Test the C# compiler error message can be mapped to the correct
91 /// line/column in the LSL source when an undeclared variable is used. 90 /// line/column in the LSL source when an undeclared variable is used.
92 /// </summary> 91 /// </summary>
92 //[Test]
93 public void TestUseUndeclaredVariable() 93 public void TestUseUndeclaredVariable()
94 { 94 {
95 m_compilerParameters.OutputAssembly = Path.Combine(m_testDir, Path.GetRandomFileName() + ".dll"); 95 m_compilerParameters.OutputAssembly = Path.Combine(m_testDir, Path.GetRandomFileName() + ".dll");
@@ -116,5 +116,38 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
116 Assert.AreEqual(new KeyValuePair<int, int>(5, 21), 116 Assert.AreEqual(new KeyValuePair<int, int>(5, 21),
117 positionMap[new KeyValuePair<int, int>(m_compilerResults.Errors[0].Line, m_compilerResults.Errors[0].Column)]); 117 positionMap[new KeyValuePair<int, int>(m_compilerResults.Errors[0].Line, m_compilerResults.Errors[0].Column)]);
118 } 118 }
119
120 /// <summary>
121 /// Test that a string can be cast to string and another string
122 /// concatenated.
123 /// </summary>
124 //[Test]
125 public void TestCastAndConcatString()
126 {
127 m_compilerParameters.OutputAssembly = Path.Combine(m_testDir, Path.GetRandomFileName() + ".dll");
128
129 string input = @"string s = "" a string"";
130
131default
132{
133 state_entry()
134 {
135 key gAvatarKey = llDetectedKey(0);
136 string tmp = (string) gAvatarKey + s;
137 llSay(0, tmp);
138 }
139}";
140
141 CSCodeGenerator cg = new CSCodeGenerator();
142 string output = "using OpenSim.Region.ScriptEngine.Shared; using System.Collections.Generic;\n" +
143 "namespace SecondLife { " +
144 "public class Script : OpenSim.Region.ScriptEngine.Shared.ScriptBase.ScriptBaseClass {\n" +
145 "public Script() { } " +
146 cg.Convert(input) +
147 "} }\n";
148 m_compilerResults = m_CSCodeProvider.CompileAssemblyFromSource(m_compilerParameters, output);
149
150 Assert.AreEqual(0, m_compilerResults.Errors.Count);
151 }
119 } 152 }
120} 153}