ca6df519a7
Change-Id: Ia5fba032635adbf85bdfcb1eb0b3ffb9cf9d4a6a Reviewed-on: https://gerrit.libreoffice.org/76548 Reviewed-by: Julien Nabet <serval2412@yahoo.fr> Tested-by: Andrea Gelmini <andrea.gelmini@gelma.net>
227 lines
9.8 KiB
Java
227 lines
9.8 KiB
Java
/*
|
|
* 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 .
|
|
*/
|
|
|
|
package mod._fwk;
|
|
|
|
import com.sun.star.beans.PropertyValue;
|
|
import com.sun.star.frame.XController;
|
|
import com.sun.star.frame.XFrame;
|
|
import com.sun.star.frame.XModel;
|
|
import com.sun.star.lang.XComponent;
|
|
import lib.*;
|
|
import util.DesktopTools;
|
|
import util.SOfficeFactory;
|
|
|
|
|
|
import com.sun.star.uno.Exception;
|
|
import com.sun.star.uno.UnoRuntime;
|
|
import com.sun.star.uno.XInterface;
|
|
import java.io.PrintWriter;
|
|
import com.sun.star.sheet.XSpreadsheetDocument;
|
|
import com.sun.star.text.XTextDocument;
|
|
|
|
/** Test for object that implements the following interfaces :
|
|
* <ul>
|
|
* <li><code>com::sun::star::frame::XModuleManager</code></li>
|
|
* <li><code>com::sun::star::container::XNameAccess</code></li>
|
|
* <li><code>com::sun::star::container::XElementAccess</code></li>
|
|
* </ul><p>
|
|
* @see com.sun.star.frame.XModuleManager
|
|
* @see com.sun.star.container.XNameAccess
|
|
* @see com.sun.star.container.XElementAccess
|
|
* @see ifc.frame._XModuleManager
|
|
* @see ifc.container._XNameAccess
|
|
* @see ifc.container._XElementAccess
|
|
*/
|
|
public class ModuleManager extends TestCase {
|
|
|
|
XTextDocument xTextDoc = null;
|
|
XComponent xWebDoc = null;
|
|
XComponent xGlobalDoc = null;
|
|
XSpreadsheetDocument xSheetDoc = null;
|
|
XComponent xDrawDoc = null;
|
|
XComponent xImpressDoc = null;
|
|
XComponent xMathDoc = null;
|
|
|
|
/** Creating a TestEnvironment for the interfaces to be tested.
|
|
* @param Param test parameters
|
|
* @param log simple logger
|
|
* @throws StatusException was thrown on error
|
|
* @return the test environment
|
|
*/
|
|
@Override
|
|
public TestEnvironment createTestEnvironment( TestParameters Param,
|
|
PrintWriter log ) throws Exception {
|
|
|
|
XInterface oObj = (XInterface)Param.getMSF().createInstance(
|
|
"com.sun.star.comp.framework.ModuleManager");
|
|
// get a soffice factory object
|
|
SOfficeFactory SOF = SOfficeFactory.getFactory(
|
|
Param.getMSF());
|
|
|
|
// get text document interfaces
|
|
log.println("creating a text document");
|
|
xTextDoc = SOF.createTextDoc(null);
|
|
XModel xTextMode1 = UnoRuntime.queryInterface(XModel.class,
|
|
xTextDoc);
|
|
XController xTextController = xTextMode1.getCurrentController();
|
|
XFrame xTextFrame = xTextController.getFrame();
|
|
|
|
|
|
// get webdoc interfaces
|
|
log.println("creating a web document");
|
|
xWebDoc = SOF.loadDocument("private:factory/swriter/web");
|
|
XModel xWebMode1 = UnoRuntime.queryInterface(XModel.class,
|
|
xWebDoc);
|
|
XController xWebController = xWebMode1.getCurrentController();
|
|
XFrame xWebFrame = xWebController.getFrame();
|
|
|
|
// get global document interfaces
|
|
log.println("creating a global document");
|
|
xGlobalDoc = SOF.loadDocument("private:factory/swriter/GlobalDocument");
|
|
XModel xGlobalMode1 = UnoRuntime.queryInterface(XModel.class,
|
|
xGlobalDoc);
|
|
XController xGlobalController = xGlobalMode1.getCurrentController();
|
|
XFrame xGlobalFrame = xGlobalController.getFrame();
|
|
|
|
// get clac interfaces
|
|
log.println("creating a spreadsheetdocument");
|
|
xSheetDoc = SOF.createCalcDoc(null);
|
|
XModel xSheetMode1 = UnoRuntime.queryInterface(XModel.class,
|
|
xSheetDoc);
|
|
|
|
XController xSheetController = xSheetMode1.getCurrentController();
|
|
XFrame xSheetFrame = xSheetController.getFrame();
|
|
// get draw interfaces
|
|
log.println("creating a draw document");
|
|
xDrawDoc = SOF.createDrawDoc(null);
|
|
XModel xDrawMode1 = UnoRuntime.queryInterface(XModel.class,
|
|
xDrawDoc);
|
|
XController xDrawController = xDrawMode1.getCurrentController();
|
|
XFrame xDrawFrame = xDrawController.getFrame();
|
|
|
|
// get impress interfaces
|
|
log.println("creating an impress document");
|
|
xImpressDoc = SOF.createImpressDoc(null);
|
|
XModel xImpressMode1 = UnoRuntime.queryInterface(XModel.class,
|
|
xImpressDoc);
|
|
XController xImpressController = xImpressMode1.getCurrentController();
|
|
XFrame xImpressFrame = xImpressController.getFrame();
|
|
|
|
// get math interfaces
|
|
log.println("creating a math document");
|
|
xMathDoc = SOF.createMathDoc(null);
|
|
XModel xMathMode1 = UnoRuntime.queryInterface(XModel.class,
|
|
xMathDoc);
|
|
XController xMathController = xMathMode1.getCurrentController();
|
|
XFrame xMathFrame = xMathController.getFrame();
|
|
|
|
PropertyValue[] xFrameSeq = new PropertyValue[7];
|
|
xFrameSeq[0] = new PropertyValue();
|
|
xFrameSeq[0].Name = "com.sun.star.text.TextDocument";
|
|
xFrameSeq[0].Value = xTextFrame;
|
|
xFrameSeq[1] = new PropertyValue();
|
|
xFrameSeq[1].Name = "com.sun.star.text.WebDocument";
|
|
xFrameSeq[1].Value = xWebFrame;
|
|
xFrameSeq[2] = new PropertyValue();
|
|
xFrameSeq[2].Name = "com.sun.star.text.GlobalDocument";
|
|
xFrameSeq[2].Value = xGlobalFrame;
|
|
xFrameSeq[3] = new PropertyValue();
|
|
xFrameSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument";
|
|
xFrameSeq[3].Value = xSheetFrame;
|
|
xFrameSeq[4] = new PropertyValue();
|
|
xFrameSeq[4].Name = "com.sun.star.drawing.DrawingDocument";
|
|
xFrameSeq[4].Value = xDrawFrame;
|
|
xFrameSeq[5] = new PropertyValue();
|
|
xFrameSeq[5].Name = "com.sun.star.formula.FormulaProperties";
|
|
xFrameSeq[5].Value = xMathFrame;
|
|
xFrameSeq[6] = new PropertyValue();
|
|
xFrameSeq[6].Name = "com.sun.star.presentation.PresentationDocument";
|
|
xFrameSeq[6].Value = xImpressFrame;
|
|
|
|
PropertyValue[] xControllerSeq = new PropertyValue[7];
|
|
xControllerSeq[0] = new PropertyValue();
|
|
xControllerSeq[0].Name = "com.sun.star.text.TextDocument";
|
|
xControllerSeq[0].Value = xTextController;
|
|
xControllerSeq[1] = new PropertyValue();
|
|
xControllerSeq[1].Name = "com.sun.star.text.WebDocument";
|
|
xControllerSeq[1].Value = xWebController;
|
|
xControllerSeq[2] = new PropertyValue();
|
|
xControllerSeq[2].Name = "com.sun.star.text.GlobalDocument";
|
|
xControllerSeq[2].Value = xGlobalController;
|
|
xControllerSeq[3] = new PropertyValue();
|
|
xControllerSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument";
|
|
xControllerSeq[3].Value = xSheetController;
|
|
xControllerSeq[4] = new PropertyValue();
|
|
xControllerSeq[4].Name = "com.sun.star.drawing.DrawingDocument";
|
|
xControllerSeq[4].Value = xDrawController;
|
|
xControllerSeq[5] = new PropertyValue();
|
|
xControllerSeq[5].Name = "com.sun.star.formula.FormulaProperties";
|
|
xControllerSeq[5].Value = xMathController;
|
|
xControllerSeq[6] = new PropertyValue();
|
|
xControllerSeq[6].Name = "com.sun.star.presentation.PresentationDocument";
|
|
xControllerSeq[6].Value = xImpressController;
|
|
|
|
PropertyValue[] xModelSeq = new PropertyValue[7];
|
|
xModelSeq[0] = new PropertyValue();
|
|
xModelSeq[0].Name = "com.sun.star.text.TextDocument";
|
|
xModelSeq[0].Value = xTextMode1;
|
|
xModelSeq[1] = new PropertyValue();
|
|
xModelSeq[1].Name = "com.sun.star.text.WebDocument";
|
|
xModelSeq[1].Value = xWebMode1;
|
|
xModelSeq[2] = new PropertyValue();
|
|
xModelSeq[2].Name = "com.sun.star.text.GlobalDocument";
|
|
xModelSeq[2].Value = xGlobalMode1;
|
|
xModelSeq[3] = new PropertyValue();
|
|
xModelSeq[3].Name = "com.sun.star.sheet.SpreadsheetDocument";
|
|
xModelSeq[3].Value = xSheetMode1;
|
|
xModelSeq[4] = new PropertyValue();
|
|
xModelSeq[4].Name = "com.sun.star.drawing.DrawingDocument";
|
|
xModelSeq[4].Value = xDrawMode1;
|
|
xModelSeq[5] = new PropertyValue();
|
|
xModelSeq[5].Name = "com.sun.star.presentation.PresentationDocument";
|
|
xModelSeq[5].Value = xImpressMode1;
|
|
xModelSeq[6] = new PropertyValue();
|
|
xModelSeq[6].Name = "com.sun.star.formula.FormulaProperties";
|
|
xModelSeq[6].Value = xMathMode1;
|
|
|
|
TestEnvironment tEnv = new TestEnvironment( oObj );
|
|
|
|
|
|
tEnv.addObjRelation("XModuleManager.XFrame", xFrameSeq);
|
|
tEnv.addObjRelation("XModuleManager.XController", xControllerSeq);
|
|
tEnv.addObjRelation("XModuleManager.XModel", xModelSeq);
|
|
return tEnv;
|
|
} // finish method getTestEnvironment
|
|
|
|
/** Disposes text document.
|
|
* @param tParam test parameters
|
|
* @param log simple logger
|
|
*/
|
|
@Override
|
|
protected void cleanup( TestParameters tParam, PrintWriter log ) {
|
|
log.println( " closing all documents " );
|
|
DesktopTools.closeDoc(xTextDoc);
|
|
DesktopTools.closeDoc(xWebDoc);
|
|
DesktopTools.closeDoc(xGlobalDoc);
|
|
DesktopTools.closeDoc(xSheetDoc);
|
|
DesktopTools.closeDoc(xDrawDoc);
|
|
DesktopTools.closeDoc(xImpressDoc);
|
|
DesktopTools.closeDoc(xMathDoc);
|
|
}
|
|
}
|