2ee307d230
Change-Id: I681500bb01e13155b355c8a45b41f73e8b9faf26
711 lines
25 KiB
XML
711 lines
25 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
* 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/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
* with this work for additional information regarding copyright
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
* except in compliance with the License. You may obtain a copy of
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
-->
|
|
<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd">
|
|
<script:module xmlns:script="http://openoffice.org/2000/script" script:name="Test_10er" script:language="StarBasic">REM 10er Test
|
|
|
|
const sSWLogFileName = "swlog.dat", sSCLogFileName = "sclog.dat"
|
|
const sSDLogFileName = "sdlog.dat", sSMathLogFileName = "smalog.dat"
|
|
const sSChartLogFileName = "schlog.dat"
|
|
const sSHptLogFileName = "shptlog.dat"
|
|
const sSDrawLogFileName = "sdrwlog.dat", sJavaLogFileName = "javalog.dat"
|
|
const sSDBLogFileName = "dblog.dat", sExtLogFileName = "extlog.dat"
|
|
const sTestGlueLogFileName = "testclosure.log"
|
|
const sLogFileName = "smoketest.log"
|
|
const cTempFileName = "smoketest_file"
|
|
|
|
const cMessageSaveOpen8Doc = "Save/Open open Documents (8.0)"
|
|
const cMessageSaveOpenXMLDoc = "Save/Open Document XML (6/7)"
|
|
const cMessageNewDoc = "New Document"
|
|
const cMessageCloseDoc = "Close Document"
|
|
const cMessageRunMacros = "Run Macros"
|
|
|
|
Global sWorkPath$
|
|
Global sWorkPathURL$
|
|
Global LocalTestLog%
|
|
Global GlobalTestLog%
|
|
|
|
Sub Main
|
|
call TestAllDocs()
|
|
end Sub
|
|
|
|
Sub DeleteAllSavedFiles()
|
|
Dim sFileName as String
|
|
sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmWriter)
|
|
If FileExists (sFileName) then
|
|
Kill (sFileName)
|
|
End If
|
|
sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmCalc)
|
|
If FileExists (sFileName) then
|
|
Kill (sFileName)
|
|
End If
|
|
sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmImpress)
|
|
If FileExists (sFileName) then
|
|
Kill (sFileName)
|
|
End If
|
|
sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmDraw)
|
|
If FileExists (sFileName) then
|
|
Kill (sFileName)
|
|
End If
|
|
sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmHyperText)
|
|
If FileExists (sFileName) then
|
|
Kill (sFileName)
|
|
End If
|
|
sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmWriter or cFltXML)
|
|
If FileExists (sFileName) then
|
|
Kill (sFileName)
|
|
End If
|
|
sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmCalc or cFltXML)
|
|
If FileExists (sFileName) then
|
|
Kill (sFileName)
|
|
End If
|
|
sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmImpress or cFltXML)
|
|
If FileExists (sFileName) then
|
|
Kill (sFileName)
|
|
End If
|
|
sFileName = sWorkPath+cTempFileName+"."+GetDocEndings(frmDraw or cFltXML)
|
|
If FileExists (sFileName) then
|
|
Kill (sFileName)
|
|
End If
|
|
End Sub
|
|
|
|
Sub DeleteAllLogFiles()
|
|
If FileExists (sWorkPath+sLogFileName) then
|
|
Kill (sWorkPath+sLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sSWLogFileName) then
|
|
Kill (sWorkPath+sSWLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sSCLogFileName) then
|
|
Kill (sWorkPath+sSCLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sSDLogFileName) then
|
|
Kill (sWorkPath+sSDLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sSMathLogFileName) then
|
|
Kill (sWorkPath+sSMathLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sSChartLogFileName) then
|
|
Kill (sWorkPath+sSChartLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sSHptLogFileName) then
|
|
Kill (sWorkPath+sSHptLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sSDrawLogFileName) then
|
|
Kill (sWorkPath+sSDrawLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sJavaLogFileName) then
|
|
Kill (sWorkPath+sJavaLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sTestGlueLogFileName) then
|
|
Kill (sWorkPath+sTestGlueLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sSDBLogFileName) then
|
|
Kill (sWorkPath+sSDBLogFileName)
|
|
End If
|
|
If FileExists (sWorkPath+sExtLogFileName) then
|
|
Kill (sWorkPath+sExtLogFileName)
|
|
End If
|
|
end Sub
|
|
|
|
Function OpenLogDat (sFileName as String) as Integer
|
|
Dim LocaleFileChannel%
|
|
If FileExists (sWorkPath+sFileName) then
|
|
Kill (sWorkPath+sFileName)
|
|
End If
|
|
LocaleFileChannel% = Freefile
|
|
Open sWorkPath+sFileName For Output As LocaleFileChannel%
|
|
OpenLogDat = LocaleFileChannel%
|
|
end Function
|
|
|
|
Sub SetupWorkPath
|
|
Dim configManager as Object
|
|
configManager = CreateUnoService( "com.sun.star.config.SpecialConfigManager" )
|
|
|
|
sWorkPath = configManager.SubstituteVariables( "$(userpath)/temp/" )
|
|
sWorkPathURL = configManager.SubstituteVariables( "$(userurl)/temp/" )
|
|
End Sub
|
|
|
|
Function GetSystem (sTmpWorkPath as string) as string
|
|
GetSystem = ""
|
|
if InStr (sTmpWorkPath, ":") then
|
|
GetSystem = "windows"
|
|
else
|
|
GetSystem = "unix"
|
|
End If
|
|
end Function
|
|
|
|
Function ConvertPathToWin (sTmpWorkPath as string) as string
|
|
for i%=1 to Len(sTmpWorkPath)
|
|
sTemp = Mid (sTmpWorkPath, i%, 1)
|
|
if sTemp = "/" then
|
|
sTmpWorkPath = Left (sTmpWorkPath, i%-1) + "\" + Right (sTmpWorkPath, Len(sTmpWorkPath)-i%)
|
|
else
|
|
if sTemp = "|" then
|
|
sTmpWorkPath = Left (sTmpWorkPath, i%-1) + ":" + Right (sTmpWorkPath, Len(sTmpWorkPath)-i%)
|
|
end If
|
|
end If
|
|
next i%
|
|
ConvertPathToWin = sTmpWorkPath
|
|
end Function
|
|
|
|
Sub TestAllDocs()
|
|
DIM sDocURL as String, sDocPath as String
|
|
DIM nStrPos as Long
|
|
|
|
'search ExtensionURL
|
|
sDocURL = gOutputDoc.URL
|
|
CompatibilityMode(true)
|
|
nStrPos = InStrRev (sDocURL, "/" )
|
|
CompatibilityMode(false)
|
|
sExtensionURL = Left (sDocURL, nStrPos)
|
|
|
|
GlobalTestLog = OpenLogDat (sLogFileName)
|
|
call WriteTestSequence
|
|
if bMakeWriterTest then
|
|
gCurrentDocTest = frmWriter
|
|
call MakeDocTest
|
|
end if
|
|
if bMakeCalcTest then
|
|
gCurrentDocTest = frmCalc
|
|
call MakeDocTest
|
|
end if
|
|
if bMakeImpressTest then
|
|
gCurrentDocTest = frmImpress
|
|
call MakeDocTest
|
|
end if
|
|
if bMakeDrawTest then
|
|
gCurrentDocTest = frmDraw
|
|
call MakeDocTest
|
|
end if
|
|
if bMakeHTMLTest then
|
|
gCurrentDocTest = frmHyperText
|
|
call MakeDocTest
|
|
end if
|
|
if bMakeChartTest then
|
|
gCurrentDocTest = frmChart
|
|
call MakeChartTest
|
|
end if
|
|
if bMakeMathTest then
|
|
gCurrentDocTest = frmMath
|
|
call MakeNewDoc
|
|
end if
|
|
if bMakeJavaTest then
|
|
gCurrentDocTest = frmJava
|
|
call TestJava
|
|
end if
|
|
if bMakeDBTest then
|
|
gCurrentDocTest = frmDataBase
|
|
call Test_DB.TestDB
|
|
end if
|
|
if bMakeExtensionTest then
|
|
gCurrentDocTest = frmExtension
|
|
call Test_Ext.TestExtensions
|
|
end if
|
|
|
|
Close #GlobalTestLog
|
|
GlobalTestLog = 0
|
|
end Sub
|
|
|
|
Sub WriteTestSequence
|
|
Print #GlobalTestLog, "Sequence of testing"
|
|
|
|
if bMakeWriterTest then
|
|
WriteTests ("writer : ", true, GlobalTestLog)
|
|
end if
|
|
if bMakeCalcTest then
|
|
WriteTests ("calc : ", true, GlobalTestLog)
|
|
end if
|
|
if bMakeImpressTest then
|
|
WriteTests ("impress : ", true, GlobalTestLog)
|
|
end if
|
|
if bMakeDrawTest then
|
|
WriteTests ("draw : ", true, GlobalTestLog)
|
|
end if
|
|
if bMakeHTMLTest then
|
|
WriteTests ("HTML : ", true, GlobalTestLog)
|
|
end if
|
|
if bMakeChartTest then
|
|
WriteTests ("chart : ", false, GlobalTestLog)
|
|
end if
|
|
if bMakeMathTest then
|
|
WriteTests ("math : ", false, GlobalTestLog)
|
|
end if
|
|
if bMakeJavaTest then
|
|
WriteTests ("Java : ", false, GlobalTestLog)
|
|
end if
|
|
if bMakeDBTest then
|
|
WriteDBTests ("Database : ", GlobalTestLog)
|
|
end if
|
|
if bMakeExtensionTest then
|
|
WriteExtensionTests ("Extension : ", GlobalTestLog)
|
|
end if
|
|
|
|
Print #GlobalTestLog, "testclosure : setup, write_status"
|
|
|
|
Print #GlobalTestLog
|
|
end Sub
|
|
|
|
Sub WriteTests (sText as string, bTestAll as boolean)
|
|
Dim sWriteStr as string
|
|
|
|
sWriteStr = sText
|
|
sWriteStr = sWriteStr + "new"
|
|
if bTestAll then
|
|
if bMakeSaveOpen8Test then
|
|
sWriteStr = sWriteStr + ", save 8.0"
|
|
end if
|
|
if bMakeSaveOpenXMLTest then
|
|
sWriteStr = sWriteStr + ", save XML"
|
|
end if
|
|
if bMakeSaveOpen8Test then
|
|
sWriteStr = sWriteStr + ", open 8.0"
|
|
end if
|
|
if bMakeSaveOpenXMLTest then
|
|
sWriteStr = sWriteStr + ", open XML"
|
|
end if
|
|
if bMakeMacrosTest then
|
|
sWriteStr = sWriteStr + ", run macros"
|
|
end if
|
|
end if
|
|
|
|
sWriteStr = sWriteStr + ", close"
|
|
|
|
Print #GlobalTestLog, sWriteStr
|
|
end Sub
|
|
|
|
Sub WriteDBTests (sText as string, nFileChannel as integer)
|
|
Dim sWriteStr as string
|
|
|
|
sWriteStr = sText
|
|
sWriteStr = sWriteStr + "open / services"
|
|
sWriteStr = sWriteStr + ", insert"
|
|
sWriteStr = sWriteStr + ", delete"
|
|
sWriteStr = sWriteStr + ", seek"
|
|
sWriteStr = sWriteStr + ", close"
|
|
|
|
Print #nFileChannel, sWriteStr
|
|
end Sub
|
|
|
|
Sub WriteExtensionTests (sText as string, nFileChannel as integer)
|
|
Dim sWriteStr as string
|
|
|
|
sWriteStr = sText
|
|
sWriteStr = sWriteStr + "services"
|
|
sWriteStr = sWriteStr + ", install"
|
|
sWriteStr = sWriteStr + ", uninstall"
|
|
|
|
Print #nFileChannel, sWriteStr
|
|
end Sub
|
|
|
|
Sub MakeDocTest
|
|
Dim oDoc as Object
|
|
Dim sFileNameXML$, sFileName8$
|
|
Dim bSuccess as Boolean
|
|
|
|
On Local Error GoTo DOCTESTERROR
|
|
gCurrentTestCase = cLogfileFailed
|
|
LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest))
|
|
gCurrentTestCase = cDocNew
|
|
oDoc = LoadDoc ("private:factory/" + GetDocFilter(gCurrentDocTest or cFltNewDoc))
|
|
LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageNewDoc, not IsNull (oDoc) )
|
|
if not IsNull (oDoc) then
|
|
gCurrentTestCase = cDocSaveOpen8
|
|
if bMakeSaveOpen8Test and IsFilterAvailable (gCurrentDocTest or cFlt8) then
|
|
sFileName8 = sWorkPathURL+cTempFileName+"."+GetDocEndings(gCurrentDocTest or cFlt8)
|
|
SaveDoc (sFileName8, oDoc, GetDocFilter(gCurrentDocTest or cFlt8))
|
|
end if
|
|
gCurrentTestCase = cDocSaveOpenXML
|
|
if bMakeSaveOpenXMLTest and IsFilterAvailable (gCurrentDocTest or cFltXML) then
|
|
sFileNameXML = sWorkPathURL+cTempFileName+"."+GetDocEndings(gCurrentDocTest or cFltXML)
|
|
SaveDoc (sFileNameXML, oDoc, GetDocFilter(gCurrentDocTest or cFltXML))
|
|
end if
|
|
gCurrentTestCase = cDocClose
|
|
bSuccess = CloseDoc( oDoc )
|
|
LogTestResult( GetDocFilter(gCurrentDocTest)+" "+ cMessageCloseDoc, bSuccess )
|
|
gCurrentTestCase = cDocSaveOpen8
|
|
if bMakeSaveOpen8Test and IsFilterAvailable (gCurrentDocTest or cFlt8) then
|
|
oDoc = LoadDoc (sFileName8)
|
|
|
|
' oDoc = Documents.open(sFileName)
|
|
LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageSaveOpen8Doc, not IsNull (oDoc) )
|
|
|
|
if not IsNull (oDoc) then
|
|
gCurrentTestCase = cDocClose
|
|
oDoc.close (true)
|
|
end If
|
|
end if
|
|
|
|
gCurrentTestCase = cDocSaveOpenXML
|
|
if bMakeSaveOpenXMLTest and IsFilterAvailable (gCurrentDocTest or cFltXML) then
|
|
oDoc = LoadDoc (sFileNameXML)
|
|
|
|
' oDoc = Documents.open(sFileName)
|
|
LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageSaveOpenXMLDoc, not IsNull (oDoc) )
|
|
|
|
if not IsNull (oDoc) then
|
|
gCurrentTestCase = cDocClose
|
|
oDoc.close (true)
|
|
end If
|
|
end if
|
|
|
|
gCurrentTestCase = cDocMacros
|
|
' Just one calc macro test for now
|
|
' To-Do split this into its own per-module/test .xml and add more
|
|
if bMakeMacrosTest and gCurrentDocTest = frmCalc then
|
|
oDoc = LoadDoc ("private:factory/" + GetDocFilter(gCurrentDocTest or cFltNewDoc))
|
|
oDocCtrl = oDoc.getCurrentController()
|
|
oDocFrame = oDocCtrl.getFrame()
|
|
oDispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
|
|
|
|
dim args(0) as new com.sun.star.beans.PropertyValue
|
|
|
|
args(0).Name = "ToPoint"
|
|
args(0).Value = "$A$1"
|
|
oDispatcher.executeDispatch(oDocFrame, ".uno:GoToCell", "", 0, args())
|
|
args(0).Name = "By"
|
|
args(0).Value = 5
|
|
oDispatcher.executeDispatch(oDocFrame, ".uno:GoRightSel", "", 0, args())
|
|
args(0).Name = "By"
|
|
args(0).Value = 5
|
|
oDispatcher.executeDispatch(oDocFrame, ".uno:GoDownSel", "", 0, args())
|
|
|
|
oRangeAddr = oDoc.getCurrentSelection().getRangeAddress()
|
|
|
|
bResult = oRangeAddr.StartColumn = 0 and oRangeAddr.EndColumn = 5 and oRangeAddr.StartRow = 0 and oRangeAddr.EndRow = 5
|
|
|
|
LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageRunMacros, bResult )
|
|
|
|
if not IsNull (oDoc) then
|
|
gCurrentTestCase = cDocClose
|
|
oDoc.close (true)
|
|
end If
|
|
end if
|
|
|
|
end If
|
|
Print #LocalTestLog, "---"
|
|
Close #LocalTestLog%
|
|
LocalTestLog = 0
|
|
Exit Sub ' Without error
|
|
|
|
DOCTESTERROR:
|
|
If ( gCurrentTestCase = cLogfileFailed ) then
|
|
LogTestResult( " ", False )
|
|
Exit Sub
|
|
else
|
|
LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ GetErrorMessage(gCurrentTestCase), False )
|
|
Close #LocalTestLog%
|
|
LocalTestLog = 0
|
|
End If
|
|
Exit Sub ' With error
|
|
End Sub
|
|
|
|
Sub MakeNewDoc
|
|
DIM oDoc as Object
|
|
Dim bSuccess as Boolean
|
|
On Local Error GoTo DOCTESTERROR2
|
|
gCurrentTestCase = cLogfileFailed
|
|
LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest))
|
|
gCurrentTestCase = cDocNew
|
|
' oDoc = Documents.Add(GetDocFilter(gCurrentDocTest))
|
|
oDoc = LoadDoc ("private:factory/" + GetDocFilter(gCurrentDocTest or cFltNewDoc))
|
|
LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageNewDoc, not IsNull (oDoc) )
|
|
if not IsNull (oDoc) then
|
|
gCurrentTestCase = cDocClose
|
|
bSuccess = CloseDoc( oDoc )
|
|
LogTestResult( GetDocFilter(gCurrentDocTest)+" "+ cMessageCloseDoc, bSuccess )
|
|
end If
|
|
Print #LocalTestLog, "---"
|
|
Close #LocalTestLog%
|
|
LocalTestLog = 0
|
|
Exit Sub ' Without error
|
|
|
|
DOCTESTERROR2:
|
|
If ( gCurrentTestCase = cLogfileFailed ) then
|
|
LogTestResult( " ", False )
|
|
Exit Sub
|
|
else
|
|
LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ GetErrorMessage(gCurrentTestCase), False )
|
|
Close #LocalTestLog%
|
|
LocalTestLog = 0
|
|
End If
|
|
Exit Sub ' With error
|
|
End Sub
|
|
|
|
Sub MakeChartTest
|
|
Dim oCharts as Object
|
|
Dim oDoc as Object
|
|
Dim oRange(0) as New com.sun.star.table.CellRangeAddress
|
|
Dim oRect as New com.sun.star.awt.Rectangle
|
|
const cChartName="TestChart"
|
|
Dim bSuccess as Boolean
|
|
On Local Error GoTo CHARTTESTERROR
|
|
gCurrentTestCase = cLogfileFailed
|
|
LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest))
|
|
gCurrentTestCase = cDocNew
|
|
oDoc = LoadDoc ("private:factory/" + GetDocFilter(frmCalc or cFltNewDoc))
|
|
if not IsNull (oDoc) then
|
|
oCharts = oDoc.sheets(0).Charts
|
|
oCharts.AddNewByName (cChartName, oRect, oRange(), true, true)
|
|
bSuccess=oCharts.HasByName(cChartName)
|
|
LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ cMessageNewDoc, bSuccess )
|
|
gCurrentTestCase = cDocClose
|
|
oDoc.close (true)
|
|
else
|
|
LogTestResult( GetDocFilter(frmCalc or cFltNewDoc)+" "+ cMessageNewDoc, FALSE )
|
|
End if
|
|
Print #LocalTestLog, "---"
|
|
Close #LocalTestLog%
|
|
LocalTestLog = 0
|
|
Exit Sub ' Without error
|
|
|
|
CHARTTESTERROR:
|
|
If ( gCurrentTestCase = cLogfileFailed ) then
|
|
LogTestResult( " ", False )
|
|
Exit Sub
|
|
else
|
|
LogTestResult( GetDocFilter(gCurrentDocTest or cFltNewDoc)+" "+ GetErrorMessage(gCurrentTestCase), FALSE )
|
|
Close #LocalTestLog%
|
|
LocalTestLog = 0
|
|
End If
|
|
Exit Sub ' With error
|
|
End Sub
|
|
|
|
Sub LogState (bState as Boolean, sText as String, nLocaleFileChannel as integer)
|
|
if bState then
|
|
Print #nLocaleFileChannel, sText+" -> ok"
|
|
else
|
|
Print #nLocaleFileChannel, sText+" -> error"
|
|
end If
|
|
end Sub
|
|
|
|
Function GetDocEndings (DocType as Integer) as String
|
|
Select Case ( DocType )
|
|
case frmWriter or cFlt8
|
|
GetDocEndings = "odt" ' Textdokument
|
|
case frmCalc or cFlt8
|
|
GetDocEndings = "ods" 'Tabellendokument
|
|
case frmImpress or cFlt8
|
|
GetDocEndings = "odp" 'PrÕsentation
|
|
case frmDraw or cFlt8
|
|
GetDocEndings = "odg" 'Zeichen
|
|
case frmHyperText, frmHyperText or cFltXML
|
|
GetDocEndings = "html" 'Hypertext-Dokument
|
|
case frmWriter or cFltXML
|
|
GetDocEndings = "sxw" ' Textdokument
|
|
case frmCalc or cFltXML
|
|
GetDocEndings = "sxc" 'Tabellendokument
|
|
case frmImpress or cFltXML
|
|
GetDocEndings = "sxi" 'PrÕsentation
|
|
case frmDraw or cFltXML
|
|
GetDocEndings = "sxd" 'Zeichen
|
|
case else
|
|
GetDocEndings = ""
|
|
end Select
|
|
end Function
|
|
|
|
Function GetDocFilter (DocType as Integer) as String
|
|
Select Case ( DocType )
|
|
case frmWriter or cFlt8
|
|
GetDocFilter = "writer8" ' text document
|
|
case frmCalc or cFlt8
|
|
GetDocFilter = "calc8" ' spreadsheet document
|
|
case frmImpress or cFlt8
|
|
GetDocFilter = "impress8" ' presentation
|
|
case frmDraw or cFlt8
|
|
GetDocFilter = "draw8" ' drawing
|
|
case frmMath or cFlt8
|
|
GetDocFilter = "math8" ' formula
|
|
|
|
case frmWriter or cFltXML
|
|
GetDocFilter = "StarOffice XML (Writer)" ' text document
|
|
case frmCalc or cFltXML
|
|
GetDocFilter = "StarOffice XML (Calc)" ' spreadsheet document
|
|
case frmImpress or cFltXML
|
|
GetDocFilter = "StarOffice XML (Impress)" ' presentation
|
|
case frmDraw or cFltXML
|
|
GetDocFilter = "StarOffice XML (Draw)" ' drawing
|
|
case frmMath or cFltXML
|
|
GetDocFilter = "StarOffice XML (Math)" ' formula
|
|
|
|
case frmHyperText, frmHyperText or cFltXML
|
|
GetDocFilter = "HTML" ' HTML document
|
|
|
|
case frmWriter or cFltNewDoc
|
|
GetDocFilter = "swriter" ' text document
|
|
case frmCalc or cFltNewDoc
|
|
GetDocFilter = "scalc" ' spreadsheet document
|
|
case frmImpress or cFltNewDoc
|
|
GetDocFilter = "simpress" ' presentation
|
|
case frmDraw or cFltNewDoc
|
|
GetDocFilter = "sdraw" ' drawing
|
|
case frmMath or cFltNewDoc
|
|
GetDocFilter = "smath" ' formula
|
|
case frmHyperText or cFltNewDoc
|
|
GetDocFilter = "swriter/web" ' HTML document
|
|
case frmChart or cFltNewDoc
|
|
GetDocFilter = "schart" ' chart
|
|
case else
|
|
GetDocFilter = ""
|
|
end Select
|
|
end Function
|
|
|
|
Function GetLogFileName (DocType as Integer) as String
|
|
Select Case ( DocType )
|
|
case frmWriter
|
|
GetLogFileName = sSWLogFileName ' text document
|
|
case frmCalc
|
|
GetLogFileName = sSCLogFileName ' spreadsheet document
|
|
case frmImpress
|
|
GetLogFileName = sSDLogFileName ' presentation
|
|
case frmDraw
|
|
GetLogFileName = sSDrawLogFileName ' drawing
|
|
case frmMath
|
|
GetLogFileName = sSMathLogFileName ' formula
|
|
case frmHyperText
|
|
GetLogFileName = sSHptLogFileName ' HTML document
|
|
case frmChart
|
|
GetLogFileName = sSChartLogFileName ' chart
|
|
case frmJava
|
|
GetLogFileName = sJavaLogFileName 'Java
|
|
case frmTestClosure
|
|
GetLogFileName = sTestGlueLogFileName ' test framework
|
|
case frmDataBase
|
|
GetLogFileName = sSDBLogFileName 'Database
|
|
case frmExtension
|
|
GetLogFileName = sExtLogFileName 'Extension
|
|
case else
|
|
GetLogFileName = ""
|
|
end Select
|
|
end Function
|
|
|
|
Function GetErrorMessageOnAction (nAction as Integer) as String
|
|
Select Case ( nAction )
|
|
case cDocNew
|
|
GetErrorMessageOnAction = cMessageNewDoc
|
|
case cDocSaveOpen8
|
|
GetErrorMessageOnAction = cMessageSaveOpen8Doc
|
|
case cDocSaveOpenXML
|
|
GetErrorMessageOnAction = cMessageSaveOpenXMLDoc
|
|
case cDocMacros
|
|
GetErrorMessageOnAction = cMessageRunMacros
|
|
case cDocClose
|
|
GetErrorMessageOnAction = cMessageCloseDoc
|
|
case else
|
|
GetErrorMessageOnAction = ""
|
|
end Select
|
|
end Function
|
|
|
|
Function IsFilterAvailable (FilterType as Integer) as boolean
|
|
IsFilterAvailable = true
|
|
if (FilterType = (frmHyperText or cFltXML)) then
|
|
IsFilterAvailable = false
|
|
end if
|
|
End Function
|
|
|
|
Function TestJava
|
|
Dim oObj as Object
|
|
gCurrentTestCase = cLogfileFailed
|
|
LocalTestLog% = OpenLogDat (GetLogFileName(gCurrentDocTest))
|
|
gCurrentTestCase = cDocNew
|
|
oObj = createUnoService( cUnoJavaLoader )
|
|
LogTestResult( "Java "+ cMessageNewDoc, not IsNull (oObj) )
|
|
|
|
Print #LocalTestLog, "---"
|
|
Close #LocalTestLog%
|
|
LocalTestLog = 0
|
|
|
|
TestJava = not IsNull (oObj)
|
|
End Function
|
|
|
|
Sub LoadLibrary( LibName as String )
|
|
|
|
dim args(1)
|
|
dim arg as new com.sun.star.beans.PropertyValue
|
|
arg.Name = "LibraryName"
|
|
arg.Value = LibName
|
|
args(0) = arg
|
|
|
|
dim url as new com.sun.star.util.URL
|
|
dim trans as object
|
|
trans = createUnoService("com.sun.star.util.URLTransformer" )
|
|
url.Complete = "slot:6517"
|
|
trans.parsestrict( url )
|
|
|
|
dim disp as object
|
|
disp = StarDesktop.currentFrame.queryDispatch( url, "", 0 )
|
|
disp.dispatch( url, args() )
|
|
|
|
End Sub
|
|
|
|
Sub LoadDoc (DocName as String) as Object
|
|
dim trans as object
|
|
trans = createUnoService("com.sun.star.util.URLTransformer" )
|
|
url = createUnoStruct("com.sun.star.util.URL" )
|
|
url.Complete = DocName
|
|
if Left(DocName, 5 ) <> "file:" then
|
|
trans.parsestrict( url )
|
|
endif
|
|
|
|
Dim aPropArray(0) as Object
|
|
aPropArray(0) = CreateUnoStruct("com.sun.star.beans.PropertyValue")
|
|
aPropArray(0).Name = "OpenFlags"
|
|
aPropArray(0).Value = "S"
|
|
|
|
dim doc as object
|
|
dim noargs()
|
|
doc = StarDesktop.loadComponentFromURL( url.Complete, "_blank", 0, aPropArray() ) ' XModel
|
|
LoadDoc = doc
|
|
End Sub
|
|
|
|
Sub SaveDoc (DocName as String, oDoc as Object, sFilterName as string )
|
|
dim trans as object
|
|
trans = createUnoService("com.sun.star.util.URLTransformer" )
|
|
url = createUnoStruct("com.sun.star.util.URL" )
|
|
url.Complete = DocName
|
|
if Left(DocName, 5 ) <> "file:" then
|
|
trans.parsestrict( url )
|
|
endif
|
|
|
|
if not (sFilterName = "") then
|
|
Dim aPropArray(0) as Object
|
|
aPropArray(0) = CreateUnoStruct("com.sun.star.beans.PropertyValue")
|
|
aPropArray(0).Name = "FilterName"
|
|
aPropArray(0).Value = sFilterName
|
|
|
|
oDoc.storeAsURL( url.Complete, aPropArray() )
|
|
else
|
|
MessageBox "Filtername is unknown!"
|
|
end if
|
|
end Sub
|
|
|
|
Function CloseDoc( oDoc as Object )
|
|
Dim oListener as Object
|
|
oListener = CreateUnoListener( "Events.closeListener_", "com.sun.star.util.XCloseListener" )
|
|
oDoc.addCloseListener( oListener )
|
|
|
|
Events.ResetCloseListenerFlag()
|
|
oDoc.close( true )
|
|
closeDoc = Events.HasCloseListenerBeenCalled()
|
|
|
|
if ( Not Events.HasCloseListenerBeenCalled() ) Then
|
|
' do this only if closing was not successful - otherwise, we'd get a DisposedException
|
|
oDoc.removeCloseListener( oListener )
|
|
End If
|
|
End Function
|
|
</script:module>
|