Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  test_split_method.bas   Sprache: unbekannt

 
' 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 Explicit

Function doUnitTest() As String
    TestUtil.TestInit
    verify_testSplit
    doUnitTest = TestUtil.GetResult()
End Function

Sub verify_testSplit
    On Error GoTo errorHandler

    ' SPLIT
    TestUtil.AssertEqual(Split( "Hello world" )(1), "world", "Split( ""Hello world"" )(1)")

    ' tdf#123025 - split function sets the datatype of the array to empty,
    ' preventing any subsequent assignments of values to the array and to the elements itself.
    Dim arr(1) As String
    arr = Split("a/b", "/")
    TestUtil.AssertEqual(arr(0), "a", "Split(""a/b"", ""/"")(0)")
    TestUtil.AssertEqual(arr(1), "b", "Split(""a/b"", ""/"")(1)")
    ReDim Preserve arr(1)
    TestUtil.AssertEqual(arr(0), "a", "ReDim Preserve arr(1)(0)")
    TestUtil.AssertEqual(arr(1), "b", "ReDim Preserve arr(1)(1)")
    ReDim arr(1)
    TestUtil.AssertEqual(arr(0), "", "ReDim arr(1)(0)")
    TestUtil.AssertEqual(arr(1), "", "ReDim arr(1)(1)")

    arr(0) = "a"
    arr(1) = "b"
    TestUtil.AssertEqual(arr(0), "a", "arr(0)")
    TestUtil.AssertEqual(arr(1), "b", "arr(1)")
    ReDim Preserve arr(1)
    TestUtil.AssertEqual(arr(0), "a", "ReDim Preserve arr(1)(0) after assignment")
    TestUtil.AssertEqual(arr(1), "b", "ReDim Preserve arr(1)(1) after assignment")

    ' tdf#144924 - allow the assignment of different data types to the individual elements
    Dim splitArr
    splitArr = Split("a/b&&c/d", "&&")
    Dim i As Integer
    For i = 0 To UBound(splitArr)
        ' Without the fix in place, this assignment would have failed
        splitArr(i) = Split(splitArr(i), "/")
        ' Without the fix in place, this test would have failed with:
        ' - Expected: 8200 (8192 for Array and 8 for String)
        ' - Actual  : 8    (8 for String)
        TestUtil.AssertEqual(VarType(splitArr(i)), 8200, "VarType(splitArr(i))")
    Next

    ' tdf#141474 keyword names need to match that of VBA
    TestUtil.AssertEqual(Split(expression:="LibreOffice StarOffice")(1), "StarOffice", "Split with 1 keyword name" )
    Dim txt As String : txt = "Libre_Office_Star_Office"
    TestUtil.AssertEqual(Split(delimiter:="_", expression:=txt)(2), "Star", "Split with 2 keyword names" )
    TestUtil.AssertEqual(Split(limit:=3, delimiter:="_", expression:=txt)(2), "Star_Office", "Split with 3 keyword names" )

    Exit Sub
errorHandler:
    TestUtil.ReportErrorHandler("verify_testSplit", Err, Error$, Erl)
End Sub

[ Dauer der Verarbeitung: 0.5 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge