summaryrefslogtreecommitdiff
path: root/qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba
diff options
context:
space:
mode:
Diffstat (limited to 'qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba')
-rw-r--r--qadevOOo/tests/basic/ifc/frame/XDispatchRecorderSupplier/frame_XDispatchRecorderSupplier.xba109
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) &lt;&gt; 0) then
+ bOK = instr(macro, dispURL.Complete) &gt; -1 and _
+ instr(macro, dispArgs(0).Value) &gt; -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>