Files
loongoffice/basic/qa/vba_tests/redim_objects.vb
Andreas Heinisch 0426748927 tdf#136755, tdf#124008 - delete the variable beforehand REDIM
If an array of objects is passed as an argument to ReDim, delete the
variable beforehand, otherwise the construction of the new variable
fails, because the old one is still on the stack.

Change-Id: Ic863a36f5f2aca658df369f95d275aa287edf795
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/106832
Tested-by: Jenkins
Reviewed-by: Andreas Heinisch <andreas.heinisch@yahoo.de>
2021-01-25 07:57:59 +01:00

43 lines
1.3 KiB
VB.net

' This file is part of the LibreOffice project.
'
' This Source Code Form is subject to the terms of the Mozilla Public
' 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/.
'
Option VBASupport 1
Option Explicit
Type testType
iNr As Integer
sType As String
aValue As Variant
oColor As Object
End Type
Function doUnitTest() As String
TestUtil.TestInit
verify_testReDimObjects
doUnitTest = TestUtil.GetResult()
End Function
Sub verify_testReDimObjects()
On Error GoTo errorHandler
' tdf#136755 - ReDim did not work on an array of objects
Dim aPropertyValues(1) As New com.sun.star.beans.PropertyValue
TestUtil.AssertEqual(UBound(aPropertyValues), 1, "UBound(aPropertyValues)")
ReDim aPropertyValues(5) As com.sun.star.beans.PropertyValue
TestUtil.AssertEqual(UBound(aPropertyValues), 5, "UBound(aPropertyValues)")
' tdf#124008 - ReDim did not work on an array of individual declared types
Dim aType(1) As testType
TestUtil.AssertEqual(UBound(aType), 1, "UBound(aType)")
ReDim aType(5) As testType
TestUtil.AssertEqual(UBound(aType), 5, "UBound(aType)")
Exit Sub
errorHandler:
TestUtil.ReportErrorHandler("verify_testReDimObjects", Err, Error$, Erl)
End Sub