/* * 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 complex.sfx2;
/** * This testcase checks the GlobalEventBroadcaster * it will add an XEventListener and verify the Events * raised when opening/changing and closing Office Documents
*/ publicclass GlobalEventBroadcaster {
XMultiServiceFactory m_xMSF = null;
XEventBroadcaster m_xEventBroadcaster = null;
ArrayList<String> notifyEvents = new ArrayList<String>(); // XTextDocument xTextDoc;
XSpreadsheetDocument xSheetDoc;
XEventListener m_xEventListener = new EventListenerImpl();
@Before publicvoid initialize() {
m_xMSF = getMSF();
System.out.println("check whether there is a valid MultiServiceFactory");
assertNotNull("## Couldn't get MultiServiceFactory make sure your Office is started", m_xMSF);
System.out.println("... done");
System.out.println( "Create an instance of com.sun.star.frame.GlobalEventBroadcaster");
System.out.println( "try to query the XEventBroadcaster from the gained Object");
m_xEventBroadcaster = UnoRuntime.queryInterface(XEventBroadcaster.class, GlobalEventBroadcaster);
if (util.utils.isVoid(m_xEventBroadcaster)) {
fail("couldn't get XEventBroadcaster");
}
assertTrue("Wrong events fired when closing Window-New Window",
proveExpectation(expected));
System.out.println("... done"); // TODO: It seems not possible to close the document without interactive question // there the follow test will not be execute if (false) {
System.out.println("Opening document with label wizard");
XTextDocument xTextDoc = wHelper.openFromDialog("private:factory/swriter?slot=21051", "", false);
util.utils.waitForEventIdle(m_xMSF);
XWindow xWindow = UnoRuntime.queryInterface(XWindow.class, wHelper.getToolkit().getActiveTopWindow());
UITools ut = new UITools(xWindow);
notifyEvents.clear();
System.out.println("pressing button 'New Document'"); try{
ut.clickButton ("New Document");
} catch (Exception e) {
System.out.println("Couldn't press Button");
}
System.out.println("... done");
util.utils.waitForEventIdle(m_xMSF);
expected = new String[] { "OnViewClosed", "OnCreate", "OnFocus", "OnModifyChanged" };
assertTrue("Wrong events fired when starting labels wizard",
proveExpectation(expected));
System.out.println("Try to close document...");
wHelper.closeDoc(xTextDoc);
util.utils.waitForEventIdle(m_xMSF);
wHelper.closeFromDialog();
util.utils.waitForEventIdle(m_xMSF);
xTextDoc = null;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.