diff options
author | Mike Mazur | 2008-07-31 07:11:41 +0000 |
---|---|---|
committer | Mike Mazur | 2008-07-31 07:11:41 +0000 |
commit | 57ec7a26cda361eeac9d7f010194cfe0dfa6c281 (patch) | |
tree | eb8bb3680e3cb7db5449c3703835e6454e43ebbb /OpenSim/Tests | |
parent | Allow assignments in if/while/do-while control statements. Fix issue 1862. (diff) | |
download | opensim-SC-57ec7a26cda361eeac9d7f010194cfe0dfa6c281.zip opensim-SC-57ec7a26cda361eeac9d7f010194cfe0dfa6c281.tar.gz opensim-SC-57ec7a26cda361eeac9d7f010194cfe0dfa6c281.tar.bz2 opensim-SC-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')
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 | } |