diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba new file mode 100644 index 000000000000..e41cd4b49018 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba @@ -0,0 +1,109 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE script:module PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "module.dtd"> +<script:module xmlns:script="http://openoffice.org/2000/script" script:name="frame_XDispatchRecorderSupplier" script:language="StarBasic"> + + +'************************************************************************* +' +' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +' +' Copyright 2000, 2010 Oracle and/or its affiliates. +' +' OpenOffice.org - a multi-platform office productivity suite +' +' This file is part of OpenOffice.org. +' +' OpenOffice.org is free software: you can redistribute it and/or modify +' it under the terms of the GNU Lesser General Public License version 3 +' only, as published by the Free Software Foundation. +' +' OpenOffice.org is distributed in the hope that it will be useful, +' but WITHOUT ANY WARRANTY; without even the implied warranty of +' MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +' GNU Lesser General Public License version 3 for more details +' (a copy is included in the LICENSE file that accompanied this code). +' +' You should have received a copy of the GNU Lesser General Public License +' version 3 along with OpenOffice.org. If not, see +' <http://www.openoffice.org/license.html> +' for a copy of the LGPLv3 License. +' +'************************************************************************* +'************************************************************************* + + + + + +Sub RunTest() + +'************************************************************************* +' INTERFACE: +' com.sun.star.frame.XDispatchRecorderSupplier +'************************************************************************* +On Error Goto ErrHndl + Dim bOK As Boolean + Dim oldRecorder As Object + + Test.StartMethod("getDispatchRecorder()") + oldRecorder = oObj.getDispatchRecorder() + + Test.StartMethod("setDispatchRecorder()") + Dim newRecorder As Object + newRecorder = createUnoService("com.sun.star.comp.framework.DispatchRecorder") + oObj.setDispatchRecorder(newRecorder) + + Test.StartMethod("dispatchAndRecord()") + bOK = true + oDoc = createDocument("swriter", cObjectName) + Dim desktop As Object + desktop = createUnoService("com.sun.star.frame.Desktop") + Dim curFrame As Object + curFrame = desktop.getCurrentFrame() + Dim dispURL As com.sun.star.util.URL + dispURL = parseURL(".uno:InsertText") + Dim disp As Object + disp = curFrame.queryDispatch(dispURL, "", 0) + Dim dispArgs(0) As new com.sun.star.beans.PropertyValue + dispArgs(0).Name = "Text" + dispArgs(0).Value = "XDispatchRecorderSupplier" + Out.log("Dispatching and recording ...") + oObj.dispatchAndRecord(dispURL, dispArgs(), disp) + + Dim macro As String + macro = newRecorder.getRecordedMacro() + Out.log("Recorder macro :" + chr(10) + macro) + if (len(macro) <> 0) then + bOK = instr(macro, dispURL.Complete) > -1 and _ + instr(macro, dispArgs(0).Value) > -1 + end if + Test.MethodTested("dispatchAndRecord()", bOK) + + bOK = true + if (isNull(oldRecorder)) then + bOK = true + else + Dim oldMacro As String + oldMacro = oldRecorder.getRecordedMacro() + Out.log("RecordedMacro of previous dispatch recorder: " + chr(10) + oldMacro) + bOK = oldMacro = macro + endif + Test.MethodTested("getDispatchRecorder()", bOK) + Test.MethodTested("setDispatchRecorder()", bOK) + +Exit Sub +ErrHndl: + Test.Exception() + bOK = false + resume next +End Sub + +Function parseURL(complURL As String) As com.sun.star.util.URL + Dim url As new com.sun.star.util.URL + url.Complete = complURL + Dim urlTrans As Object + urlTrans = createUnoService("com.sun.star.util.URLTransformer") + urlTrans.parseStrict(url) + parseURL = url +End Function +</script:module> |