aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Tests
diff options
context:
space:
mode:
authorMike Mazur2008-07-31 07:11:41 +0000
committerMike Mazur2008-07-31 07:11:41 +0000
commit57ec7a26cda361eeac9d7f010194cfe0dfa6c281 (patch)
treeeb8bb3680e3cb7db5449c3703835e6454e43ebbb /OpenSim/Tests
parentAllow assignments in if/while/do-while control statements. Fix issue 1862. (diff)
downloadopensim-SC_OLD-57ec7a26cda361eeac9d7f010194cfe0dfa6c281.zip
opensim-SC_OLD-57ec7a26cda361eeac9d7f010194cfe0dfa6c281.tar.gz
opensim-SC_OLD-57ec7a26cda361eeac9d7f010194cfe0dfa6c281.tar.bz2
opensim-SC_OLD-57ec7a26cda361eeac9d7f010194cfe0dfa6c281.tar.xz
-make ZERO_VECTOR and ZERO_ROTATION static readonly properties so they can be
used in scripts -cast from bool to LSL{Integer,Float,String} so functions such as `integer isZero(integer x) { return (x == 0); }` work -progress on issue 1863
Diffstat (limited to 'OpenSim/Tests')
-rw-r--r--OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs21
-rw-r--r--OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLInteger.cs21
-rw-r--r--OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLString.cs21
-rw-r--r--OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLFloat.cs21
-rw-r--r--OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLInteger.cs21
-rw-r--r--OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLString.cs21
6 files changed, 126 insertions, 0 deletions
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs
index 58ca8dd..d89bb87 100644
--- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs
+++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLFloat.cs
@@ -558,5 +558,26 @@ namespace OpenSim.Region.ScriptEngine.Common.Tests
558 } 558 }
559 } 559 }
560 } 560 }
561
562 /// <summary>
563 /// Tests boolean correctly cast implicitly to LSLFloat.
564 /// </summary>
565 [Test]
566 public void TestImplicitCastBooleanToLSLFloat()
567 {
568 LSL_Types.LSLFloat testFloat;
569
570 testFloat = (1 == 0);
571 Assert.That(testFloat.value, new DoubleToleranceConstraint(0.0, _lowPrecisionTolerance));
572
573 testFloat = (1 == 1);
574 Assert.That(testFloat.value, new DoubleToleranceConstraint(1.0, _lowPrecisionTolerance));
575
576 testFloat = false;
577 Assert.That(testFloat.value, new DoubleToleranceConstraint(0.0, _lowPrecisionTolerance));
578
579 testFloat = true;
580 Assert.That(testFloat.value, new DoubleToleranceConstraint(1.0, _lowPrecisionTolerance));
581 }
561 } 582 }
562} 583}
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLInteger.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLInteger.cs
index 3f01d09..d2839db 100644
--- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLInteger.cs
+++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLInteger.cs
@@ -108,5 +108,26 @@ namespace OpenSim.Region.ScriptEngine.Common.Tests
108 Assert.AreEqual(testInteger.value, number.Value); 108 Assert.AreEqual(testInteger.value, number.Value);
109 } 109 }
110 } 110 }
111
112 /// <summary>
113 /// Tests boolean correctly cast implicitly to LSLInteger.
114 /// </summary>
115 [Test]
116 public void TestImplicitCastBooleanToLSLInteger()
117 {
118 LSL_Types.LSLInteger testInteger;
119
120 testInteger = (1 == 0);
121 Assert.AreEqual(0, testInteger.value);
122
123 testInteger = (1 == 1);
124 Assert.AreEqual(1, testInteger.value);
125
126 testInteger = false;
127 Assert.AreEqual(0, testInteger.value);
128
129 testInteger = true;
130 Assert.AreEqual(1, testInteger.value);
131 }
111 } 132 }
112} 133}
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLString.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLString.cs
index 5d4424b..3aa52cb 100644
--- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLString.cs
+++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Common/LSL_TypesTestLSLString.cs
@@ -111,5 +111,26 @@ namespace OpenSim.Region.ScriptEngine.Common.Tests
111 Assert.AreEqual(expectedQuaternion, stringQuaternion); 111 Assert.AreEqual(expectedQuaternion, stringQuaternion);
112 Assert.AreEqual(expectedQuaternion, LSLStringQuaternion); 112 Assert.AreEqual(expectedQuaternion, LSLStringQuaternion);
113 } 113 }
114
115 /// <summary>
116 /// Tests boolean correctly cast explicitly to LSLString.
117 /// </summary>
118 [Test]
119 public void TestImplicitCastBooleanToLSLFloat()
120 {
121 LSL_Types.LSLString testString;
122
123 testString = (LSL_Types.LSLString) (1 == 0);
124 Assert.AreEqual("0", testString.m_string);
125
126 testString = (LSL_Types.LSLString) (1 == 1);
127 Assert.AreEqual("1", testString.m_string);
128
129 testString = (LSL_Types.LSLString) false;
130 Assert.AreEqual("0", testString.m_string);
131
132 testString = (LSL_Types.LSLString) true;
133 Assert.AreEqual("1", testString.m_string);
134 }
114 } 135 }
115} 136}
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLFloat.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLFloat.cs
index d55f0e3..c021963 100644
--- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLFloat.cs
+++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLFloat.cs
@@ -558,5 +558,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
558 } 558 }
559 } 559 }
560 } 560 }
561
562 /// <summary>
563 /// Tests boolean correctly cast implicitly to LSLFloat.
564 /// </summary>
565 [Test]
566 public void TestImplicitCastBooleanToLSLFloat()
567 {
568 LSL_Types.LSLFloat testFloat;
569
570 testFloat = (1 == 0);
571 Assert.That(testFloat.value, new DoubleToleranceConstraint(0.0, _lowPrecisionTolerance));
572
573 testFloat = (1 == 1);
574 Assert.That(testFloat.value, new DoubleToleranceConstraint(1.0, _lowPrecisionTolerance));
575
576 testFloat = false;
577 Assert.That(testFloat.value, new DoubleToleranceConstraint(0.0, _lowPrecisionTolerance));
578
579 testFloat = true;
580 Assert.That(testFloat.value, new DoubleToleranceConstraint(1.0, _lowPrecisionTolerance));
581 }
561 } 582 }
562} 583}
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLInteger.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLInteger.cs
index d158084..f826c00 100644
--- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLInteger.cs
+++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLInteger.cs
@@ -108,5 +108,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
108 Assert.AreEqual(testInteger.value, number.Value); 108 Assert.AreEqual(testInteger.value, number.Value);
109 } 109 }
110 } 110 }
111
112 /// <summary>
113 /// Tests boolean correctly cast implicitly to LSLInteger.
114 /// </summary>
115 [Test]
116 public void TestImplicitCastBooleanToLSLInteger()
117 {
118 LSL_Types.LSLInteger testInteger;
119
120 testInteger = (1 == 0);
121 Assert.AreEqual(0, testInteger.value);
122
123 testInteger = (1 == 1);
124 Assert.AreEqual(1, testInteger.value);
125
126 testInteger = false;
127 Assert.AreEqual(0, testInteger.value);
128
129 testInteger = true;
130 Assert.AreEqual(1, testInteger.value);
131 }
111 } 132 }
112} 133}
diff --git a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLString.cs b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLString.cs
index 8fcb385..49e5023 100644
--- a/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLString.cs
+++ b/OpenSim/Tests/OpenSim/Region/ScriptEngine/Shared/LSL_TypesTestLSLString.cs
@@ -111,5 +111,26 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
111 Assert.AreEqual(expectedQuaternion, stringQuaternion); 111 Assert.AreEqual(expectedQuaternion, stringQuaternion);
112 Assert.AreEqual(expectedQuaternion, LSLStringQuaternion); 112 Assert.AreEqual(expectedQuaternion, LSLStringQuaternion);
113 } 113 }
114
115 /// <summary>
116 /// Tests boolean correctly cast explicitly to LSLString.
117 /// </summary>
118 [Test]
119 public void TestImplicitCastBooleanToLSLFloat()
120 {
121 LSL_Types.LSLString testString;
122
123 testString = (LSL_Types.LSLString) (1 == 0);
124 Assert.AreEqual("0", testString.m_string);
125
126 testString = (LSL_Types.LSLString) (1 == 1);
127 Assert.AreEqual("1", testString.m_string);
128
129 testString = (LSL_Types.LSLString) false;
130 Assert.AreEqual("0", testString.m_string);
131
132 testString = (LSL_Types.LSLString) true;
133 Assert.AreEqual("1", testString.m_string);
134 }
114 } 135 }
115} 136}