From ed5640d8b587fbcfed7dd7967f3de04b37a76f26 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 11:06:44 +0200 Subject: Adding upstream version 4:7.4.7. Signed-off-by: Daniel Baumann --- basic/qa/basic_coverage/test_option_base.bas | 43 ++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 basic/qa/basic_coverage/test_option_base.bas (limited to 'basic/qa/basic_coverage/test_option_base.bas') diff --git a/basic/qa/basic_coverage/test_option_base.bas b/basic/qa/basic_coverage/test_option_base.bas new file mode 100644 index 000000000..11afea50d --- /dev/null +++ b/basic/qa/basic_coverage/test_option_base.bas @@ -0,0 +1,43 @@ +Option Base 1 +Option Explicit + +Function doUnitTest() As String + TestUtil.TestInit + verify_optionBase + doUnitTest = TestUtil.GetResult() +End Function + +Sub verify_optionBase() As String + On Error GoTo errorHandler + + ' tdf#54912 - with option base arrays should start at index 1. + ' Without option compatible the upper bound is changed as well (#109275). + Dim strArray(2) As String + TestUtil.AssertEqual(LBound(strArray), 1, "Lower bound of a string array (before assignment): " & LBound(strArray)) + TestUtil.AssertEqual(UBound(strArray), 3, "Upper bound of a string array (before assignment): " & UBound(strArray)) + strArray = Array("a", "b") + TestUtil.AssertEqual(LBound(strArray), 1, "Lower bound of a string array (after assignment): " & LBound(strArray)) + TestUtil.AssertEqual(UBound(strArray), 2, "Upper bound of a string array (after assignment): " & UBound(strArray)) + + Dim intArray(2) As Integer + TestUtil.AssertEqual(LBound(intArray), 1, "Lower bound of an integer array (before assignment): " & LBound(intArray)) + TestUtil.AssertEqual(UBound(intArray), 3, "Upper bound of an integer array (before assignment): " & UBound(intArray)) + intArray = Array(1, 2) + TestUtil.AssertEqual(LBound(intArray), 1, "Lower bound of an integer array (after assignment): " & LBound(intArray)) + TestUtil.AssertEqual(UBound(intArray), 2, "Upper bound of an integer array (after assignment): " & UBound(intArray)) + + Dim byteArray(2) As Byte + TestUtil.AssertEqual(LBound(byteArray), 1, "Lower bound of a byte array (before assignment): " & LBound(byteArray)) + TestUtil.AssertEqual(UBound(byteArray), 3, "Upper bound of a byte array (before assignment): " & UBound(byteArray)) + byteArray = StrConv("ab", 128) + TestUtil.AssertEqual(LBound(byteArray), 1, "Lower bound of a byte array (StrConv): " & LBound(byteArray)) + TestUtil.AssertEqual(UBound(byteArray), 2, "Upper bound of a byte array (StrConv): " & UBound(byteArray)) + + ReDim byteArray(3) + TestUtil.AssertEqual(LBound(byteArray), 1, "Lower bound of a byte array (ReDim): " & LBound(byteArray)) + TestUtil.AssertEqual(UBound(byteArray), 4, "Upper bound of a byte array (ReDim): " & UBound(byteArray)) + + Exit Sub +errorHandler: + TestUtil.ReportErrorHandler("verify_optionBase", Err, Error$, Erl) +End Sub -- cgit v1.2.3