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


Quelle  split.vb   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 VBASupport 1
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 - using VBASupport 1, the split function returns an array of substrings, hence no
    ' assignment of different data types to the individual elements is possible
    Dim splitArr
    splitArr = Split("a/b&&c/d", "&&")
    ' Without the fix in place, this test would have failed with:
    ' - Expected: 8    (8 for String)
    ' - Actual  : 8200 (8192 for Array and 8 for String)
    TestUtil.AssertEqual(VarType(splitArr(0)), 8, "VarType(splitArr(0))")

    ' 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.1 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