diff options
Diffstat (limited to 'qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/frame_XDispatchRecorder.xba')
-rw-r--r-- | qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/frame_XDispatchRecorder.xba | 158 |
1 files changed, 158 insertions, 0 deletions
diff --git a/qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/frame_XDispatchRecorder.xba b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/frame_XDispatchRecorder.xba new file mode 100644 index 000000000000..4963ad8a1b31 --- /dev/null +++ b/qadevOOo/tests/basic/ifc/frame/XDispatchRecorder/frame_XDispatchRecorder.xba @@ -0,0 +1,158 @@ +<?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_XDispatchRecorder" script:language="StarBasic"> + + +'************************************************************************* +' +' DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +' +' Copyright 2008 by Sun Microsystems, Inc. +' +' OpenOffice.org - a multi-platform office productivity suite +' +' $RCSfile: frame_XDispatchRecorder.xba,v $ +' +' $Revision: 1.3 $ +' +' 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. +' +'************************************************************************* +'************************************************************************* + + + +' Be sure that all variables are dimensioned: +option explicit + +'************************************************************************* +' This Interface/Service test depends on the following GLOBAL variables, +' which must be specified in the object creation: + +' - Global dispRecFrame As Object + +'************************************************************************* + + + + + +Sub RunTest() + +'************************************************************************* +' INTERFACE: +' com.sun.star.frame.XDispatchRecorder +'************************************************************************* +On Error Goto ErrHndl + Dim bOK As Boolean + + Test.StartMethod("startRecording()") + bOK = true + oObj.startRecording(dispRecFrame) + Test.MethodTested("startRecording()", bOK) + + Test.StartMethod("endRecording()") + bOK = true + Dim dispURL As com.sun.star.util.URL + dispURL = parseURL(".uno:InsertText") + Dim dispArgs(0) As new com.sun.star.beans.PropertyValue + dispArgs(0).Name = "Text" + dispArgs(0).Value = "XDispatchRecorder.endRecording()" + Out.log("Dispatching event for frame ...") + Dim disp As Object + disp = dispRecFrame.queryDispatch(dispURL, "", 0) + disp.dispatch(dispURL, dispArgs()) + wait(2000) + Out.log("Ending record ...") + oObj.endRecording() + Out.log("Getting macro ... :") + Dim macro As String + macro = oObj.getRecordedMacro() + Out.log("'" + macro + "'") + if (len(macro) <> 0) then + bOK = instr(macro, dispURL.Complete) > -1 and _ + instr(macro, dispArgs(0).Value) > -1 + if (Not bOK) then + Out.log("Dispatch URL '" + dispURL.Complete _ + + "' or its argument '" + dispArgs(0).Value _ + + "' was not found in macro returned - FAILED") + end if + else + bOK = false + end if + Test.MethodTested("endRecording()", bOK) + + Test.StartMethod("recordDispatch()") + bOK = true + Out.log("Recording dispatch ...") + oObj.recordDispatch(dispURL, dispArgs()) + Out.log("Getting macro ... :") + macro = oObj.getRecordedMacro() + Out.log("'" + macro + "'") + if (len(macro) <> 0) then + bOK = instr(macro, dispURL.Complete) > -1 and _ + instr(macro, dispArgs(0).Value) > -1 + if (Not bOK) then + Out.log("Dispatch URL '" + dispURL.Complete _ + + "' or its argument '" + dispArgs(0).Value _ + + "' was not found in macro returned - FAILED") + end if + else + bOK = false + end if + Test.MethodTested("recordDispatch()", bOK) + + Test.StartMethod("recordDispatchAsComment()") + bOK = true + Out.log("Recording dispatch ...") + oObj.recordDispatchAsComment(dispURL, dispArgs()) + Out.log("Getting macro ... :") + macro = oObj.getRecordedMacro() + Out.log("'" + macro + "'") + if (len(macro) <> 0) then + bOK = instr(macro, dispURL.Complete) > -1 and _ + instr(macro, dispArgs(0).Value) > -1 + if (Not bOK) then + Out.log("Dispatch URL '" + dispURL.Complete _ + + "' or its argument '" + dispArgs(0).Value _ + + "' was not found in macro returned - FAILED") + end if + else + bOK = false + end if + Test.MethodTested("recordDispatchAsComment()", bOK) + + Test.StartMethod("getRecordedMacro()") + bOK = true + Test.MethodTested("getRecordedMacro()", 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> |