summaryrefslogtreecommitdiff
path: root/basic/qa/basic_coverage/test_vartype_method.vb
diff options
context:
space:
mode:
Diffstat (limited to 'basic/qa/basic_coverage/test_vartype_method.vb')
-rw-r--r--basic/qa/basic_coverage/test_vartype_method.vb95
1 files changed, 88 insertions, 7 deletions
diff --git a/basic/qa/basic_coverage/test_vartype_method.vb b/basic/qa/basic_coverage/test_vartype_method.vb
index bd45adef00df..9c15d8520a93 100644
--- a/basic/qa/basic_coverage/test_vartype_method.vb
+++ b/basic/qa/basic_coverage/test_vartype_method.vb
@@ -5,12 +5,93 @@
' License, v. 2.0. If a copy of the MPL was not distributed with this
' file, You can obtain one at http://mozilla.org/MPL/2.0/.
'
+Type UDF ' User defined type
+ l As Object
+ s as String
+End Type
+Dim myUDF As UDF
-Function doUnitTest as Integer
- ' VARTYPE
- If ( VarType("Hello") <> 8 ) Then
- doUnitTest = 0
- Else
- doUnitTest = 1
- End If
+Dim int16 As Integer, int32 As Long, flt32 As Single, flt64 As Double, _
+ curr As Currency, dat As Date, str As String, obj As Object, _
+ myErr As Variant, var As Variant, byt3 As Byte, bool As Boolean
+
+Dim int_%, long_&, single_!, double_#, currency_@, string_$, array_
+
+Dim intArray() As Integer, lngArray(5) As Long, sngArray!() As Single, dblArray#(8) As Double, _
+ curArray@() As Currency, datArray() As Date, strArray$() As String, objArray() As Object, _
+ varArray() As Variant, byteArray() As Byte, boolArray() As Boolean
+
+' Constants that candidate for public exposure
+Private Const V_ARRAY=8192, V_OBJECT=9, V_ERROR=10, V_BOOLEAN=11, V_VARIANT=12, V_BYTE=17
+
+Function doUnitTest
+ ' VarType()
+
+ assert( V_EMPTY = 0 , "V_EMPTY is not 0")
+ assert( V_NULL = 1 , "V_NULL is not 1")
+ assert( V_INTEGER = 2 , "V_INTEGER is not 2")
+ assert( V_LONG = 3 , "V_LONG is not 3")
+ assert( V_SINGLE = 4 , "V_SINGLE is not 4")
+ assert( V_DOUBLE = 5 , "V_DOUBLE is not 5")
+ assert( V_CURRENCY = 6, "V_CURRENCY is not 6")
+ assert( V_DATE = 7 , "V_DATE is not 7")
+ assert( V_STRING = 8 , "V_STRING is not 8")
+
+ assert( VarType(Empty) = V_EMPTY , "Vartype(Empty) is not V_EMPTY")
+ assert( VarType(Null) = V_NULL , "Vartype(Empty) is not V_NULL")
+ assert( VarType(Nothing) = V_OBJECT, "Vartype(Empty) is not V_OBJECT")
+
+ myErr = CVErr("errMsg")
+ assert( VarType(int16) = V_INTEGER , "VarType(int16) is not V_INTEGER")
+ assert( VarType(int32) = V_LONG , "VarType(int32) is not V_LONG")
+ assert( VarType(flt32) = V_SINGLE , "VarType(flt32) is not V_SINGLE" )
+ assert( VarType(flt64) = V_DOUBLE , "VarType(flt64) is not V_DOUBLE" )
+ assert( VarType(curr) = V_CURRENCY, "VarType(curr) is not V_CURRENCY" )
+ assert( VarType(dat) = V_DATE , "VarType(dat) is not V_DATE" )
+ assert( VarType(str) = V_STRING , "VarType(str) is not V_STRING" )
+ assert( VarType(obj) = V_OBJECT , "VarType(obj) is not V_OBJECT" )
+ assert( VarType(myUDF) = V_OBJECT , "VarType(myUDF) is not V_OBJECT" )
+ assert( VarType(myErr) = V_ERROR , "VarType(myErr) is not V_ERROR" )
+ assert( VarType(bool) = V_BOOLEAN , "VarType(bool) is not V_BOOLEAN" )
+ assert( VarType(var) = V_EMPTY , "VarType(var) is not V_EMPTY" )
+ assert( VarType(byt3) = V_BYTE , "VarType(byt3) is not V_BYTE" )
+
+ assert( VarType(int_) = V_INTEGER , "VarType(int_) is not V_INTEGER" )
+ assert( VarType(long_) = V_LONG , "VarType(long_) is not V_LONG" )
+ assert( VarType(single_) = V_SINGLE , "VarType(single_) is not V_SINGLE" )
+ assert( VarType(double_) = V_DOUBLE , "VarType(double_) is not V_CURRENCY" )
+ assert( VarType(currency_) = V_CURRENCY, "VarType(currency_) is not V_CURRENCY" )
+ assert( VarType(string_) = V_STRING , "VarType(string_) is not V_STRING" )
+
+ assert( VarType(intArray) = V_ARRAY+V_INTEGER , "VarType(intArray) is not V_ARRAY+V_INTEGER" )
+ assert( VarType(lngArray) = V_ARRAY+V_LONG , "VarType(lngArray) is not V_ARRAY+V_LONG" )
+ assert( VarType(sngArray) = V_ARRAY+V_SINGLE , "VarType(sngArray) is not V_ARRAY+V_SINGLE" )
+ assert( VarType(dblArray) = V_ARRAY+V_DOUBLE , "VarType(dblArray) is not V_ARRAY+V_DOUBLE" )
+ assert( VarType(curArray) = V_ARRAY+V_CURRENCY, "VarType(curArray) is not V_ARRAY+V_CURRENCY" )
+ assert( VarType(datArray) = V_ARRAY+V_DATE , "VarType(datArray) is not V_ARRAY+V_DATE" )
+ assert( VarType(strArray) = V_ARRAY+V_STRING , "VarType(strArray) is not V_ARRAY+V_STRING" )
+ assert( VarType(objArray) = V_ARRAY+V_OBJECT , "VarType(objArray) is not V_ARRAY+V_OBJECT" )
+ 'assert( VarType(***Array) = V_ARRAY+V_ERROR , "VarType(***Array) is not V_ARRAY+V_ERROR" )
+ assert( VarType(boolArray) = V_ARRAY+V_BOOLEAN , "VarType(boolArray) is not V_ARRAY+V_BOOLEAN" )
+ assert( VarType(varArray) = V_ARRAY+V_VARIANT , "VarType(varArray) is not V_ARRAY+V_VARIANT" )
+ assert( VarType(byteArray) = V_ARRAY+V_BYTE , "VarType(byteArray) is not V_ARRAY+V_BYTE" )
+
+ If failedAssertion Then
+ doUnitTest = "test_vartype_method.vb fails" + messages
+ Exit Function
+ EndIf
+ doUnitTest = 1 ' All checks passed
End Function
+
+Sub DEV_TEST
+ MsgBox doUnitTest
+End Sub
+
+Dim failedAssertion As Boolean, messages As String
+
+Sub assert(expression As Boolean, errMessage As String)
+ If ( Not expression ) Then
+ messages = messages + Chr(10) + ErrMessage
+ failedAssertion = True
+ EndIf
+End Sub