office-gobmx/sw/qa/complex/writer/CheckFlies.java
Noel Grandin 531a052bdc Java5 update - convert to use generics
Change-Id: Ie9d9b278341132d08477d015245fedf2b66f62fd
2012-06-29 22:03:04 +02:00

213 lines
8.2 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 complex.writer;
import com.sun.star.beans.PropertyValue;
import com.sun.star.container.XNamed;
import com.sun.star.container.XNameAccess;
import com.sun.star.container.XIndexAccess;
import com.sun.star.lang.XMultiServiceFactory;
import com.sun.star.text.XTextDocument;
import com.sun.star.uno.UnoRuntime;
import complexlib.ComplexTestCase;
import java.math.BigInteger;
import java.util.Collection;
import java.util.ArrayList;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Test;
import org.openoffice.test.OfficeConnection;
import static org.junit.Assert.*;
public class CheckFlies {
@Test public void checkFlies()
throws com.sun.star.uno.Exception
{
com.sun.star.text.XTextFramesSupplier xTFS = UnoRuntime.queryInterface(
com.sun.star.text.XTextFramesSupplier.class,
document);
checkTextFrames(xTFS);
com.sun.star.text.XTextGraphicObjectsSupplier xTGOS = UnoRuntime.queryInterface(
com.sun.star.text.XTextGraphicObjectsSupplier.class,
document);
checkGraphicFrames(xTGOS);
com.sun.star.text.XTextEmbeddedObjectsSupplier xTEOS = UnoRuntime.queryInterface(
com.sun.star.text.XTextEmbeddedObjectsSupplier.class,
document);
checkEmbeddedFrames(xTEOS);
}
private void checkEmbeddedFrames(com.sun.star.text.XTextEmbeddedObjectsSupplier xTGOS)
throws com.sun.star.uno.Exception
{
Collection<String> vExpectedEmbeddedFrames = new ArrayList<String>();
vExpectedEmbeddedFrames.add("Object1");
int nEmbeddedFrames = vExpectedEmbeddedFrames.size();
com.sun.star.container.XNameAccess xEmbeddedFrames = xTGOS.getEmbeddedObjects();
for(String sFrameName : xEmbeddedFrames.getElementNames())
{
assertTrue(
"Unexpected frame name",
vExpectedEmbeddedFrames.remove(sFrameName));
xEmbeddedFrames.getByName(sFrameName);
assertTrue(
"Could not find embedded frame by name.",
xEmbeddedFrames.hasByName(sFrameName));
}
assertTrue(
"Missing expected embedded frames.",
vExpectedEmbeddedFrames.isEmpty());
try
{
xEmbeddedFrames.getByName("Nonexisting embedded frame");
fail("Got nonexisting embedded frame");
}
catch(com.sun.star.container.NoSuchElementException e)
{}
assertFalse(
"Has nonexisting embedded frame",
xEmbeddedFrames.hasByName("Nonexisting embedded frame"));
com.sun.star.container.XIndexAccess xEmbeddedFramesIdx = UnoRuntime.queryInterface(
com.sun.star.container.XIndexAccess.class,
xEmbeddedFrames);
assertEquals(
"Unexpected number of embedded frames reported.", nEmbeddedFrames,
xEmbeddedFramesIdx.getCount());
for(int nCurrentFrameIdx = 0; nCurrentFrameIdx < xEmbeddedFramesIdx.getCount(); nCurrentFrameIdx++)
{
xEmbeddedFramesIdx.getByIndex(nCurrentFrameIdx);
}
}
private void checkGraphicFrames(com.sun.star.text.XTextGraphicObjectsSupplier xTGOS)
throws com.sun.star.uno.Exception
{
Collection<String> vExpectedGraphicFrames = new ArrayList<String>();
vExpectedGraphicFrames.add("graphics1");
int nGraphicFrames = vExpectedGraphicFrames.size();
com.sun.star.container.XNameAccess xGraphicFrames = xTGOS.getGraphicObjects();
for(String sFrameName : xGraphicFrames.getElementNames())
{
assertTrue(
"Unexpected frame name",
vExpectedGraphicFrames.remove(sFrameName));
xGraphicFrames.getByName(sFrameName);
assertTrue(
"Could not find graphics frame by name.",
xGraphicFrames.hasByName(sFrameName));
}
assertTrue(
"Missing expected graphics frames.",
vExpectedGraphicFrames.isEmpty());
try
{
xGraphicFrames.getByName("Nonexisting graphics frame");
fail("Got nonexisting graphics frame");
}
catch(com.sun.star.container.NoSuchElementException e)
{}
assertFalse(
"Has nonexisting graphics frame",
xGraphicFrames.hasByName("Nonexisting graphics frame"));
com.sun.star.container.XIndexAccess xGraphicFramesIdx = UnoRuntime.queryInterface(
com.sun.star.container.XIndexAccess.class,
xGraphicFrames);
assertEquals(
"Unexpected number of graphics frames reported.", nGraphicFrames,
xGraphicFramesIdx.getCount());
for(int nCurrentFrameIdx = 0; nCurrentFrameIdx < xGraphicFramesIdx.getCount(); nCurrentFrameIdx++)
{
xGraphicFramesIdx.getByIndex(nCurrentFrameIdx);
}
}
private void checkTextFrames(com.sun.star.text.XTextFramesSupplier xTFS)
throws com.sun.star.uno.Exception
{
Collection<String> vExpectedTextFrames = new ArrayList<String>();
vExpectedTextFrames.add("Frame1");
vExpectedTextFrames.add("Frame2");
int nTextFrames = vExpectedTextFrames.size();
com.sun.star.container.XNameAccess xTextFrames = xTFS.getTextFrames();
for(String sFrameName : xTextFrames.getElementNames())
{
assertTrue(
"Unexpected frame name",
vExpectedTextFrames.remove(sFrameName));
xTextFrames.getByName(sFrameName);
assertTrue(
"Could not find text frame by name.",
xTextFrames.hasByName(sFrameName));
}
assertTrue(
"Missing expected text frames.", vExpectedTextFrames.isEmpty());
try
{
xTextFrames.getByName("Nonexisting Textframe");
fail("Got nonexisting text frame.");
}
catch(com.sun.star.container.NoSuchElementException e)
{}
assertFalse(
"Has nonexisting text frame.",
xTextFrames.hasByName("Nonexisting text frame"));
com.sun.star.container.XIndexAccess xTextFramesIdx = UnoRuntime.queryInterface(
com.sun.star.container.XIndexAccess.class,
xTextFrames);
assertEquals(
"Unexpected number of text frames reported.", nTextFrames,
xTextFramesIdx.getCount());
for(int nCurrentFrameIdx = 0; nCurrentFrameIdx < xTextFramesIdx.getCount(); nCurrentFrameIdx++)
{
xTextFramesIdx.getByIndex(nCurrentFrameIdx);
}
}
@Before public void setUpDocument() throws com.sun.star.uno.Exception {
document = util.WriterTools.loadTextDoc(
UnoRuntime.queryInterface(
XMultiServiceFactory.class,
connection.getComponentContext().getServiceManager()),
TestDocument.getUrl("CheckFlies.odt"));
}
@After public void tearDownDocument() {
util.DesktopTools.closeDoc(document);
}
private XTextDocument document = null;
@BeforeClass public static void setUpConnection() throws Exception {
connection.setUp();
}
@AfterClass public static void tearDownConnection()
throws InterruptedException, com.sun.star.uno.Exception
{
connection.tearDown();
}
private static final OfficeConnection connection = new OfficeConnection();
}