summaryrefslogtreecommitdiffstats
path: root/qadevOOo/tests/java/mod/_sw
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-27 16:51:28 +0000
commit940b4d1848e8c70ab7642901a68594e8016caffc (patch)
treeeb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /qadevOOo/tests/java/mod/_sw
parentInitial commit. (diff)
downloadlibreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.tar.xz
libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.zip
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'qadevOOo/tests/java/mod/_sw')
-rw-r--r--qadevOOo/tests/java/mod/_sw/CharacterStyle.java148
-rw-r--r--qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java142
-rw-r--r--qadevOOo/tests/java/mod/_sw/DocumentSettings.java78
-rw-r--r--qadevOOo/tests/java/mod/_sw/PageStyle.java141
-rw-r--r--qadevOOo/tests/java/mod/_sw/ParagraphStyle.java131
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java160
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java168
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java155
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java159
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java156
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java148
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java214
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java126
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java129
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java147
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java142
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java166
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java156
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java75
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java198
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java149
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXBodyText.java136
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXBookmark.java101
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXBookmarks.java101
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXCell.java118
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXCellRange.java137
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java108
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java118
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java124
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java108
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXDrawPage.java149
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java109
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java156
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java99
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnote.java134
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java108
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java151
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFootnotes.java110
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXFrames.java116
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java158
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java106
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXMailMerge.java355
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXModule.java65
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java162
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXParagraph.java225
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java141
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java91
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXPropertySet.java71
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java82
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java117
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java128
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXShape.java120
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXStyle.java181
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java97
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java169
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTableCellText.java146
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTableColumns.java112
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTableRows.java104
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextColumns.java168
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextCursor.java307
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java106
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextDocument.java215
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java153
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java121
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextField.java150
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java125
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java126
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFrame.java138
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java137
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java188
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java153
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextPortion.java154
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java137
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextRange.java85
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextRanges.java115
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextSearch.java116
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextSection.java159
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextSections.java122
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTable.java235
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java104
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java113
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextTables.java118
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextView.java255
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java107
-rw-r--r--qadevOOo/tests/java/mod/_sw/SwXViewSettings.java97
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLContentExporter.java178
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLContentImporter.java157
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLExporter.java181
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLImporter.java153
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java178
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java161
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java187
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java187
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java180
-rw-r--r--qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java169
-rw-r--r--qadevOOo/tests/java/mod/_sw/package.html23
96 files changed, 13659 insertions, 0 deletions
diff --git a/qadevOOo/tests/java/mod/_sw/CharacterStyle.java b/qadevOOo/tests/java/mod/_sw/CharacterStyle.java
new file mode 100644
index 000000000..8f7c3b181
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/CharacterStyle.java
@@ -0,0 +1,148 @@
+/*
+ * 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._sw;
+
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.CharacterStyle</code>. <p>
+ * @see com.sun.star.style.CharacterStyle
+ */
+public class CharacterStyle extends TestCase {
+ private XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * At first style families are gotten from a text document using
+ * <code>XStyleFamiliesSupplier</code> interface, then family indexed '0' is
+ * gotten from this style family using <code>XIndexAccess</code> interface.
+ * Next, method creates an instance of the service
+ * <code>com.sun.star.style.CharacterStyle</code> and inserts it to a
+ * previously obtained style family using <code>XNameContainer</code>
+ * interface. Finally, method creates a cursor of a major text of text
+ * document and sets it's property 'CharStyleName' value to the name of
+ * previously created style's name.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PoolStyle'</code> for
+ * {@link ifc.style._XStyle} : style indexed '10' obtained from
+ * StyleFamily indexed '0' from text document using
+ * <code>XIndexAccess</code> interface.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ XIndexAccess oSFsIA = UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+ oSFNA = UnoRuntime.queryInterface(
+ XNameAccess.class,oSFsIA.getByIndex(0));
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(0));
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.CharacterStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+
+ xProp.setPropertyValue("CharStyleName", oMyStyle.getName());
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+
+ String[] skipPropertiesNamed = {};
+
+ short exclude = PropertyAttribute.READONLY;
+ tEnv.addObjRelation("PropertyNames",utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropertiesNamed));
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java b/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java
new file mode 100644
index 000000000..fbcc9e2b0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/ConditionalParagraphStyle.java
@@ -0,0 +1,142 @@
+/*
+ * 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._sw;
+
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.Status;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.ConditionalParagraphStyle</code>. <p>
+ * @see com.sun.star.style.ConditionalParagraphStyle
+ */
+public class ConditionalParagraphStyle extends TestCase {
+
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Create a new instance of the conditional
+ * paragraph style, and insert it into the document.
+ * @see com.sun.star.style.ConditionalParagraphStyle
+ * @param tParam The test parameters
+ * @param log The log writer.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ oSFNA = UnoRuntime.queryInterface(
+ XNameAccess.class,oSF.getByName("ParagraphStyles"));
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(1));
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.ConditionalParagraphStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null) {
+ log.println("FAILED");
+ throw new StatusException(Status.failed("Couldn't create an own style "));
+ }
+ else {
+ log.println("OK");
+ }
+
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+ xProp.setPropertyValue("ParaStyleName", oMyStyle.getName());
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+ short exclude = PropertyAttribute.READONLY;
+ String[] skipPropertiesNamed = { "ParaBackGraphicURL" };
+
+ String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropertiesNamed);
+
+ tEnv.addObjRelation("PropertyNames", names);
+ tEnv.addObjRelation("SkipProperties", skipPropertiesNamed);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/DocumentSettings.java b/qadevOOo/tests/java/mod/_sw/DocumentSettings.java
new file mode 100644
index 000000000..935c84b1e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/DocumentSettings.java
@@ -0,0 +1,78 @@
+/*
+ * 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._sw;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import util.SOfficeFactory;
+import util.WriterTools;
+
+import java.io.PrintWriter;
+
+
+public class DocumentSettings extends TestCase
+{
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log)
+ {
+ log.println(" opening xTextDoc ");
+ xTextDoc =
+ WriterTools.createTextDoc(tParam.getMSF());
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log)
+ {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log
+ )
+ {
+ SOfficeFactory SOF =
+ SOfficeFactory.getFactory(tParam.getMSF());
+ XInterface oObj = null;
+
+ log.println("creating a test environment");
+
+ oObj =
+ (XInterface) SOF.createInstance(
+ xTextDoc, "com.sun.star.text.DocumentSettings"
+ );
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/PageStyle.java b/qadevOOo/tests/java/mod/_sw/PageStyle.java
new file mode 100644
index 000000000..7de28b201
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/PageStyle.java
@@ -0,0 +1,141 @@
+/*
+ * 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._sw;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.PageStyle</code>. <p>
+ * @see com.sun.star.style.PageStyle
+ */
+public class PageStyle extends TestCase {
+
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ oSFNA = UnoRuntime.queryInterface(
+ XNameAccess.class,oSF.getByName("PageStyles")); // get the page style
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(0));
+ log.println("Chosen pool style: "+oStyle.getName());
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.PageStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+ Property[] props = xProp.getPropertySetInfo().getProperties();
+ for (int i=0; i<props.length; i++)
+ System.out.println("# Property: " + props[i].Name + " val: " + props[i].Type.toString() + " attr: " + props[i].Attributes);
+ xProp.setPropertyValue("PageDescName", oMyStyle.getName());
+
+// oMyStyle = oStyle;
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ tEnv.addObjRelation("FollowStyle", "Envelope");
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+
+ short exclude = PropertyAttribute.READONLY;
+
+ String[] skipPropertiesNamed = {
+ "BackGraphicURL", "HeaderBackGraphicURL", "FooterBackGraphicURL"
+ };
+
+ String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropertiesNamed);
+ tEnv.addObjRelation("PropertyNames", names);
+ tEnv.addObjRelation("SkipProperties", skipPropertiesNamed);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java b/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java
new file mode 100644
index 000000000..b85a83ab3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/ParagraphStyle.java
@@ -0,0 +1,131 @@
+/*
+ * 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._sw;
+
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+import util.SOfficeFactory;
+import util.utils;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.ParagraphStyle</code>. <p>
+ * @see com.sun.star.style.ParagraphStyle
+ */
+public class ParagraphStyle extends TestCase {
+
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ oSFNA = UnoRuntime.queryInterface(
+ XNameAccess.class,oSF.getByName("ParagraphStyles"));
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oSFNA.getElementNames();
+ oStyle = UnoRuntime.queryInterface(
+ XStyle.class,oSFIA.getByIndex(1));
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.ParagraphStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+
+ xProp.setPropertyValue("ParaStyleName", oMyStyle.getName());
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+ short exclude = PropertyAttribute.READONLY;
+
+ String[] skipPropertiesNamed = { "ParaBackGraphicURL" };
+
+ String[] names = utils.getFilteredPropertyNames(xStyleProp, (short)0, exclude, skipPropertiesNamed);
+ tEnv.addObjRelation("PropertyNames", names);
+
+ return tEnv;
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java
new file mode 100644
index 000000000..5fb1a4779
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentPageView.java
@@ -0,0 +1,160 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class SwAccessibleDocumentPageView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switch the document to Print Preview mode.
+ * Obtains accessible object for the document page view.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ final TestParameters Param, PrintWriter log) throws Exception{
+
+ XInterface oObj = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ for (int i=0; i<25; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwAccessibleDocumentPageView",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwAccessibleDocumentPageView",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+
+ XController xController = xTextDoc.getCurrentController();
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ //switch to 'Print Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT );
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XText the_text = oText;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ String oldText = the_text.getString();
+ the_text.setString("EVENT FIRED");
+ util.utils.waitForEventIdle(Param.getMSF());
+ the_text.setString(oldText);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc( Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java
new file mode 100644
index 000000000..37b59c323
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleDocumentView.java
@@ -0,0 +1,168 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test of accessible object for the text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleDocumentView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. The method is called from
+ * <code>getTestEnvironment()</code>. Obtains accessible object for
+ * text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ for (int i=0; i<5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.DOCUMENT);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ getAccessibleObjectForRole(xRoot, AccessibleRole.SCROLL_BAR);
+ final XAccessibleValue xAccVal = UnoRuntime.queryInterface
+ (XAccessibleValue.class, SearchedContext) ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ xAccVal.setCurrentValue(xAccVal.getMinimumValue());
+ xAccVal.setCurrentValue(xAccVal.getMaximumValue());
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ public static boolean first = false;
+ public static XAccessibleContext SearchedContext = null;
+
+ public static void getAccessibleObjectForRole(XAccessible xacc,short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ if (ac.getAccessibleRole()==role) {
+ if (first) SearchedContext = ac;
+ else first=true;
+ } else {
+ int k = ac.getAccessibleChildCount();
+ for (int i=0;i<k;i++) {
+ try {
+ getAccessibleObjectForRole(ac.getAccessibleChild(i),role);
+ if (SearchedContext != null) return ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java
new file mode 100644
index 000000000..eb66279fa
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleEndnoteView.java
@@ -0,0 +1,155 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+public class SwAccessibleEndnoteView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Inserts the created endnote to the document.
+ * Changes zoom value to 10%(endnote must be in visible area of the document).
+ * Obtains accessible object for the inserted endnote.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface oEndnote = null;
+
+ log.println( "Creating a test environment" );
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating an endnote");
+ oEndnote = UnoRuntime.queryInterface(XInterface.class,
+ msf.createInstance("com.sun.star.text.Endnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ XTextContent xTC = UnoRuntime.queryInterface(XTextContent.class, oEndnote);
+ oText.insertTextContent(oCursor, xTC, false);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+
+ //change zoom value to 20%
+ //footer should be in the visible area of the document
+ xPropSet.setPropertyValue("ZoomValue", Short.valueOf("20"));
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.END_NOTE);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 21%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("21"));
+ //and back to 20%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("20"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java
new file mode 100644
index 000000000..24ee00358
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleFooterView.java
@@ -0,0 +1,159 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for a footer of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleFooterView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. Obtains style
+ * <code>Standard</code> from style family <code>PageStyles</code>.
+ * Changes values of property <code>FooterIsOn</code> by <code>true</code>.
+ * Changes zoom value to 10%(footer must be in visible area of the document).
+ * Obtains accessible component for the footer.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+
+ // obtains style 'Standard' from style family 'PageStyles'
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Standard"));
+
+ final XPropertySet PropSet = UnoRuntime.queryInterface( XPropertySet.class, StdStyle);
+
+ // changing/getting some properties
+ log.println( "Switching on footer" );
+ PropSet.setPropertyValue("FooterIsOn", Boolean.TRUE);
+
+ //change zoom value to 10%
+ //footer should be in the visible area of the document
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+ xPropSet.setPropertyValue("ZoomValue", Short.valueOf("20"));
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.FOOTER);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ PropSet.setPropertyValue("FooterLeftMargin",
+ Integer.valueOf(1000));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new StatusException("Can't change footer.", e);
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java
new file mode 100644
index 000000000..0899108a8
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleFootnoteView.java
@@ -0,0 +1,156 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+public class SwAccessibleFootnoteView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Inserts the created footnote to the document.
+ * Changes zoom value to 10%(endnote must be in visible area of the document).
+ * Obtains accessible object for the inserted footnote.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XFootnote oFootnote = null;
+
+ log.println( "Creating a test environment" );
+ // get a soffice factory object
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+
+ //change zoom value to 10%
+ //footer should be in the visible area of the document
+ xPropSet.setPropertyValue("ZoomValue", Short.valueOf("10"));
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.FOOTNOTE);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 130%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("15"));
+ //and back to 10%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("10"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java
new file mode 100644
index 000000000..b946304a0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleHeaderView.java
@@ -0,0 +1,148 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.frame.XModel;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test of accessible object for a header of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleHeaderView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. Obtains style
+ * <code>Standard</code> from style family <code>PageStyles</code>.
+ * Changes values of properties <code>HeaderIsOn</code> and
+ * <code>FooterIsOn</code> by <code>true</code>. Obtains accessible component
+ * for header.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+
+ // obtains style 'Standard' from style family 'PageStyles'
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Standard"));
+
+ final XPropertySet PropSet = UnoRuntime.queryInterface( XPropertySet.class, StdStyle);
+
+ // changing/getting some properties
+ log.println( "Switching on header" );
+ PropSet.setPropertyValue("HeaderIsOn", Boolean.TRUE);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.HEADER);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer(){
+ public void fireEvent() {
+ try {
+ PropSet.setPropertyValue("HeaderLeftMargin",
+ Integer.valueOf(1000));
+ } catch (com.sun.star.uno.Exception e) {
+ e.printStackTrace();
+ throw new StatusException("Can't change footer.", e);
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java b/qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java
new file mode 100644
index 000000000..62f6e8454
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessiblePageView.java
@@ -0,0 +1,214 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleValue;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XDispatch;
+import com.sun.star.frame.XDispatchProvider;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.URL;
+import com.sun.star.util.XURLTransformer;
+
+public class SwAccessiblePageView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Switches the document to Print Preview mode.
+ * Obtains accessible object for the page view.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface port = null;
+ XInterface para = null;
+ XPropertySet paraP = null;
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ for (int i=0; i<2; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface(XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ para = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+ XEnumerationAccess oEnumB = UnoRuntime.queryInterface( XEnumerationAccess.class, para );
+ XEnumeration oEnum2 = oEnumB.createEnumeration();
+ port = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum2.nextElement());
+
+ UnoRuntime.queryInterface(XPropertySet.class, port);
+ paraP = UnoRuntime.queryInterface(XPropertySet.class, para);
+ paraP.setPropertyValue("BreakType",com.sun.star.style.BreakType.PAGE_AFTER);
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XController xController = xTextDoc.getCurrentController();
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ //switch to 'Print Preview' mode
+ XDispatchProvider xDispProv = UnoRuntime.queryInterface(XDispatchProvider.class, xController);
+ XURLTransformer xParser = UnoRuntime.queryInterface(XURLTransformer.class,
+ Param.getMSF().createInstance("com.sun.star.util.URLTransformer"));
+ // Because it's an in/out parameter we must use an array of URL objects.
+ URL[] aParseURL = new URL[1];
+ aParseURL[0] = new URL();
+ aParseURL[0].Complete = ".uno:PrintPreview";
+ xParser.parseStrict(aParseURL);
+ URL aURL = aParseURL[0];
+ XDispatch xDispatcher = xDispProv.queryDispatch(aURL, "", 0);
+ if(xDispatcher != null)
+ xDispatcher.dispatch( aURL, null );
+
+ util.utils.waitForEventIdle(Param.getMSF());
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ System.out.println("Panel: "+AccessibleRole.PANEL);
+ System.out.println("ScrollPane: "+AccessibleRole.SCROLL_PANE);
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PANEL,"Page");
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ getAccessibleObjectForRole(xRoot, AccessibleRole.SCROLL_BAR);
+ final XAccessibleValue xAccVal = UnoRuntime.queryInterface
+ (XAccessibleValue.class, SearchedContext) ;
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ Integer old = (Integer) xAccVal.getCurrentValue();
+ Integer newValue = Integer.valueOf(old.intValue()+10);
+ xAccVal.setCurrentValue(newValue);
+ xAccVal.setCurrentValue(old);
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ public static boolean first = false;
+ public static XAccessibleContext SearchedContext = null;
+
+ public static void getAccessibleObjectForRole(XAccessible xacc,short role) {
+ XAccessibleContext ac = xacc.getAccessibleContext();
+ if (ac.getAccessibleRole()==role) {
+ if (first) SearchedContext = ac;
+ else first=true;
+ } else {
+ int k = ac.getAccessibleChildCount();
+ for (int i=0;i<k;i++) {
+ try {
+ getAccessibleObjectForRole(ac.getAccessibleChild(i),role);
+ if (SearchedContext != null) return ;
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ System.out.println("Couldn't get Child");
+ }
+ }
+ }
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization. In the
+ * implementation does nothing. Subclasses can override to initialize
+ * objects shared among all <code>TestEnvironment</code>s.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java
new file mode 100644
index 000000000..01af4ed5d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleParagraphView.java
@@ -0,0 +1,126 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+* Test of accessible object for paragraph of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleParagraphView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects. Obtains accessible object
+ * for one of document paragraph.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XText oText = xTextDoc.getText();
+ oText.setString("XAccessibleText");
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.PARAGRAPH);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XText paraText = xTextDoc.getText();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ String old = paraText.getString();
+ paraText.setString("Just a line");
+ paraText.setString(old);
+ }
+ });
+
+ final String text = "XAccessibleText";
+
+ tEnv.addObjRelation("XAccessibleText.Text", text);
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc( Param.getMSF());
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java
new file mode 100644
index 000000000..c16f1f497
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableCellView.java
@@ -0,0 +1,129 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.accessibility.XAccessibleContext;
+import com.sun.star.accessibility.XAccessibleSelection;
+import com.sun.star.awt.XWindow;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+* Test of accessible object for the table cell of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTableCellView extends TestCase {
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a text table and inserts it to document. Then obtains accessible
+ * object for one of table cell.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XAccessibleContext oObj = null;
+ XTextTable oTable = null;
+
+ SOfficeFactory.getFactory( Param.getMSF());
+
+ oTable = SOfficeFactory.createTextTable(xTextDoc);
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class,
+ xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE_CELL);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ final XAccessibleSelection accSel = UnoRuntime.queryInterface(
+ XAccessibleSelection.class,
+ oObj.getAccessibleParent());
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ accSel.selectAllAccessibleChildren();
+ }
+ });
+
+ return tEnv;
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println("creating a text document");
+ xTextDoc = WriterTools.createTextDoc( Param.getMSF());
+ }
+} \ No newline at end of file
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java
new file mode 100644
index 000000000..1d47445ce
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTableView.java
@@ -0,0 +1,147 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the table of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTableView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a text table and inserts it into the document.
+ * Then obtains accessible object for the table.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ SOfficeFactory.getFactory(Param.getMSF());
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TABLE);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java
new file mode 100644
index 000000000..e7ce3df98
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextEmbeddedObject.java
@@ -0,0 +1,142 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the text embedded object of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTextEmbeddedObject extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Obtains accessible object for the embedded object.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.EMBEDDED_OBJECT);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Loads the text document <code>SwXTextEmbeddedObject.sxw</code>
+ * with a text embedded object.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "open a text document" );
+ String testdoc = utils.getFullTestURL("SwXTextEmbeddedObject.sxw");
+ log.println(testdoc);
+ xTextDoc = WriterTools.loadTextDoc(Param.getMSF(),testdoc);
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java
new file mode 100644
index 000000000..133cfcb78
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextFrameView.java
@@ -0,0 +1,166 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.TextContentAnchorType;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the text frame of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTextFrameView extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a frame and inserts it into document.
+ * Obtains accessible object for the inserted text frame.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XPropertySet oPropSet = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory( Param.getMSF() );
+ // creating Frames
+ log.println( "creating Frames" );
+ oFrame1 = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ oPropSet = UnoRuntime.queryInterface(
+ XPropertySet.class, oFrame1 );
+ oPropSet.setPropertyValue("AnchorType",
+ TextContentAnchorType.AS_CHARACTER);
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ log.println( "inserting Frame1" );
+ XTextContent the_content = UnoRuntime.queryInterface(XTextContent.class, oFrame1);
+ oText.insertTextContent(oCursor, the_content, true);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.TEXT_FRAME);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 15%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("15"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java
new file mode 100644
index 000000000..f3b23fbdf
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwAccessibleTextGraphicObject.java
@@ -0,0 +1,156 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.AccessibilityTools;
+import util.SOfficeFactory;
+import util.WriterTools;
+import util.utils;
+
+import com.sun.star.accessibility.AccessibleRole;
+import com.sun.star.accessibility.XAccessible;
+import com.sun.star.awt.XWindow;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+* Test of accessible object for the graphic object of a text document.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>::com::sun::star::accessibility::XAccessible</code></li>
+* </ul>
+* @see com.sun.star.accessibility.XAccessible
+*/
+public class SwAccessibleTextGraphicObject extends TestCase {
+
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Called to create an instance of <code>TestEnvironment</code>
+ * with an object to test and related objects.
+ * Creates a graphic object and inserts it into the document.
+ * Obtains accessible object for graphic object.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see TestEnvironment
+ * @see #getTestEnvironment
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory(Param.getMSF());
+ Object oGraphObj = SOF.createInstance(
+ xTextDoc, "com.sun.star.text.GraphicObject");
+
+ XText the_text = xTextDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = UnoRuntime.queryInterface(XTextContent.class, oGraphObj);
+
+ log.println( "inserting graphic" );
+ the_text.insertTextContent(the_cursor, the_content, true);
+
+ XModel aModel = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+
+ XWindow xWindow = AccessibilityTools.getCurrentWindow(aModel);
+ XAccessible xRoot = AccessibilityTools.getAccessibleObject(xWindow);
+
+ oObj = AccessibilityTools.getAccessibleObjectForRole(xRoot, AccessibleRole.GRAPHIC);
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+ AccessibilityTools.printAccessibleTree(log, xRoot, Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+
+ final XPropertySet PropSet = xViewSetSup.getViewSettings();
+
+ tEnv.addObjRelation("EventProducer",
+ new ifc.accessibility._XAccessibleEventBroadcaster.EventProducer() {
+ public void fireEvent() {
+ try {
+ //change zoom value to 20%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("20"));
+ //and back to 100%
+ PropSet.setPropertyValue("ZoomValue", Short.valueOf("100"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+
+ }
+ }
+ });
+
+
+ return tEnv;
+
+ }
+
+
+ /**
+ * Called while disposing a <code>TestEnvironment</code>.
+ * Disposes text document.
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println("dispose text document");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Called while the <code>TestCase</code> initialization.
+ * Creates a text document.
+ *
+ * @param Param test parameters
+ * @param log writer to log information while testing
+ *
+ * @see #initializeTestCase
+ */
+ @Override
+ protected void initialize(TestParameters Param, PrintWriter log) throws Exception {
+ log.println( "creating a text document" );
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java b/qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java
new file mode 100644
index 000000000..edaa1aed9
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXAutoTextContainer.java
@@ -0,0 +1,75 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+* Test for object which is represented by service
+* <code>com.sun.star.text.AutoTextContainer</code>.<p>
+* Object implements the following interfaces :
+* <ul>
+* <li> <code>com::sun::star::container::XNameAccess</code></li>
+* <li> <code>com::sun::star::container::XElementAccess</code></li>
+* <li> <code>com::sun::star::text::XAutoTextContainer</code></li>
+* </ul>
+* @see com.sun.star.container.XNameAccess
+* @see com.sun.star.container.XElementAccess
+* @see com.sun.star.text.XAutoTextContainer
+* @see com.sun.star.text.AutoTextContainer
+* @see ifc.container._XNameAccess
+* @see ifc.container._XElementAccess
+* @see ifc.text._XAutoTextContainer
+*/
+public class SwXAutoTextContainer extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.AutoTextContainer</code>.<p>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XAutoTextContainer oContainer = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating an AutoTextContainer");
+ XMultiServiceFactory myMSF = Param.getMSF();
+ Object oInst = myMSF.createInstance
+ ("com.sun.star.text.AutoTextContainer");
+ oContainer = UnoRuntime.queryInterface
+ (XAutoTextContainer.class,oInst);
+
+ TestEnvironment tEnv = new TestEnvironment(oContainer);
+
+ return tEnv;
+ }
+
+} // finish class SwXAutoTextcontainer
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java b/qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java
new file mode 100644
index 000000000..30a7ada71
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXAutoTextEntry.java
@@ -0,0 +1,198 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DefaultDsc;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.text.XAutoTextEntry;
+import com.sun.star.text.XAutoTextGroup;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.AutoTextEntry</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XAutoTextEntry</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.AutoTextEntry
+ * @see com.sun.star.text.AutoTextContainer
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XAutoTextEntry
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XAutoTextEntry
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XText
+ */
+public class SwXAutoTextEntry extends TestCase {
+ XTextDocument xTextDoc;
+ XAutoTextGroup oGroup;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ XMultiServiceFactory msf = tParam.getMSF();
+ SOfficeFactory SOF = SOfficeFactory.getFactory( msf );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Removes added element from AutoTextGroup
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ try {
+ if ( oGroup.hasByName("NewEntryName") ) {
+ log.println("Removing 'NewEntryName' element");
+ ((com.sun.star.lang.XComponent) AnyConverter.toObject(
+ new Type(com.sun.star.lang.XComponent.class),
+ oGroup.getByName("NewEntryName"))).dispose();
+ oGroup.removeByName("NewEntryName");
+ }
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Cannot remove TextEntry from group...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Cannot remove TextEntry from group...");
+ e.printStackTrace(log);
+ }
+ log.println( "disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.AutoTextContainer</code>, then selects the 'mytexts'
+ * group from the given container using <code>XNameAccess</code> interface,
+ * and inserts some text entry to this group. Then entry passed as test
+ * component.<p>
+ * Object relations created :
+ * <ul>
+ * <li><code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} : creates tables 6x4</li>
+ * <li><code>'TEXTDOC'</code> for
+ * {@link ifc.text._XAutoTextEntry} : text document</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ XAutoTextEntry oEntry = null;
+ XAutoTextContainer oContainer;
+ XInterface oObj = null;
+ log.println( "creating a test environment" );
+ XMultiServiceFactory myMSF = Param.getMSF();
+ Object oInst = myMSF.createInstance
+ ("com.sun.star.text.AutoTextContainer");
+ oContainer = UnoRuntime.queryInterface(XAutoTextContainer.class,oInst);
+
+ XNameAccess oContNames = UnoRuntime.queryInterface(XNameAccess.class, oContainer);
+
+ String contNames[] = oContNames.getElementNames();
+ for (int i =0; i < contNames.length; i++){
+ log.println("ContainerNames[ "+ i + "]: " + contNames[i]);
+ }
+
+ oObj = (XInterface) AnyConverter.toObject(new Type(XInterface.class),oContNames.getByName("mytexts"));
+
+ oGroup = UnoRuntime.queryInterface
+ (XAutoTextGroup.class, oObj);
+ String[] oENames = oGroup.getElementNames();
+ for (int i=0; i<oENames.length; i++) {
+ log.println("AutoTextEntryNames[" + i + "]: " + oENames[i]);
+ }
+
+ XText oText = xTextDoc.getText();
+ oText.insertString(oText.getStart(), "New AutoText", true);
+ XTextRange oTextRange = oText;
+ try {
+ if ( oGroup.hasByName("NewEntryName") ) {
+ oGroup.removeByName("NewEntryName");
+ log.println("Element 'NewEntryName' exists, removing...");
+ }
+ log.println("Adding new element 'NewEntryName' to group...");
+ oGroup.insertNewByName("NewEntryName", "NewEntryTitle", oTextRange);
+ oEntry = (XAutoTextEntry) AnyConverter.toObject(
+ new Type(XAutoTextEntry.class),oGroup.getByName("NewEntryName"));
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ }
+
+ oObj = oEntry;
+
+ log.println("Trying to use XText as TextRange in the method applyTo");
+ oEntry.applyTo(oTextRange);
+
+ oTextRange = oText.createTextCursor();
+ log.println("Trying to use XTextCursor as TextRange in the method applyTo");
+ oEntry.applyTo(oTextRange);
+
+ log.println( "creating a new environment for AutoTextEntry object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XText
+ DefaultDsc tDsc = new DefaultDsc("com.sun.star.text.XTextContent",
+ "com.sun.star.text.TextField.DateTime");
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXAutoTextEntry
diff --git a/qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java b/qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java
new file mode 100644
index 000000000..eb9ff16e0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXAutoTextGroup.java
@@ -0,0 +1,149 @@
+/*
+ * 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._sw;
+
+import com.sun.star.container.XNameAccess;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XAutoTextContainer;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+import util.utils;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.AutoTextGroup</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::text::XAutoTextGroup</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.XAutoTextGroup
+ * @see com.sun.star.text.AutoTextContainer
+ * @see ifc.container._XNamed
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.text._XAutoTextGroup
+ */
+public class SwXAutoTextGroup extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.AutoTextContainer</code>, then creates a new
+ * group into the container.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TextRange'</code> for
+ * {@link ifc.text._XAutoTextGroup} range of text</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XAutoTextContainer oContainer;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory myMSF = Param.getMSF();
+ Object oInst = myMSF.createInstance("com.sun.star.text.AutoTextContainer");
+ oContainer = UnoRuntime.queryInterface(XAutoTextContainer.class,oInst);
+ String myGroupName="myNewGroup2*1";
+
+ XAutoTextContainer xATC = UnoRuntime.queryInterface(XAutoTextContainer.class, oContainer);
+
+ try {
+ log.println("removing element with name '" + myGroupName + "'");
+ xATC.removeByName(myGroupName);
+ } catch (com.sun.star.container.NoSuchElementException e) {
+ }
+
+ log.println("adding element with name '" + myGroupName + "'");
+ xATC.insertNewByName(myGroupName);
+
+ XNameAccess oContNames = UnoRuntime.queryInterface(XNameAccess.class, oContainer);
+
+ if (Param.getBool(util.PropertyName.DEBUG_IS_ACTIVE)){
+ String contNames[] = oContNames.getElementNames();
+ for (int i =0; i < contNames.length; i++){
+ log.println("ContainerNames[ "+ i + "]: " + contNames[i]);
+ }
+ }
+
+ oObj = (XInterface) AnyConverter.toObject(new Type(XInterface.class),oContNames.getByName(myGroupName));
+
+ log.println("ImplementationName " + utils.getImplName(oObj));
+
+ log.println( "creating a new environment for AutoTextGroup object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XText oText = xTextDoc.getText();
+ oText.insertString(oText.getStart(), "New AutoText", true);
+
+ log.println( "adding TextRange as mod relation to environment" );
+ tEnv.addObjRelation("TextRange", oText);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXAutoTextGroup
diff --git a/qadevOOo/tests/java/mod/_sw/SwXBodyText.java b/qadevOOo/tests/java/mod/_sw/SwXBodyText.java
new file mode 100644
index 000000000..e79c25993
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXBodyText.java
@@ -0,0 +1,136 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Text</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXBodyText extends TestCase {
+ XTextDocument xTextDoc = null;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Obtains body text from text document.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextRangeCompare} : text</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : creates 6x4 tables</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+
+ // get the bodytext of textdocument here
+ log.println( " getting the bodytext of textdocument with getText()" );
+ oObj = xTextDoc.getText();
+
+ log.println( " creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println(" adding Text as ObjRelation");
+ tEnv.addObjRelation("TEXT", oObj );
+
+ log.println( " adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXBodyText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXBookmark.java b/qadevOOo/tests/java/mod/_sw/SwXBookmark.java
new file mode 100644
index 000000000..034a64b8e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXBookmark.java
@@ -0,0 +1,101 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Bookmark</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::TextContent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.TextContent
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XTextContent
+ * @see ifc.text._TextContent
+ */
+public class SwXBookmark extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creating
+ * a bookmark, it is inserted to the text document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ XInterface oObj = null;
+ Object instance = null;
+ log.println( "creating a test environment" );
+ oObj = SOfficeFactory.createBookmark( xTextDoc );
+ SOfficeFactory.insertTextContent( xTextDoc, (XTextContent) oObj );
+ instance = SOF.createInstance(xTextDoc,"com.sun.star.text.Bookmark");
+ log.println( "creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ util.dbg.printInterfaces((XInterface) instance);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXBookmark
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXBookmarks.java b/qadevOOo/tests/java/mod/_sw/SwXBookmarks.java
new file mode 100644
index 000000000..3c830212e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXBookmarks.java
@@ -0,0 +1,101 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.text.XBookmarksSupplier;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Bookmarks</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXBookmarks extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. Method
+ * creates two bookmarks and inserts them to the text document. Then bookmarks
+ * are gotten from text document using <code>XBookmarksSupplier</code>
+ * interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ oObj = SOfficeFactory.createBookmark( xTextDoc );
+ SOfficeFactory.insertTextContent( xTextDoc, (XTextContent) oObj );
+ oObj = SOfficeFactory.createBookmark( xTextDoc );
+ SOfficeFactory.insertTextContent( xTextDoc, (XTextContent) oObj );
+
+ XBookmarksSupplier oBSupp = UnoRuntime.queryInterface(XBookmarksSupplier.class, xTextDoc);
+ XNameAccess oBookNA = oBSupp.getBookmarks();
+ oObj = oBookNA;
+ log.println( "creating a new environment for Bookmarks object" );
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXBookmarks
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXCell.java b/qadevOOo/tests/java/mod/_sw/SwXCell.java
new file mode 100644
index 000000000..6773e5d59
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXCell.java
@@ -0,0 +1,118 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is a cell of the table in a text document, and
+ * represented by service <code>com.sun.star.table.Cell</code><p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::CellProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.table.Cell
+ * @see com.sun.star.text.CellProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.text._CellProperties
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXCell extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creating
+ * a text table, it is inserted to the text document. Finally, first cell of
+ * this table is gotten.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CellProperties.TextSection'</code> for
+ * {@link ifc.text._CellProperties} : range of complete paragraphs
+ * within a text</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextContent oTable = null;
+
+ SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a test environment" );
+ oTable = SOfficeFactory.createTextTable(xTextDoc, 3, 4);
+ try {
+ SOfficeFactory.insertTextContent( xTextDoc, oTable );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Unable to insert TextContent...");
+ e.printStackTrace(log);
+ }
+ oObj = SOfficeFactory.getFirstTableCell( oTable );
+
+ log.println( " creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ try {
+ XInterface oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ log.println(" adding TextSection object");
+ tEnv.addObjRelation("CellProperties.TextSection", oTS);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Could not get instance of TextSection");
+ e.printStackTrace(log);
+ }
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXCell
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXCellRange.java b/qadevOOo/tests/java/mod/_sw/SwXCellRange.java
new file mode 100644
index 000000000..7b60a1f6c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXCellRange.java
@@ -0,0 +1,137 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.table.CellRange</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::CellProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.table.CellRange
+ * @see com.sun.star.text.CellProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.text._CellProperties
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXCellRange extends TestCase {
+ SOfficeFactory SOF;
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. At first
+ * method creates and initializes the table, then if text document has no
+ * tables, previously created table is inserted to text document. Finally,
+ * custom cell range is gotten from the table created.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'CellProperties.TextSection'</code> for
+ * {@link ifc.text._CellProperties} : range of complete paragraphs
+ * within a text</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ XTextTable the_table = null;
+ XInterface oObj = null;
+ the_table = SOfficeFactory.createTextTable( xTextDoc );
+ the_table.initialize(5, 5);
+
+ if( SOfficeFactory.getTableCollection( xTextDoc ).getCount() == 0 ) {
+ SOfficeFactory.insertTextContent(xTextDoc, the_table );
+ }
+ XCellRange the_Range = UnoRuntime.queryInterface(XCellRange.class, the_table);
+ oObj = the_Range.getCellRangeByPosition(0, 0, 3, 4);
+
+ log.println("Creating instance...");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ log.println("ImplName: " + util.utils.getImplName(oObj));
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ try {
+ XInterface oTS = (XInterface)
+ oDocMSF.createInstance("com.sun.star.text.TextSection");
+ log.println(" adding TextSection object");
+ tEnv.addObjRelation("CellProperties.TextSection", oTS);
+ } catch (com.sun.star.uno.Exception e) {
+ log.println("Could not get instance of TextSection");
+ e.printStackTrace(log);
+ }
+
+ Object[][] NewData = new Object[5][];
+ NewData[0] = new Double[]
+ {new Double(2.5),new Double(5),new Double(2.5),new Double(5)};
+ NewData[1] = new Double[]
+ {new Double(4),new Double(9),new Double(2.5),new Double(5)};
+ NewData[2] = new Double[]
+ {new Double(2.5),new Double(5),new Double(2.5),new Double(5)};
+ NewData[3] = new Double[]
+ {new Double(2.5),new Double(5),new Double(2.5),new Double(5)};
+ NewData[4] = new Double[]
+ {new Double(4),new Double(9),new Double(2.5),new Double(5)};
+ tEnv.addObjRelation("NewData",NewData);
+
+ // com::sun::star::chart::XChartDataArray
+ tEnv.addObjRelation("CRDESC",
+ "Column and RowDescriptions can't be changed for this Object");
+
+
+ return tEnv;
+ }
+} // finish class SwXCellRange
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java b/qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java
new file mode 100644
index 000000000..b219a82a0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXChapterNumbering.java
@@ -0,0 +1,108 @@
+/*
+ * 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._sw;
+
+import com.sun.star.beans.PropertyValue;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XChapterNumberingSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object, which is a collection of chapter numbering rules of document.
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::text::NumberingRules</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.NumberingRules
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.text._NumberingRules
+ */
+public class SwXChapterNumbering extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. Chapter
+ * numbering rules are gotten from text document using interface
+ * <code>XChapterNumberingSupplier</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ XChapterNumberingSupplier oCNSupp = UnoRuntime.queryInterface(XChapterNumberingSupplier.class,xTextDoc);
+ oObj = oCNSupp.getChapterNumberingRules();
+
+ PropertyValue[] instance1 = null;
+ try {
+ instance1 = (PropertyValue[]) oCNSupp.getChapterNumberingRules().getByIndex(1);
+ } catch (com.sun.star.lang.IndexOutOfBoundsException e) {
+ e.printStackTrace();
+ } catch (com.sun.star.lang.WrappedTargetException e) {
+ e.printStackTrace();
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("INSTANCE1", instance1);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXChapterNumbering
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java
new file mode 100644
index 000000000..94ff90072
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndex.java
@@ -0,0 +1,118 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.DocumentIndex</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XDocumentIndex</code></li>
+ * <li> <code>com::sun::star::text::BaseIndex</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::DocumentIndex</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XDocumentIndex
+ * @see com.sun.star.text.BaseIndex
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.DocumentIndex
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XDocumentIndex
+ * @see ifc.text._BaseIndex
+ * @see ifc.text._XTextContent
+ * @see ifc.text._DocumentIndex
+ */
+public class SwXDocumentIndex extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.DocumentIndex</code>, then created document index
+ * is inserted to the text of the document as content.
+ *
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) throws Exception {
+ XTextContent xTC = null;
+ Object instance = null;
+
+ SOfficeFactory.getFactory(tParam.getMSF());
+ log.println( "creating a test environment" );
+ xTC = SOfficeFactory.createIndex(xTextDoc, "com.sun.star.text.DocumentIndex");
+ instance = SOfficeFactory.createIndex(xTextDoc, "com.sun.star.text.DocumentIndex");
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the Index into text document");
+ oText.insertTextContent(oCursor, xTC, false);
+
+ TestEnvironment tEnv = new TestEnvironment(xTC);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ oCursor.gotoEnd(false);
+ tEnv.addObjRelation("RANGE", UnoRuntime.queryInterface(XTextRange.class, oCursor));
+
+ // relation for XDocumentIndex
+ tEnv.addObjRelation("TextDoc", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXDocumentIndex
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java
new file mode 100644
index 000000000..1e18e920f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexMark.java
@@ -0,0 +1,124 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDocumentIndexMark;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.DocumentIndexMark</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::BaseIndexMark</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::TextContent</code></li>
+ * <li> <code>com::sun::star::text::DocumentIndexMark</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.BaseIndexMark
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.text.DocumentIndexMark
+ * @see ifc.lang._XComponent
+ * @see ifc.text._BaseIndexMark
+ * @see ifc.text._XTextContent
+ * @see ifc.text._TextContent
+ * @see ifc.text._DocumentIndexMark
+ */
+public class SwXDocumentIndexMark extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.DocumentIndexMark</code>, attaches text to
+ * created DocumentIndexMark, and inserts DocumentIndexMark to the
+ * text document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ Object oDIM = null;
+ Object instance = null;
+ try {
+ oDIM = oDocMSF.createInstance
+ ("com.sun.star.text.DocumentIndexMark");
+ instance = oDocMSF.createInstance
+ ("com.sun.star.text.DocumentIndexMark");
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Error:" + e);
+ }
+
+ XDocumentIndexMark xDIM = UnoRuntime.queryInterface(XDocumentIndexMark.class, oDIM);
+
+ oText.insertTextContent(oCursor, xDIM, false);
+
+ TestEnvironment tEnv = new TestEnvironment(xDIM);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ } // finish class SwXDocumentIndexMark
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java
new file mode 100644
index 000000000..06459e4d7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDocumentIndexes.java
@@ -0,0 +1,108 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XDocumentIndexesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for the object, which is represented by collection of document indexes.
+ * Object implements the following interfaces:
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXDocumentIndexes extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.ContentIndex</code>, then created content index is
+ * inserted to the text document, and finally all document indexes are gotten
+ * from a text document using <code>XDocumentIndexesSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a test environment" );
+ XTextContent xTC = SOfficeFactory.createIndex(xTextDoc,"com.sun.star.text.ContentIndex");
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the Index into text document");
+ oText.insertTextContent(oCursor, xTC, false);
+
+ XDocumentIndexesSupplier xDocInd = UnoRuntime.queryInterface(XDocumentIndexesSupplier.class,xTextDoc);
+
+ oObj = xDocInd.getDocumentIndexes();
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXDocumentIndexes
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXDrawPage.java b/qadevOOo/tests/java/mod/_sw/SwXDrawPage.java
new file mode 100644
index 000000000..d6d44644e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXDrawPage.java
@@ -0,0 +1,149 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.ShapeDsc;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.DrawPage</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::drawing::GenericDrawPage</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeBinder</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeGrouper</code></li>
+ * <li> <code>com::sun::star::drawing::XShapes</code></li>
+ * <li> <code>com::sun::star::lang::XServiceInfo</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::drawing::XMasterPageTarget</code></li>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeCombiner</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.drawing.GenericDrawPage
+ * @see com.sun.star.drawing.XShapeBinder
+ * @see com.sun.star.drawing.XShapeGrouper
+ * @see com.sun.star.drawing.XShapes
+ * @see com.sun.star.lang.XServiceInfo
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.drawing.XMasterPageTarget
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.drawing.XShapeCombiner
+ * @see ifc.drawing._GenericDrawPage
+ * @see ifc.drawing._XShapeBinder
+ * @see ifc.drawing._XShapeGrouper
+ * @see ifc.drawing._XShapes
+ * @see ifc.lang._XServiceInfo
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.drawing._XMasterPageTarget
+ * @see ifc.container._XNamed
+ * @see ifc.drawing._XShapeCombiner
+ */
+public class SwXDrawPage extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After
+ * obtaining DrawPage object several shapes are inserted to it.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'Shape'</code> for
+ * {@link ifc.drawing._XShapes} : shape creator. </li>
+ * <li> <code>'DrawPage'</code> for
+ * {@link ifc.drawing._XShapeBinder},
+ * {@link ifc.drawing._XShapeCombiner},
+ * {@link ifc.drawing._XShapeGrouper} : DrawPage component we are
+ * testing.</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XDrawPageSupplier XDPSupp;
+ XDrawPage xDP = null;
+ XShapes oShapes = null;
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ XDPSupp = UnoRuntime.queryInterface
+ (XDrawPageSupplier.class, xTextDoc);
+ xDP = XDPSupp.getDrawPage();
+ oObj = xDP;
+
+ log.println( "inserting some Shapes" );
+ oShapes = UnoRuntime.queryInterface(XShapes.class, oObj);
+ oShapes.add(SOF.createShape(xTextDoc,2000,1500,1000,1000,"Line"));
+ oShapes.add(SOF.createShape(xTextDoc,3000,4500,15000,1000,"Ellipse"));
+ oShapes.add(SOF.createShape(xTextDoc,5000,3500,7500,5000,"Rectangle"));
+
+ log.println( "creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ ShapeDsc sDsc = new ShapeDsc(15000,13500,7500,10000,"Rectangle");
+ log.println( "adding Shape as mod relation to environment" );
+ tEnv.addObjRelation("Shape", new InstCreator( xTextDoc, sDsc));
+ tEnv.addObjRelation("DrawPage", oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXDrawPage
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java b/qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java
new file mode 100644
index 000000000..c2dbba2d7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXEndnoteProperties.java
@@ -0,0 +1,109 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.dbg;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XEndnotesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.FootnoteSettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::FootnoteSettings</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.FootnoteSettings
+ * @see ifc.text._FootnoteSettings
+ */
+public class SwXEndnoteProperties extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Endnote</code>. Then created endnote is inserted
+ * to the text document, and finally endnote settings are gotten from text
+ * document using <code>XEndnotesSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XEndnotesSupplier oInterface = null;
+ XInterface oObj = null;
+ XInterface oEndnote;
+
+ log.println( "Creating a test environment" );
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating an endnote");
+ oEndnote = UnoRuntime.queryInterface(XInterface.class,
+ msf.createInstance("com.sun.star.text.Endnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ XTextContent xTC = UnoRuntime.queryInterface(XTextContent.class, oEndnote);
+ oText.insertTextContent(oCursor, xTC, false);
+
+ oInterface = UnoRuntime.queryInterface(XEndnotesSupplier.class, xTextDoc);
+ oObj = oInterface.getEndnoteSettings();
+ dbg.printPropertiesNames((XPropertySet) oObj);
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java b/qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java
new file mode 100644
index 000000000..dcfbf1c2f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFieldEnumeration.java
@@ -0,0 +1,156 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDependentTextField;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XEnumeration</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XEnumeration
+ * @see ifc.container._XEnumeration
+ */
+public class SwXFieldEnumeration extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. FieldMaster
+ * object is created and attached to Bibliography database. After setting
+ * properties of created FieldMaster object, it is attached to the TextField
+ * object. Then TextField is inserted as TextContent to the text document.
+ * At the end, TextFields of text document are obtained and
+ * enumeration of these fields is created.<br>
+ * Creates instances of the services:
+ * <code>com.sun.star.text.FieldMaster.Database</code>,
+ * <code>com.sun.star.text.TextField.Database</code>.<br>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ENUM'</code> for
+ * {@link ifc.container._XEnumeration} : text fields</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ Object FieldMaster = null;
+ XPropertySet PFieldMaster = null;
+ XDependentTextField xTF = null;
+ XEnumerationAccess xFEA = null;
+ XText the_Text;
+ XTextCursor the_Cursor;
+ XTextContent the_Field;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( XMultiServiceFactory.class, xTextDoc );
+
+ try {
+ FieldMaster = oDocMSF.createInstance
+ ( "com.sun.star.text.FieldMaster.Database" );
+ PFieldMaster = UnoRuntime.queryInterface
+ (XPropertySet.class,FieldMaster);
+ oObj = (XInterface)
+ oDocMSF.createInstance("com.sun.star.text.TextField.Database");
+ xTF = UnoRuntime.queryInterface(XDependentTextField.class,oObj);
+ } catch ( com.sun.star.uno.Exception e ) {
+ e.printStackTrace(log);
+ }
+
+ try {
+ PFieldMaster.setPropertyValue("DataBaseName","Bibliography");
+ PFieldMaster.setPropertyValue("DataTableName","biblio");
+ PFieldMaster.setPropertyValue("DataColumnName","Address");
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.PropertyVetoException e ) {
+ log.println("Error: can't set PropertyValue to a FieldMaster");
+ e.printStackTrace(log);
+ }
+
+ the_Text = xTextDoc.getText();
+ the_Cursor = the_Text.createTextCursor();
+ the_Field = UnoRuntime.queryInterface(XTextContent.class, oObj);
+
+ xTF.attachTextFieldMaster(PFieldMaster);
+ the_Text.insertTextContent(the_Cursor,the_Field,false);
+
+ // create testobject here
+ XTextFieldsSupplier oTFS = UnoRuntime.queryInterface( XTextFieldsSupplier.class, xTextDoc );
+ xFEA = oTFS.getTextFields();
+ oObj = oTFS.getTextFields().createEnumeration();
+
+ log.println( "creating a new environment for FieldEnumeration object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM", xFEA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFieldEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java b/qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java
new file mode 100644
index 000000000..ce1009e05
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFieldMaster.java
@@ -0,0 +1,99 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.FieldMaster.Database</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::TextFieldMaster</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.TextFieldMaster
+ * @see com.sun.star.text.FieldMaster.Database
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.text._TextFieldMaster
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXFieldMaster extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.FieldMaster.Database</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ try {
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface( XMultiServiceFactory.class, xTextDoc );
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.FieldMaster.Database" );
+ } catch ( com.sun.star.uno.Exception e ) {
+ log.println("Couldn't create instance");
+ e.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldMaster object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFieldMaster
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnote.java b/qadevOOo/tests/java/mod/_sw/SwXFootnote.java
new file mode 100644
index 000000000..745e3d69c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnote.java
@@ -0,0 +1,134 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.FrameDsc;
+import util.InstCreator;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Footnote</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XFootnote</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::Footnote</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XFootnote
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.Footnote
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XFootnote
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._Footnote
+ * @see ifc.text._XTextContent
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XText
+ */
+public class SwXFootnote extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created footnote
+ * to a text of document as content.
+ * Object relations created :
+ * <ul>
+ * <li><code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XText} </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XFootnote oFootnote;
+
+ log.println( "Creating a test environment" );
+ // get a soffice factory object
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+ Object instance = null;
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+ instance = msf.createInstance("com.sun.star.text.Footnote");
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+
+ TestEnvironment tEnv = new TestEnvironment(oFootnote);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ log.println( "adding InstDescriptor object" );
+ FrameDsc tDsc = new FrameDsc( 3000, 6000 );
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ return tEnv;
+ }
+
+} // finish class SwXFootnote
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java b/qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java
new file mode 100644
index 000000000..c86bc30c7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnoteProperties.java
@@ -0,0 +1,108 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for the object, which is represented as set of footnote properties
+ * (instance of <code>com.sun.star.text.FootnoteSettings</code> service).
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::FootnoteSettings</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.FootnoteSettings
+ * @see ifc.text._FootnoteSettings
+ */
+public class SwXFootnoteProperties extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created Footnote
+ * to the text document, and finally gets footnote settings from text
+ * document through <code>XFootnotesSupplier</code> interface.<br>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XFootnotesSupplier oInterface = null;
+ XInterface oObj = null;
+ XFootnote oFootnote;
+
+ log.println( "Creating a test environment" );
+ // get a soffice factory object
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+
+ oInterface = UnoRuntime.queryInterface(XFootnotesSupplier.class, xTextDoc);
+ oObj = oInterface.getFootnoteSettings();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java b/qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java
new file mode 100644
index 000000000..374e89c66
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnoteText.java
@@ -0,0 +1,151 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TextSectionDsc;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXFootnoteText extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created Footnote
+ * to the text, and finally sets a string to the footnote. Then the text
+ * gotten from the footnote is returned as tested component.<br>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextRangeCompare} : footnote text</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : text section creator</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ XFootnote oFootnote;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+
+ XSimpleText oFootText = UnoRuntime.queryInterface(XSimpleText.class, oFootnote);
+ oFootText.setString("SwXFootnoteText");
+
+ oObj = oFootText.getText();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXT", oObj);
+
+ TextSectionDsc tDsc = new TextSectionDsc();
+ log.println( " adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFootnoteText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFootnotes.java b/qadevOOo/tests/java/mod/_sw/SwXFootnotes.java
new file mode 100644
index 000000000..d62e20971
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFootnotes.java
@@ -0,0 +1,110 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnote;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Footnotes</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXFootnotes extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.Footnote</code>. Then inserts created Footnote
+ * to the text, and finally gets all footnotes of text document
+ * through <code>XFootnotesSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XFootnotesSupplier oInterface = null;
+ XInterface oObj = null;
+
+ log.println( "Creating a test environment" );
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ log.println("creating a footnote");
+ XFootnote oFootnote;
+
+ oFootnote = UnoRuntime.queryInterface(XFootnote.class,
+ msf.createInstance("com.sun.star.text.Footnote"));
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting the footnote into text document");
+ oText.insertTextContent(oCursor, oFootnote, false);
+ oInterface = UnoRuntime.queryInterface(XFootnotesSupplier.class, xTextDoc);
+ oObj = oInterface.getFootnotes();
+
+ log.println( "creating a new environment for Footnotes object" );
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ }
+
+} // finish class SwXFootnote
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXFrames.java b/qadevOOo/tests/java/mod/_sw/SwXFrames.java
new file mode 100644
index 000000000..5a85e0bfe
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXFrames.java
@@ -0,0 +1,116 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.text.XTextFramesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see ifc.container._XContainer
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXFrames extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.TextFrame</code>. Then inserts created text frame
+ * to the text, and finally gets all frames of text document using
+ * <code>XTextFramesSupplier</code> interface.<br>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+ XMultiServiceFactory oDocMSF = null;
+ XTextFramesSupplier oInterface = null;
+
+ log.println( "creating a test environment" );
+ oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ Object oInt = oDocMSF.createInstance("com.sun.star.text.TextFrame");
+ oFrame1 = UnoRuntime.queryInterface( XTextFrame.class, oInt );
+
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ oText.insertTextContent(oCursor, oFrame1, false);
+
+ oInterface = UnoRuntime.queryInterface( XTextFramesSupplier.class, xTextDoc );
+
+ oObj = oInterface.getTextFrames();
+
+ log.println( "creating a new environment for Frame object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXFrames
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java b/qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java
new file mode 100644
index 000000000..7ac8e02e6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXHeadFootText.java
@@ -0,0 +1,158 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXHeadFootText extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. At first
+ * style families are obtained from text document, then style 'Standard' has
+ * gotten from style family 'PageStyles'. At the end, document header and
+ * footer are switched on and document text is obtained.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : creates tables 6x4</li>
+ * <li> <code>'TEXTDOC'</code> for
+ * {@link ifc.text._XTextRangeCompare} : text document</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XPropertySet PropSet;
+ XNameAccess PageStyles = null;
+ XStyle StdStyle = null;
+
+ log.println( "creating a test environment" );
+ XStyleFamiliesSupplier StyleFam = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess StyleFamNames = StyleFam.getStyleFamilies();
+
+ // obtains style 'Standard' from style family 'PageStyles'
+ PageStyles = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),StyleFamNames.getByName("PageStyles"));
+ StdStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),PageStyles.getByName("Standard"));
+
+ PropSet = UnoRuntime.queryInterface( XPropertySet.class, StdStyle);
+
+ // changing/getting some properties
+ log.println( "Switching on header" );
+ PropSet.setPropertyValue("HeaderIsOn", Boolean.TRUE);
+ log.println( "Switching on footer" );
+ PropSet.setPropertyValue("FooterIsOn", Boolean.TRUE);
+ log.println( "Get header text" );
+ oObj = UnoRuntime.queryInterface(
+ XText.class, PropSet.getPropertyValue("HeaderText"));
+
+ log.println( "creating a new environment for bodytext object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ log.println( "adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ tEnv.addObjRelation( "TEXT", oObj);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXHeadFootText
diff --git a/qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java b/qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java
new file mode 100644
index 000000000..815493062
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXLineNumberingProperties.java
@@ -0,0 +1,106 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.dbg;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XLineNumberingProperties;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.LineNumberingProperties</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::LineNumberingProperties</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.LineNumberingProperties
+ * @see ifc.text._LineNumberingProperties
+ */
+public class SwXLineNumberingProperties extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After inserting
+ * string and control character to the text document, line numbering
+ * properties are gotten using <code>XLineNumberingProperties</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+
+ // insert some Text
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ try {
+ for (int i=0; i<5; i++) {
+ oText.insertString(oCursor, "The quick brown fox jumps "+
+ "over the lazy Dog", false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ log.println("Exception occurred: " + e);
+ }
+
+ XLineNumberingProperties oLNP = UnoRuntime.queryInterface(XLineNumberingProperties.class,xTextDoc);
+ XPropertySet lineNumProps = oLNP.getLineNumberingProperties();
+ dbg.printPropertiesNames(lineNumProps);
+ TestEnvironment tEnv = new TestEnvironment(lineNumProps);
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXLineNumberingProperties
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXMailMerge.java b/qadevOOo/tests/java/mod/_sw/SwXMailMerge.java
new file mode 100644
index 000000000..f3bb2b2f2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXMailMerge.java
@@ -0,0 +1,355 @@
+/*
+ * 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._sw;
+
+import com.sun.star.beans.NamedValue;
+
+import util.DBTools;
+import util.utils;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.IllegalArgumentException;
+import com.sun.star.lang.WrappedTargetException;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.sdb.CommandType;
+import com.sun.star.sdbc.*;
+import com.sun.star.sdbcx.XRowLocate;
+import com.sun.star.task.XJob;
+import com.sun.star.text.MailMergeType;
+import com.sun.star.uno.Exception;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import java.io.PrintWriter;
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+/**
+* Here <code>com.sun.star.text.MailMerge</code> service is tested.<p>
+* @see com.sun.star.text.MailMerge
+* @see com.sun.star.task.XJob
+* @see com.sun.star.text.XMailMergeBroadcaster
+*/
+public class SwXMailMerge extends TestCase {
+
+ @Override
+ public void initialize( TestParameters Param, PrintWriter log ) {
+ if (! Param.containsKey("uniqueSuffix")){
+ Param.put("uniqueSuffix", Integer.valueOf(0));
+ }
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. <p>
+ * Creates <code>MailMerge</code> service * Object relations created :
+ * <ul>
+ * <li> <code>'executeArgs'</code> for
+ * {@link ifc.text._XMailMergeBroadcaster} : NamedValue[]</li>
+ * <li> <code>'Job'</code> for
+ * {@link ifc.text._XMailMergeBroadcaster} : XJob</li>
+ * <li> <code>'XJobArgs'</code> for
+ * {@link ifc.task._XJob} : Object[]</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface oRowSet = null;
+ XJob Job = null;
+
+ log.println(" instantiate MailMerge service");
+ oObj = (XInterface) Param.getMSF().createInstance
+ ("com.sun.star.text.MailMerge");
+
+ // <set some variables>
+ String cTestDoc = utils.getFullTestURL("MailMerge.sxw");
+ //cMailMerge_DocumentURL = cTestDoc
+ String cOutputURL = utils.getOfficeTemp( Param.getMSF());
+ String cDataSourceName = "Bibliography";
+ String cDataCommand = "biblio";
+ Object[] myBookMarks = new Object[2];
+ // </set some variables>
+
+ // <create XResultSet>
+ log.println("create a XResultSet");
+ oRowSet = (XInterface) Param.getMSF().createInstance
+ ("com.sun.star.sdb.RowSet");
+ XPropertySet oRowSetProps = UnoRuntime.queryInterface(XPropertySet.class, oRowSet);
+ XRowSet xRowSet = UnoRuntime.queryInterface(XRowSet.class, oRowSet);
+ oRowSetProps.setPropertyValue("DataSourceName",cDataSourceName);
+ oRowSetProps.setPropertyValue("Command",cDataCommand);
+ oRowSetProps.setPropertyValue("CommandType", Integer.valueOf(CommandType.TABLE));
+ xRowSet.execute();
+
+ XResultSet oResultSet = UnoRuntime.queryInterface(XResultSet.class, oRowSet);
+
+
+
+
+ // <create Bookmarks>
+ log.println("create bookmarks");
+ XRowLocate oRowLocate = UnoRuntime.queryInterface(
+ XRowLocate.class, oResultSet);
+ oResultSet.first();
+ myBookMarks[0] = oRowLocate.getBookmark();
+ oResultSet.next();
+ myBookMarks[1] = oRowLocate.getBookmark();
+ // </create Bookmarks>
+
+ // <fill object with values>
+
+ log.println("fill MailMerge with default connection");
+
+ XPropertySet oObjProps = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ oObjProps.setPropertyValue("ActiveConnection", getLocalXConnection(Param));
+ oObjProps.setPropertyValue("DataSourceName", cDataSourceName);
+ oObjProps.setPropertyValue("Command", cDataCommand);
+ oObjProps.setPropertyValue("CommandType", Integer.valueOf(CommandType.TABLE));
+ oObjProps.setPropertyValue("OutputType", Short.valueOf(MailMergeType.FILE));
+ oObjProps.setPropertyValue("DocumentURL", cTestDoc);
+ oObjProps.setPropertyValue("OutputURL", cOutputURL);
+ oObjProps.setPropertyValue("FileNamePrefix", "Author");
+ oObjProps.setPropertyValue("FileNameFromColumn", Boolean.FALSE);
+ oObjProps.setPropertyValue("Selection", new Object[0]);
+
+ // </fill object with values>
+
+
+ // <create object relations>
+ Object[] vXJobArgs = new Object[4];
+ NamedValue[] vXJobArg0 = new NamedValue[8];
+ NamedValue[] vXJobArg1 = new NamedValue[7];
+ NamedValue[] vXJobArg2 = new NamedValue[10];
+ NamedValue[] vXJobArg3 = new NamedValue[0];
+
+ // first Arguments
+ vXJobArg0[0] = new NamedValue("DataSourceName", cDataSourceName);
+ vXJobArg0[1] = new NamedValue("Command", cDataCommand);
+ vXJobArg0[2] = new NamedValue("CommandType",Integer.valueOf(CommandType.TABLE));
+ vXJobArg0[3] = new NamedValue("OutputType",Short.valueOf(MailMergeType.FILE));
+ vXJobArg0[4] = new NamedValue("DocumentURL", cTestDoc);
+ vXJobArg0[5] = new NamedValue("OutputURL", cOutputURL);
+ vXJobArg0[6] = new NamedValue("FileNamePrefix", "Identifier");
+ vXJobArg0[7] = new NamedValue("FileNameFromColumn", Boolean.TRUE);
+
+ //second Arguments
+ vXJobArg1[0] = new NamedValue("DataSourceName", cDataSourceName);
+ vXJobArg1[1] = new NamedValue("Command", cDataCommand);
+ vXJobArg1[2] = new NamedValue("CommandType",Integer.valueOf(CommandType.TABLE));
+ vXJobArg1[3] = new NamedValue("OutputType",
+ Short.valueOf(MailMergeType.PRINTER));
+ vXJobArg1[4] = new NamedValue("DocumentURL", cTestDoc);
+ vXJobArg1[5] = new NamedValue("FileNamePrefix", "Author");
+ vXJobArg1[6] = new NamedValue("FileNameFromColumn", Boolean.TRUE);
+
+ // third Arguments
+ vXJobArg2[0] = new NamedValue("ActiveConnection", getLocalXConnection(Param));
+ vXJobArg2[1] = new NamedValue("DataSourceName", cDataSourceName);
+ vXJobArg2[2] = new NamedValue("Command", cDataCommand);
+ vXJobArg2[3] = new NamedValue("CommandType",Integer.valueOf(CommandType.TABLE));
+ vXJobArg2[4] = new NamedValue("OutputType",
+ Short.valueOf(MailMergeType.FILE));
+ vXJobArg2[5] = new NamedValue("ResultSet", oResultSet);
+ vXJobArg2[6] = new NamedValue("OutputURL", cOutputURL);
+ vXJobArg2[7] = new NamedValue("FileNamePrefix", "Identifier");
+ vXJobArg2[8] = new NamedValue("FileNameFromColumn", Boolean.TRUE);
+ vXJobArg2[9] = new NamedValue("Selection", myBookMarks);
+
+ vXJobArgs[0] = vXJobArg0;
+ vXJobArgs[1] = vXJobArg1;
+ vXJobArgs[2] = vXJobArg2;
+ vXJobArgs[3] = vXJobArg3;
+
+
+ Job = UnoRuntime.queryInterface(XJob.class, oObj);
+ try{
+ Job.execute(vXJobArg2);
+ } catch ( IllegalArgumentException e){
+ System.out.println(e.toString());
+ } catch ( Exception e){
+ System.out.println(e.toString());
+ }
+
+
+ // <create XResultSet>
+ log.println("create XResultSet");
+
+ oRowSet = (XInterface) Param.getMSF().createInstance
+ ("com.sun.star.sdb.RowSet");
+ oRowSetProps = UnoRuntime.queryInterface(XPropertySet.class, oRowSet);
+
+ xRowSet = UnoRuntime.queryInterface(XRowSet.class, oRowSet);
+
+ oRowSetProps.setPropertyValue("DataSourceName",cDataSourceName);
+ oRowSetProps.setPropertyValue("Command",cDataCommand);
+ oRowSetProps.setPropertyValue("CommandType", Integer.valueOf(CommandType.TABLE));
+ xRowSet.execute();
+
+ oResultSet = UnoRuntime.queryInterface(XResultSet.class, oRowSet);
+
+ XResultSet oMMXResultSet = null;
+ oMMXResultSet = UnoRuntime.queryInterface(XResultSet.class,
+ Param.getMSF().createInstance("com.sun.star.sdb.RowSet"));
+ // </create object relations>
+
+ TestEnvironment tEnv = new TestEnvironment(oObj) ;
+
+ // <adding object relations>
+
+ // com.sun.star.sdb.DataAccessDescriptor
+ tEnv.addObjRelation("DataAccessDescriptor.XResultSet", oResultSet);
+ tEnv.addObjRelation("DataAccessDescriptor.XConnection", getRemoteXConnection(Param));
+
+ // com.sun.star.text.MailMerge
+ tEnv.addObjRelation("MailMerge.XConnection", getRemoteXConnection(Param));
+ tEnv.addObjRelation("MailMerge.XResultSet", oMMXResultSet);
+
+ // com.sun.star.text.XMailMergeBroadcaster
+ tEnv.addObjRelation( "executeArgs", vXJobArg0);
+ tEnv.addObjRelation( "Job", Job);
+
+ // com.sun.star.task.XJob
+ tEnv.addObjRelation("XJobArgs", vXJobArgs);
+
+ // </adding object relations>
+
+ return tEnv ;
+ }
+
+ private XConnection getRemoteXConnection(TestParameters Param){
+
+ log.println("create remote connection");
+
+ String databaseName = null ;
+ XMultiServiceFactory xMSF = null ;
+ int uniqueSuffix = Param.getInt("uniqueSuffix");
+
+ try {
+ xMSF = Param.getMSF();
+ xMSF.createInstance( "com.sun.star.sdb.DatabaseContext" );
+
+ // retrieving temp directory for database
+ String tmpDatabaseUrl = utils.getOfficeTempDir(Param.getMSF());
+
+ databaseName = "NewDatabaseSource" + uniqueSuffix ;
+
+ String tmpDatabaseFile = tmpDatabaseUrl + databaseName + ".odb";
+ System.out.println("try to delete '"+tmpDatabaseFile+"'");
+ utils.deleteFile(Param.getMSF(), tmpDatabaseFile);
+
+
+ tmpDatabaseUrl = "sdbc:dbase:file:///" + tmpDatabaseUrl ;
+
+ // Creating new DBase data source in the TEMP directory
+ XInterface newSource = (XInterface) xMSF.createInstance
+ ("com.sun.star.sdb.DataSource") ;
+
+ XPropertySet xSrcProp = UnoRuntime.queryInterface(XPropertySet.class, newSource);
+
+ xSrcProp.setPropertyValue("URL", tmpDatabaseUrl) ;
+
+ DBTools dbt = new DBTools( Param.getMSF() );
+ // registering source in DatabaseContext
+ log.println("register database '"+tmpDatabaseUrl+"' as '"+databaseName+"'" );
+ dbt.reRegisterDB(databaseName, newSource) ;
+
+ uniqueSuffix++;
+ Param.put("uniqueSuffix", Integer.valueOf(uniqueSuffix));
+
+ return dbt.connectToSource(newSource);
+ }
+ catch( Exception e ) {
+ uniqueSuffix++;
+ Param.put("uniqueSuffix", Integer.valueOf(uniqueSuffix));
+ log.println("could not register new database" );
+ e.printStackTrace();
+ throw new StatusException("could not register new database", e) ;
+ }
+ }
+
+ private XConnection getLocalXConnection(TestParameters Param){
+
+ log.println("create local connection");
+
+ XInterface oDataCont = null;
+ try {
+ oDataCont = (XInterface)Param.getMSF().createInstance
+ ("com.sun.star.sdb.DatabaseContext");
+ } catch(Exception e) {
+ throw new StatusException("Couldn't create instance of 'com.sun.star.sdb.DatabaseContext'", e);
+ }
+ XNameAccess xNADataCont = UnoRuntime.queryInterface(XNameAccess.class, oDataCont);
+
+ String[] dataNames = xNADataCont.getElementNames();
+
+ String dataName="";
+ for (int i = 0; i < dataNames.length; i++){
+ if (dataNames[i].startsWith("Biblio")) dataName=dataNames[i];
+ }
+
+ try{
+
+ Object oDataBase = xNADataCont.getByName(dataName);
+ XDataSource xDataSource = UnoRuntime.queryInterface(XDataSource.class, oDataBase);
+
+ return xDataSource.getConnection("","");
+
+ } catch ( NoSuchElementException e){
+ throw new StatusException("Couldn't get registered data base", e);
+ } catch ( WrappedTargetException e){
+ throw new StatusException("Couldn't get registered data base", e);
+ } catch ( SQLException e){
+ throw new StatusException("Couldn't get XConnection from registered data base", e);
+ }
+
+ }
+
+ @Override
+ protected void cleanup(TestParameters Param, PrintWriter log) {
+ log.println("closing connections...");
+ XMultiServiceFactory xMsf = Param.getMSF();
+ DBTools dbt = new DBTools( xMsf );
+
+ if (Param.containsKey("uniqueSuffix")){
+ int uniqueSuffix = Param.getInt("uniqueSuffix");
+ uniqueSuffix--;
+ String databaseName = "";
+ while (uniqueSuffix >= 0){
+
+ databaseName = "NewDatabaseSource" + uniqueSuffix ;
+
+ log.println("revoke '"+databaseName+"'");
+
+ try{
+ dbt.revokeDB(databaseName);
+ } catch (com.sun.star.uno.Exception e){
+ }
+
+ uniqueSuffix--;
+ }
+ }
+
+ }
+
+}
+
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXModule.java b/qadevOOo/tests/java/mod/_sw/SwXModule.java
new file mode 100644
index 000000000..6d074c86f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXModule.java
@@ -0,0 +1,65 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.GlobalSettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::view::XPrintSettingsSupplier</code></li>
+ * <li> <code>com::sun::star::view::XViewSettingsSupplier</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.view.XPrintSettingsSupplier
+ * @see com.sun.star.view.XViewSettingsSupplier
+ * @see ifc.view._XPrintSettingsSupplier
+ * @see ifc.view._XViewSettingsSupplier
+ */
+public class SwXModule extends TestCase {
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.GlobalSettings</code>.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ Object oInterface = Param.getMSF().createInstance(
+ "com.sun.star.text.GlobalSettings" );
+ XInterface oObj = (XInterface) oInterface;
+
+ log.println( " creating a new environment for object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXModule
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java b/qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java
new file mode 100644
index 000000000..cfc957228
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXNumberingRules.java
@@ -0,0 +1,162 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.NumberingRules</code>.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::text::NumberingRules</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.NumberingRules
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.text._NumberingRules
+ */
+public class SwXNumberingRules extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * At first some strings are inserted to a text document, then style families
+ * are gotten from text document using <code>XStyleFamiliesSupplier</code>.
+ * Then style family 'NumberingRules' is retrieved, then style indexed '0'
+ * is obtained. At the end property value 'NumberingRules' is obtained from
+ * given style.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XInterface oObj = null;
+ XIndexAccess NumStyleI = null;
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ try {
+ for (int i=0; i<5; i++) {
+ oText.insertString(oCursor, "The quick brown fox jumps "+
+ "over the lazy Dog", false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ }
+
+ XStyleFamiliesSupplier oStyleFamiliesSupplier = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+
+ try {
+ XNameAccess oStyleFamilies = oStyleFamiliesSupplier.getStyleFamilies();
+ XNameContainer NumStyles = (XNameContainer) AnyConverter.toObject(
+ new Type(XNameContainer.class),
+ oStyleFamilies.getByName("NumberingStyles"));
+ NumStyleI = UnoRuntime.queryInterface(XIndexAccess.class,NumStyles);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Error, no such style family...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ }
+
+ Object instance1 = null;
+
+ try {
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),NumStyleI.getByIndex(0));
+ XPropertySet props = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),props.getPropertyValue("NumberingRules"));
+ XIndexAccess nRules = UnoRuntime.queryInterface(XIndexAccess.class, props.getPropertyValue("NumberingRules"));
+ instance1 = nRules.getByIndex(0);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occurred...");
+ e.printStackTrace(log);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("INSTANCE1", instance1);
+ return tEnv;
+ }
+
+} // finish class SwXNumberingRules
diff --git a/qadevOOo/tests/java/mod/_sw/SwXParagraph.java b/qadevOOo/tests/java/mod/_sw/SwXParagraph.java
new file mode 100644
index 000000000..c32d63b28
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXParagraph.java
@@ -0,0 +1,225 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Paragraph</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * <li> <code>com::sun::star::text::TextContent</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.style.CharacterPropertiesComplex
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.style.CharacterPropertiesAsian
+ * @see com.sun.star.text.Paragraph
+ * @see ifc.text._XTextContent
+ * @see ifc.text._TextContent
+ * @see ifc.style._CharacterPropertiesComplex
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.beans._XPropertyState
+ * @see ifc.style._CharacterProperties
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.lang._XComponent
+ * @see ifc.style._CharacterPropertiesAsian
+ */
+public class SwXParagraph extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. To obtain
+ * test component, at first several paragraphs are inserted to a major text
+ * of text document. Then enumeration of text paragraphs is created, and
+ * some paragraph is gotten using <code>XEnumeration</code> interface.<p>
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.style._CharacterProperties} : paragraph </li>
+ * <li> <code>'PORTION'</code> for
+ * {@link ifc.style._CharacterProperties} : some text portion of
+ * paragraph. To obtain text portion, enumeration of paragraph text portions is
+ * created, and some text portion is gotten using <code>XEnumeration</code>
+ * interface. </li>
+ * <li> <code>'NRULES'</code> for
+ * {@link ifc.style._ParagraphProperties} : value of property
+ * 'NumberingRules' of paragraph. Method changes property
+ * 'NumberingStyleName' of previously obtained paragraph, and gets value of
+ * a property 'NumberingRules'. </li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ if (xTextDoc != null) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+
+ XInterface oObj = null;
+ XPropertySet paraP = null;
+ XPropertySet portP = null;
+ Object nRules = null;
+ XInterface port = null;
+ XInterface para = null;
+
+ log.println( "creating a test environment" );
+
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some lines" );
+ for (int i=0; i<5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter(
+ oCursor, ControlCharacter.LINE_BREAK, false );
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface(XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ try {
+ para = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+ XEnumerationAccess oEnumB = UnoRuntime.queryInterface( XEnumerationAccess.class, para );
+ XEnumeration oEnum2 = oEnumB.createEnumeration();
+ port = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum2.nextElement());
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occurred...");
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occurred...");
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ e.printStackTrace(log);
+ log.println("Error: exception occurred...");
+ }
+
+ portP = UnoRuntime.queryInterface(XPropertySet.class, port);
+ paraP = UnoRuntime.queryInterface(XPropertySet.class, para);
+ paraP.setPropertyValue("NumberingStyleName","Numbering IVX");
+ nRules = paraP.getPropertyValue("NumberingRules");
+
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class),oEnum.nextElement());
+
+
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println("adding ObjectRelation 'PARA' for CharacterProperties");
+ tEnv.addObjRelation("PARA", paraP);
+
+ log.println("adding ObjectRelation 'PORTION' for CharacterProperties");
+ tEnv.addObjRelation("PORTION", portP);
+
+ log.println("adding ObjectRelation 'NRULES' for ParagraphProperties");
+ tEnv.addObjRelation("NRULES", nRules);
+
+ tEnv.addObjRelation("NoAttach","SwXParagraph");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXParagraph
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java b/qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java
new file mode 100644
index 000000000..3e17bfce3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXParagraphEnumeration.java
@@ -0,0 +1,141 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.ParagraphEnumeration</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XEnumeration</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XEnumeration
+ * @see ifc.container._XEnumeration
+ */
+public class SwXParagraphEnumeration extends TestCase {
+ XTextDocument xTextDoc = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After major
+ * text is gotten from a text document, three paragraphs (each of them
+ * filled by 5 strings) are inserted to major text. Finally, paragraph
+ * enumeration is created using <code>XEnumeration</code> interface.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'ENUM'</code> for
+ * {@link ifc.container._XEnumeration} : major text of text document
+ * with several paragraphs inserted, queried to
+ * <code>XEnumerationAccess</code> interface.</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ for (int i=0; i<3; i++) {
+ try {
+ oText.insertString( oCursor, "Paragraph Number: " + i, false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println( "EXCEPTION: " + e);
+ }
+
+ for (int j=0; j<5; j++){
+ try {
+ oText.insertString( oCursor,"The quick brown fox jumps"+
+ " over the lazy Dog: SwXParagraph", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ oText.insertString( oCursor, "THE QUICK BROWN FOX JUMPS"+
+ " OVER THE LAZY DOG: SwXParagraph", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ try {
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface( XEnumerationAccess.class, oText );
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ oObj = oEnum;
+
+ log.println("creating a new environment for ParagraphEnumeration object");
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("ENUM", oEnumA);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXParagraphEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java b/qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java
new file mode 100644
index 000000000..109b947f6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXPrintSettings.java
@@ -0,0 +1,91 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XPrintSettingsSupplier;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.PrintSettings</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::PrintSettings</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.PrintSettings
+ * @see ifc.text._PrintSettings
+ */
+public class SwXPrintSettings extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.GlobalSettings</code>, then print settings are
+ * gotten using <code>XPrintSettingsSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ Object oInst = null;
+
+ log.println( "creating a test environment" );
+ XMultiServiceFactory myMSF = tParam.getMSF();
+ oInst = myMSF.createInstance("com.sun.star.text.GlobalSettings");
+ XPrintSettingsSupplier xPSS = UnoRuntime.queryInterface(XPrintSettingsSupplier.class, oInst);
+ oObj = xPSS.getPrintSettings();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXPrintSettings
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXPropertySet.java b/qadevOOo/tests/java/mod/_sw/SwXPropertySet.java
new file mode 100644
index 000000000..0089c2f11
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXPropertySet.java
@@ -0,0 +1,71 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+
+/**
+ * Test for object which is represented by text document.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.beans._XPropertySet
+ */
+public class SwXPropertySet extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Method creates text document as a test component.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ log.println( "creating a text document" );
+ xTextDoc = SOF.createTextDoc( null );
+
+ TestEnvironment tEnv = new TestEnvironment( xTextDoc );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXPropertySet
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java b/qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java
new file mode 100644
index 000000000..c47e0080b
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXPropertySetInfo.java
@@ -0,0 +1,82 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by PropertySetInfo of
+ * text document.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::beans::XPropertySetInfo</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.beans.XPropertySetInfo
+ * @see ifc.beans._XPropertySetInfo
+ */
+public class SwXPropertySetInfo extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters Param, PrintWriter log) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. Method
+ * creates text document, then obtains PropertySetInfo of created text
+ * document using <code>XPropertySet</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+
+ log.println( "creating a test environment" );
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+
+ log.println( " getting the XPropertySetInfo" );
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, xTextDoc);
+ oObj = xProp.getPropertySetInfo();
+ log.println( " creating a new environment for PropertySetInfo object" );
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXPropertySetInfo
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java b/qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java
new file mode 100644
index 000000000..8b257ba13
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXReferenceMark.java
@@ -0,0 +1,117 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.ReferenceMark</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::text::XTextContent</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.ReferenceMark
+ * @see ifc.container._XNamed
+ * @see ifc.lang._XComponent
+ * @see ifc.text._XTextContent
+ */
+public class SwXReferenceMark extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.text.ReferenceMark</code>, then sets new
+ * name of created ReferenceMark using <code>XNamed</code> interface.
+ * Finally, renamed ReferenceMark is inserted to a major text of text
+ * document as a text content.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception{
+ XInterface oObj = null;
+ XText oText = null;
+ String Name = "SwXReferenceMark";
+
+ log.println( "creating a test environment" );
+ oText = xTextDoc.getText();
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ Object instance = null;
+ oObj = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.ReferenceMark");
+ instance = oDocMSF.createInstance
+ ("com.sun.star.text.ReferenceMark");
+
+ XNamed oObjN = UnoRuntime.queryInterface(XNamed.class, oObj);
+ oObjN.setName(Name);
+ XTextContent oObjTC = UnoRuntime.queryInterface(XTextContent.class, oObj);
+
+ XTextCursor oCursor = oText.createTextCursor();
+ oText.insertTextContent(oCursor, oObjTC, false);
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXReferenceMark
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java b/qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java
new file mode 100644
index 000000000..40b99adec
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXReferenceMarks.java
@@ -0,0 +1,128 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XReferenceMarksSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.ReferenceMarks</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.text.ReferenceMarks
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ */
+public class SwXReferenceMarks extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instances of the service
+ * <code>com.sun.star.text.ReferenceMark</code>, then sets new names to
+ * created ReferenceMark's using <code>XNamed</code> interface. Then renamed
+ * ReferenceMark's are inserted to a major text of text document. Finally,
+ * ReferenceMarks are gotten from text document using
+ * <code>XReferenceMarksSupplier</code> interface.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws Exception {
+ XInterface oObj = null;
+ XText oText = null;
+ String Name = "SwXReferenceMark01";
+ String Name2 = "SwXReferenceMark02";
+
+ log.println( "creating a test environment" );
+ oText = xTextDoc.getText();
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ // Creation and insertion of ReferenceMark01
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.ReferenceMark" );
+ XNamed oObjN = UnoRuntime.queryInterface(XNamed.class, oObj);
+ oObjN.setName(Name);
+ XTextContent oObjTC = UnoRuntime.queryInterface(XTextContent.class, oObj);
+ XTextCursor oCursor = oText.createTextCursor();
+ oText.insertTextContent(oCursor, oObjTC, false);
+
+ // Creation and insertion of ReferenceMark02
+ oObj = (XInterface)
+ oDocMSF.createInstance( "com.sun.star.text.ReferenceMark" );
+ XNamed oObjN2 = UnoRuntime.queryInterface(XNamed.class, oObj);
+ oObjN2.setName(Name2);
+
+ XTextContent oObjTC2 = UnoRuntime.queryInterface(XTextContent.class, oObj);
+ oText.insertTextContent(oCursor, oObjTC2, false);
+
+ // getting ReferenceMarks from text document
+ XReferenceMarksSupplier oRefSupp = UnoRuntime.queryInterface(XReferenceMarksSupplier.class, xTextDoc);
+ oObj = oRefSupp.getReferenceMarks();
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXReferenceMarks
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXShape.java b/qadevOOo/tests/java/mod/_sw/SwXShape.java
new file mode 100644
index 000000000..e3309db61
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXShape.java
@@ -0,0 +1,120 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XDrawPageSupplier;
+import com.sun.star.drawing.XShape;
+import com.sun.star.drawing.XShapes;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.drawing.Shape</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::lang::XComponent</code></li>
+ * <li> <code>com::sun::star::drawing::XShape</code></li>
+ * <li> <code>com::sun::star::drawing::XShapeDescriptor</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::drawing::Shape</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.drawing.XShape
+ * @see com.sun.star.drawing.XShapeDescriptor
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.drawing.Shape
+ * @see ifc.lang._XComponent
+ * @see ifc.drawing._XShape
+ * @see ifc.drawing._XShapeDescriptor
+ * @see ifc.beans._XPropertySet
+ * @see ifc.drawing._Shape
+ */
+public class SwXShape extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. At first,
+ * DrawPage is gotten from text document using <code>XDrawPageSupplier</code>
+ * interface. Then shape (rectangle) is created and added to DrawPage
+ * obtained before, then returned as a test component.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XDrawPage oDP = null;
+ XShapes oShapes = null;
+
+ log.println( "creating a test environment" );
+ log.println( "getting Drawpage" );
+ XDrawPageSupplier oDPS = UnoRuntime.queryInterface(XDrawPageSupplier.class, xTextDoc);
+ oDP = oDPS.getDrawPage();
+
+ log.println( "getting Shape" );
+ oShapes = UnoRuntime.queryInterface(XShapes.class, oDP);
+ oObj = SOF.createShape(xTextDoc,5000,3500,7500,5000,"Rectangle");
+ oShapes.add((XShape) oObj);
+
+ for ( int i = 0; i < 9; i++){
+ XInterface oShape = SOF.createShape(xTextDoc,
+ 5000 + 100*i,3500,7500,5000,"Rectangle");
+ oShapes.add((XShape) oShape);
+ }
+
+ log.println( "creating a new environment for XShape object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXShape
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXStyle.java b/qadevOOo/tests/java/mod/_sw/SwXStyle.java
new file mode 100644
index 000000000..6a01b029e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXStyle.java
@@ -0,0 +1,181 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.Style</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNamed</code></li>
+ * <li> <code>com::sun::star::style::Style</code></li>
+ * <li> <code>com::sun::star::style::XStyle</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.style.Style
+ * @see com.sun.star.style.XStyle
+ * @see ifc.container._XNamed
+ * @see ifc.style._Style
+ * @see ifc.style._XStyle
+ */
+public class SwXStyle extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF = null;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * At first style families are gotten from a text document using
+ * <code>XStyleFamiliesSupplier</code> interface, then family indexed '0' is
+ * gotten from this style family using <code>XIndexAccess</code> interface.
+ * Next, method creates an instance of the service
+ * <code>com.sun.star.style.CharacterStyle</code> and inserts it to a
+ * previously obtained style family using <code>XNameContainer</code>
+ * interface. Finally, method creates a cursor of a major text of text
+ * document and sets it's property 'CharStyleName' value to the name of
+ * previously created style's name.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'PoolStyle'</code> for
+ * {@link ifc.style._XStyle} : style indexed '10' obtained from
+ * StyleFamily indexed '0' from text document using
+ * <code>XIndexAccess</code> interface.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log) throws Exception {
+
+ TestEnvironment tEnv = null;
+ XNameAccess oSFNA = null;
+ XStyle oStyle = null;
+ XStyle oMyStyle = null;
+
+ log.println("creating a test environment");
+
+ log.println("getting style");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class,
+ xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ XIndexAccess oSFsIA = UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+ oSFNA = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),oSFsIA.getByIndex(0));
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSFNA);
+ oStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oSFIA.getByIndex(10));
+
+ log.print("Creating a user-defined style... ");
+ XMultiServiceFactory oMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XInterface oInt = (XInterface)
+ oMSF.createInstance("com.sun.star.style.CharacterStyle");
+ oMyStyle = UnoRuntime.queryInterface(XStyle.class, oInt);
+
+
+ if (oMyStyle == null)
+ log.println("FAILED");
+ else
+ log.println("OK");
+ XNameContainer oSFNC = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ if ( oSFNC.hasByName("My Style") )
+ oSFNC.removeByName("My Style");
+ oSFNC.insertByName("My Style", oMyStyle);
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XPropertySet xProp = UnoRuntime.queryInterface(XPropertySet.class, oCursor);
+
+ xProp.setPropertyValue("CharStyleName", oMyStyle.getName());
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oMyStyle);
+ tEnv.addObjRelation("PoolStyle", oStyle);
+
+ XPropertySet xStyleProp = UnoRuntime.queryInterface(XPropertySet.class, oMyStyle);
+ tEnv.addObjRelation("PropertyNames",getPropertyNames(xStyleProp));
+
+ return tEnv;
+ }
+
+ public String[] getPropertyNames(XPropertySet props) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ String[] names = new String[the_props.length];
+ String placebo = "";
+ for (int i=0;i<the_props.length;i++) {
+ boolean isWritable =
+ ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable) placebo=the_props[i].Name;
+ }
+ for (int i=0;i<the_props.length;i++) {
+ boolean isWritable =
+ ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable) {
+ names[i]=the_props[i].Name;
+ } else {
+ names[i] = placebo;
+ }
+ }
+ return names;
+ }
+
+} // finish class SwXStyle
diff --git a/qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java b/qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java
new file mode 100644
index 000000000..ebbc4690a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXStyleFamilies.java
@@ -0,0 +1,97 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.StyleFamilies</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.style.StyleFamilies
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XIndexAccess
+ */
+public class SwXStyleFamilies extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. Style families
+ * are gotten from text document using <code>XStyleFamiliesSupplier</code>
+ * interface and returned as a test component.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+
+
+ log.println( "Creating a test environment" );
+ XTextDocument xArea = UnoRuntime.queryInterface(XTextDocument.class, xTextDoc);
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xArea);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+
+ TestEnvironment tEnv = new TestEnvironment(oSF);
+ return tEnv;
+ }
+
+
+} // finish class SwXStyle
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java b/qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java
new file mode 100644
index 000000000..c785ebd84
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXStyleFamily.java
@@ -0,0 +1,169 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.lang.XComponent;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.style.StyleFamily</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XNameContainer</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameReplace</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XNameReplace
+ * @see ifc.container._XNameContainer
+ * @see ifc.container._XNameAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XNameReplace
+ */
+public class SwXStyleFamily extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. At first,
+ * style families of text document are gotten using
+ * <code>XStyleFamiliesSupplier</code> interface, then family indexed '0' is
+ * gotten from previously obtained style families collection using
+ * <code>XIndexAccess</code> interface. Finally, method creates an instance
+ * of the service <code>com.sun.star.style.CharacterStyle</code> and inserts
+ * it to a gotten style family as 'SwXStyleFamily' using
+ * <code>XNameContainer</code> interface.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XNameReplaceINDEX'</code> for
+ * {@link ifc.container._XNameReplace} : number of last taken instance
+ * of <code>com.sun.star.style.CharacterStyle</code>, when multithread
+ * testing is going.</li>
+ * <li> <code>'NAMEREPLACE'</code> for
+ * {@link ifc.container._XNameReplace} : name of style family, inserted
+ * to style families of a text document.</li>
+ * <li> <code>'INSTANCEn'</code> for
+ * {@link ifc.container._XIndexContainer},
+ * {@link ifc.container._XIndexReplace},
+ * {@link ifc.container._XNameContainer},
+ * {@link ifc.container._XNameReplace} : several relations, which are
+ * represented by instances of service
+ * <code>com.sun.star.style.CharacterStyle</code>.</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XNameAccess oSFNA = null;
+
+ log.println( "Creating Test Environment..." );
+
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+ XComponent xComp = UnoRuntime.queryInterface(XComponent.class, xTextDoc);
+ XInterface oInstance = (XInterface)
+ SOF.createInstance(xComp, "com.sun.star.style.CharacterStyle");
+ XStyleFamiliesSupplier oSFsS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess oSF = oSFsS.getStyleFamilies();
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+
+ oSFNA = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),oSFIA.getByIndex(0));
+
+ XNameContainer oContainer = UnoRuntime.queryInterface(XNameContainer.class, oSFNA);
+
+ // insert a Style which can be replaced by name
+ try {
+ oContainer.insertByName("SwXStyleFamily",oInstance);
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Could not insert style family.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Could not insert style family.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.ElementExistException e ) {
+ log.println("Could not insert style family.");
+ e.printStackTrace(log);
+ }
+
+ TestEnvironment tEnv = new TestEnvironment(oSFNA);
+
+ int THRCNT = 1;
+ if ((String)Param.get("THRCNT") != null) {
+ THRCNT = Integer.parseInt((String)Param.get("THRCNT"));
+ }
+ String nr = Integer.toString(THRCNT+1);
+
+ log.println( "adding NameReplaceIndex as mod relation to environment" );
+ tEnv.addObjRelation("XNameReplaceINDEX", nr);
+
+ for (int n=1; n<(THRCNT+3); n++ ) {
+ log.println( "adding INSTANCE"+n+" as mod relation to environment");
+ tEnv.addObjRelation("INSTANCE"+n,
+ SOF.createInstance(xComp,"com.sun.star.style.CharacterStyle"));
+ }
+
+ log.println("adding NAMEREPLACE as mod relation to environment");
+ tEnv.addObjRelation("NAMEREPLACE", "SwXStyleFamily");
+
+ return tEnv;
+ }
+
+} // finish class SwXStyleFamily
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTableCellText.java b/qadevOOo/tests/java/mod/_sw/SwXTableCellText.java
new file mode 100644
index 000000000..336aba189
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTableCellText.java
@@ -0,0 +1,146 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TextSectionDsc;
+
+import com.sun.star.table.XCell;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by cell text of the text table.<p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextRangeMover</code></li>
+ * <li> <code>com::sun::star::text::XSimpleText</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::text::XRelativeTextContentInsert</code></li>
+ * <li> <code>com::sun::star::text::XTextRangeCompare</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::text::XText</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextRangeMover
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XRelativeTextContentInsert
+ * @see com.sun.star.text.XTextRangeCompare
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XText
+ * @see ifc.text._XTextRangeMover
+ * @see ifc.text._XSimpleText
+ * @see ifc.text._XTextRange
+ * @see ifc.text._XRelativeTextContentInsert
+ * @see ifc.text._XTextRangeCompare
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XEnumerationAccess
+ * @see ifc.text._XText
+ */
+public class SwXTableCellText extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creation
+ * of text table, it is inserted to a text document. Then cell named 'A1' is
+ * obtained from table, string 'SwXTableCellText' is set to this cell, then
+ * cell text is gotten from cell obtained before and returned as a test
+ * component.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'TEXT'</code> for
+ * {@link ifc.text._XTextRangeCompare} : table cell text</li>
+ * <li> <code>'PARA'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert} : paragraph creator</li>
+ * <li> <code>'XTEXTINFO'</code> for
+ * {@link ifc.text._XRelativeTextContentInsert},
+ * {@link ifc.text._XText} : creates text sections</li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ log.println( "Creating a test environment" );
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ XCell oCell = oTable.getCellByName("A1");
+ XSimpleText oCellText = UnoRuntime.queryInterface(XSimpleText.class, oCell);
+ oCellText.setString("SwXTableCellText");
+ oObj = oCellText.getText();
+
+ log.println( "creating a new environment for Cell object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXT", oObj);
+
+ log.println( " adding InstCreator object" );
+ TextSectionDsc tDsc = new TextSectionDsc();
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ log.println( " adding Paragraph" );
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation( "PARA", new InstCreator( xTextDoc, pDsc ) );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXTableCellText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTableColumns.java b/qadevOOo/tests/java/mod/_sw/SwXTableColumns.java
new file mode 100644
index 000000000..2acfbf586
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTableColumns.java
@@ -0,0 +1,112 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.table.TableColumns</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::container::XNameAccess</code></li>
+ * <li> <code>com::sun::star::table::XTableColumns</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.table.XTableColumns
+ * @see com.sun.star.table.TableColumns
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.container._XNameAccess
+ * @see ifc.table._XTableColumns
+ */
+public class SwXTableColumns extends TestCase {
+ XTextDocument xTextDoc;
+ SOfficeFactory SOF;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creation
+ * of text table, it is inserted to text document, then columns are gotten
+ * from table.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ log.println( "creating a test environment" );
+
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ oObj = oTable.getColumns();
+
+ log.println( "creating a new environment for TableColumns object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XTableColumns
+ tEnv.addObjRelation("XTableColumns.XCellRange",
+ UnoRuntime.queryInterface(XCellRange.class, oTable));
+
+ tEnv.addObjRelation("XIndexAccess.getByIndex.mustBeNull", Boolean.TRUE);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTableColumns
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTableRows.java b/qadevOOo/tests/java/mod/_sw/SwXTableRows.java
new file mode 100644
index 000000000..1dc1be9d2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTableRows.java
@@ -0,0 +1,104 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.table.XCellRange;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.table.TableRows</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::container::XIndexAccess</code></li>
+ * <li> <code>com::sun::star::container::XElementAccess</code></li>
+ * <li> <code>com::sun::star::table::XTableRows</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.table.XTableRows
+ * @see ifc.container._XIndexAccess
+ * @see ifc.container._XElementAccess
+ * @see ifc.table._XTableRows
+ */
+public class SwXTableRows extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After creation
+ * of text table, it is inserted to text document, then rows are gotten
+ * from table.
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log ) throws StatusException {
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+ log.println( "creating a test environment" );
+ SOfficeFactory.getFactory( tParam.getMSF() );
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+ oObj = oTable.getRows();
+
+ log.println( "creating a new environment for TableColumns object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation for XTableColumns
+ tEnv.addObjRelation("XTableRows.XCellRange",
+ UnoRuntime.queryInterface(XCellRange.class, oTable));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTableRows
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextColumns.java b/qadevOOo/tests/java/mod/_sw/SwXTextColumns.java
new file mode 100644
index 000000000..d198e4468
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextColumns.java
@@ -0,0 +1,168 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.style.XStyle;
+import com.sun.star.style.XStyleFamiliesSupplier;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextColumns;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.TextColumns</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextColumns</code></li>
+ * <li> <code>com::sun::star::text::TextColumns</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextColumns
+ * @see com.sun.star.text.TextColumns
+ * @see ifc.text._XTextColumns
+ * @see ifc.text._TextColumns
+ */
+public class SwXTextColumns extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After style
+ * families are gotten from text document using
+ * <code>XStyleFamiliesSupplier</code> interface, style family indexed '2'
+ * is obtained using <code>XIndexAccess</code> interface. Then style
+ * named 'Standard' is gotten from previously obtained style family using
+ * <code>XNameAccess</code> interface, and 'TextColumns' property value
+ * of this style is returned as a test component. Finally, several
+ * paragraphs within the text are inserted to a text document.
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+ XInterface oObj = null;
+ TestEnvironment tEnv = null;
+ XStyle oStyle = null;
+
+ log.println( "creating a test environment" );
+ log.println("getting PageStyle");
+ XStyleFamiliesSupplier oSFS = UnoRuntime.queryInterface(XStyleFamiliesSupplier.class, xTextDoc);
+ XNameAccess oSF = oSFS.getStyleFamilies();
+ XIndexAccess oSFIA = UnoRuntime.queryInterface(XIndexAccess.class, oSF);
+
+ try {
+ XNameAccess oSFNA = (XNameAccess) AnyConverter.toObject(
+ new Type(XNameAccess.class),oSFIA.getByIndex(2));
+ oStyle = (XStyle) AnyConverter.toObject(
+ new Type(XStyle.class),oSFNA.getByName("Standard"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Error, exception occurred while getting style.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IndexOutOfBoundsException e ) {
+ log.println("Error, exception occurred while getting style.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.container.NoSuchElementException e ) {
+ log.println("Error, exception occurred while getting style.");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Error, exception occurred while getting style.");
+ e.printStackTrace(log);
+ }
+
+ try {
+ log.println("Getting property ('TextColumns') value of style "
+ + oStyle.getName());
+ XPropertySet xProps = UnoRuntime.queryInterface(XPropertySet.class,oStyle);
+ oObj = (XTextColumns) AnyConverter.toObject(
+ new Type(XTextColumns.class),xProps.getPropertyValue("TextColumns"));
+ } catch ( com.sun.star.lang.WrappedTargetException e ) {
+ log.println("Exception occurred while getting style property");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.beans.UnknownPropertyException e ) {
+ log.println("Exception occurred while getting style property");
+ e.printStackTrace(log);
+ } catch ( com.sun.star.lang.IllegalArgumentException e ) {
+ log.println("Exception occurred while getting style property");
+ e.printStackTrace(log);
+ }
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println( "inserting some text to text document..." );
+ try {
+ for (int i =0; i < 5; i++){
+ oText.insertString( oCursor,"Paragraph Number: " + i, false);
+ oText.insertString( oCursor,
+ "The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertString( oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.LINE_BREAK, false );
+ }
+ } catch ( com.sun.star.lang.IllegalArgumentException e ){
+ log.println("Exception occurred while inserting Text");
+ e.printStackTrace(log);
+ }
+
+ log.println("creating a new environment for object");
+ tEnv = new TestEnvironment(oObj);
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextColumns
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java
new file mode 100644
index 000000000..5b641b1e7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextCursor.java
@@ -0,0 +1,307 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.Property;
+import com.sun.star.beans.PropertyAttribute;
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XParagraphCursor;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.TextCursor</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::text::XTextCursor</code></li>
+ * <li> <code>com::sun::star::text::XWordCursor</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+ * <li> <code>com::sun::star::text::XTextRange</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::container::XContentEnumerationAccess</code></li>
+ * <li> <code>com::sun::star::beans::XPropertyState</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::text::XSentenceCursor</code></li>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::text::XParagraphCursor</code></li>
+ * <li> <code>com::sun::star::document::XDocumentInsertable</code></li>
+ * <li> <code>com::sun::star::util::XSortable</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+ * </ul> <p>
+ * This object test <b> is NOT </b> designed to be run in several
+ * threads concurrently.
+ * @see com.sun.star.text.XTextCursor
+ * @see com.sun.star.text.XWordCursor
+ * @see com.sun.star.style.CharacterPropertiesComplex
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XContentEnumerationAccess
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.text.XSentenceCursor
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XParagraphCursor
+ * @see com.sun.star.document.XDocumentInsertable
+ * @see com.sun.star.util.XSortable
+ * @see com.sun.star.style.CharacterPropertiesAsian
+ * @see ifc.text._XTextCursor
+ * @see ifc.text._XWordCursor
+ * @see ifc.style._CharacterPropertiesComplex
+ * @see ifc.text._XTextRange
+ * @see ifc.beans._XPropertySet
+ * @see ifc.container._XContentEnumerationAccess
+ * @see ifc.beans._XPropertyState
+ * @see ifc.style._CharacterProperties
+ * @see ifc.text._XSentenceCursor
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.text._XParagraphCursor
+ * @see ifc.document._XDocumentInsertable
+ * @see ifc.util._XSortable
+ * @see ifc.style._CharacterPropertiesAsian
+ */
+public class SwXTextCursor extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested. After major
+ * text of text document is obtained, text cursor is created and several
+ * paragraphs within the text are inserted to a text document. Finally,
+ * text cursor is returned as a test component.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XTEXT'</code> for
+ * {@link ifc.text._XTextRange} : major text of text document</li>
+ * </ul>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) {
+ XInterface oObj = null;
+
+ log.println("creating a test environment");
+
+
+ // get the bodytext of textdocument here
+ log.println("getting the TextCursor");
+
+ final XSimpleText aText = xTextDoc.getText();
+ final XTextCursor textCursor = aText.createTextCursor();
+ oObj = textCursor;
+
+ log.println("inserting some text");
+
+ try {
+ for (int i = 0; i < 3; i++) {
+ aText.insertString(textCursor, "" + (3 - i), false);
+
+ for (int j = 0; j < 5; j++) {
+ aText.insertString(textCursor, "XTextCursor,XTextCursor",
+ false);
+ aText.insertString(textCursor, "The quick brown fox ",
+ false);
+ aText.insertString(textCursor, "jumps over the lazy dog ",
+ false);
+ }
+
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.LINE_BREAK,
+ false);
+ }
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Error, insert text to text document.");
+ e.printStackTrace(log);
+ }
+
+ log.println("creating a new environment for SwXTextCursor object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("XTEXT", xTextDoc.getText());
+
+ XPropertySet xCursorProp = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+
+ String[] skipNames = { "ParaBackGraphicURL" };
+ String[] propertyNames = getPropertyNames(xCursorProp, skipNames);
+
+ tEnv.addObjRelation("PropertyNames", propertyNames);
+ tEnv.addObjRelation("SkipProperties", propertyNames);
+
+ //Adding relation for util.XSortable
+ final XParagraphCursor paragrCursor = UnoRuntime.queryInterface(
+ XParagraphCursor.class,
+ oObj);
+ final PrintWriter finalLog = log;
+
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ textCursor.gotoEnd(false);
+
+ try {
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "4", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "b", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "3", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "a", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "23", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ aText.insertString(textCursor, "ab", false);
+ aText.insertControlCharacter(textCursor,
+ ControlCharacter.PARAGRAPH_BREAK,
+ false);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ out.println("Unexpected exception:" + e);
+ }
+
+ out.println(
+ "Preparing cursor to sorting. Text before sorting:");
+ paragrCursor.gotoEnd(true);
+
+ for (int i = 0; i < 6; i++) {
+ paragrCursor.gotoPreviousParagraph(true);
+ }
+
+ out.println(textCursor.getString());
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ String ls = System.getProperty("line.separator");
+
+ String text = paragrCursor.getString();
+ out.println("Text after sorting:\n" + text);
+
+ boolean res = false;
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ res = text.endsWith(ls+"3"+ls+"4"+ls+"23");
+
+ if (!res) {
+ out.println("Text must ends by:\n" + "\r\n3\r\n4\r\n23\r\n");
+ }
+ } else {
+ res = text.startsWith("23"+ls+"4"+ls+"3"+ls);
+
+ if (!res) {
+ out.println("Text must starts with:\n" + "23\r\n4\r\n3\r\n");
+ }
+ }
+ } else {
+ if (isSortAscending) {
+ res = text.equals(ls+"23"+ls+"3"+ls+"4"+ls+"a"+ls+"ab"+ls+"b");
+
+ if (!res) {
+ out.println("Text must be equal to:\n" + "\r\n23\r\n3\r\n4\r\na\r\nab\r\nb\r\n");
+ }
+ } else {
+ res = text.endsWith("b"+ls+"ab"+ls+"a"+ls+"4"+ls+"3"+ls+"23"+ls);
+
+ if (!res) {
+ out.println("Text must be equal to:\n" + "b\r\nab\r\na\r\n4\r\n3\r\n23\r\n");
+ }
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ }
+
+ return res;
+ }
+ });
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+ public String[] getPropertyNames(XPropertySet props, String[] skipList) {
+ Property[] the_props = props.getPropertySetInfo().getProperties();
+ ArrayList<String> names = new ArrayList<String>();
+
+ for (int i = 0; i < the_props.length; i++) {
+ boolean isWritable = ((the_props[i].Attributes & PropertyAttribute.READONLY) == 0);
+ if (isWritable && !Arrays.asList(skipList).contains(the_props[i].Name)) {
+ names.add(the_props[i].Name);
+ }
+ }
+
+ return names.toArray(new String[names.size()]);
+ }
+} // finish class SwXTextCursor
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java b/qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java
new file mode 100644
index 000000000..1b02f44d3
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextDefaults.java
@@ -0,0 +1,106 @@
+/*
+ * 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._sw;
+
+//API Interfaces
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.text.Defaults</code> created by a writer
+ * document's <code>XMultiServiceFactory</code>. <p>
+ *
+ * Object implements the following interfaces :
+ * <ul>
+ * <li> <code>com::sun::star::style::ParagraphProperties</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesComplex</code></li>
+ * <li> <code>com::sun::star::style::CharacterPropertiesAsian</code></li>
+ * <li> <code>com::sun::star::text::Defaults</code></li>
+ * <li> <code>com::sun::star::style::CharacterProperties</code></li>
+ * <li> <code>com::sun::star::beans::XPropertySet</code></li>
+ * <li> <code>com::sun::star::style::ParagraphPropertiesComplex</code></li>
+ * </ul> <p>
+ *
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.style.CharacterPropertiesComplex
+ * @see com.sun.star.style.CharacterPropertiesAsian
+ * @see com.sun.star.text.Defaults
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.style.ParagraphPropertiesComplex
+ * @see ifc.style._ParagraphProperties
+ * @see ifc.style._CharacterPropertiesComplex
+ * @see ifc.style._CharacterPropertiesAsian
+ * @see ifc.text._Defaults
+ * @see ifc.style._CharacterProperties
+ * @see ifc.beans._XPropertySet
+ * @see ifc.style._ParagraphPropertiesComplex
+ */
+public class SwXTextDefaults extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * Creates the service <code>com.sun.star.text.Defaults</code>
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+
+ XMultiServiceFactory docMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class,xTextDoc);
+
+ oObj = (XInterface)
+ docMSF.createInstance("com.sun.star.text.Defaults");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+ }
+
+ /**
+ * Creates text document.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Disposes text document.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+}
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java b/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java
new file mode 100644
index 000000000..442d94b2c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextDocument.java
@@ -0,0 +1,215 @@
+/*
+ * 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._sw;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.frame.XController;
+import com.sun.star.frame.XModel;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.text.XTextSection;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.text.XTextTable;
+import com.sun.star.text.XWordCursor;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XSelectionSupplier;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.DesktopTools;
+
+import util.SOfficeFactory;
+import util.WriterTools;
+
+public class SwXTextDocument extends TestCase {
+ XTextDocument xTextDoc;
+ XTextDocument xSecondTextDoc;
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ DesktopTools.closeDoc(xSecondTextDoc);
+ DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters Param, PrintWriter log) throws Exception {
+ TestEnvironment tEnv = null;
+ XTextTable the_table = null;
+
+ log.println("creating a textdocument");
+ xTextDoc = WriterTools.createTextDoc(Param.getMSF());
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting some lines");
+
+ for (int i = 0; i < 5; i++) {
+ oText.insertString(oCursor, "Paragraph Number: " + i, false);
+ oText.insertString(
+ oCursor,
+ " The quick brown fox jumps over the lazy Dog: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ oText.insertString(
+ oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ }
+ for (int i = 0; i < 11; i++) {
+ oText.insertString(oCursor, "xTextDoc ", false);
+
+ }
+
+ // insert two sections parent and child
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xTextDoc);
+
+ XInterface oTS;
+ XTextSection xTS;
+
+ XTextSectionsSupplier oTSSupp = UnoRuntime.queryInterface(
+ XTextSectionsSupplier.class, xTextDoc);
+ XNameAccess oTSSuppName = oTSSupp.getTextSections();
+
+ oTS = (XInterface) oDocMSF
+ .createInstance("com.sun.star.text.TextSection");
+
+ XTextContent oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XWordCursor oWordC = UnoRuntime.queryInterface(XWordCursor.class,
+ oCursor);
+ oCursor.setString("End of TextSection");
+ oCursor.gotoStart(false);
+ oCursor.setString("Start of TextSection ");
+ oWordC.gotoEndOfWord(false);
+
+ XInterface oTS2 = (XInterface) oDocMSF
+ .createInstance("com.sun.star.text.TextSection");
+ oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS2);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XIndexAccess oTSSuppIndex = UnoRuntime.queryInterface(
+ XIndexAccess.class, oTSSuppName);
+ log.println("getting a TextSection with the XTextSectionSupplier()");
+ xTS = UnoRuntime.queryInterface(XTextSection.class,
+ oTSSuppIndex.getByIndex(0));
+
+ XNamed xTSName = UnoRuntime.queryInterface(XNamed.class, xTS);
+ xTSName.setName("SwXTextSection");
+
+ log.println(" adding TextTable");
+ the_table = SOfficeFactory.createTextTable(xTextDoc, 6, 4);
+
+ XNamed the_name = UnoRuntime.queryInterface(XNamed.class, the_table);
+ the_name.setName("SwXTextDocument");
+ SOfficeFactory.insertTextContent(xTextDoc, the_table);
+
+ log.println(" adding ReferenceMark");
+
+ XInterface aMark = (XInterface) oDocMSF
+ .createInstance("com.sun.star.text.ReferenceMark");
+ the_name = UnoRuntime.queryInterface(XNamed.class, aMark);
+ the_name.setName("SwXTextDocument");
+
+ XTextContent oTC = UnoRuntime.queryInterface(XTextContent.class, aMark);
+ SOfficeFactory.insertTextContent(xTextDoc, oTC);
+
+ log.println(" adding TextGraphic");
+ WriterTools.insertTextGraphic(xTextDoc, oDocMSF, Param.getComponentContext(),
+ 5200, 4200, 4400, 4000, "space-metal.jpg", "SwXTextDocument");
+
+ log.println(" adding EndNote");
+
+ XInterface aEndNote = (XInterface) oDocMSF
+ .createInstance("com.sun.star.text.Endnote");
+ oTC = UnoRuntime.queryInterface(XTextContent.class, aEndNote);
+ SOfficeFactory.insertTextContent(xTextDoc, oTC);
+
+ log.println(" adding Bookmark");
+ SOfficeFactory.insertTextContent(xTextDoc,
+ SOfficeFactory.createBookmark(xTextDoc));
+
+ log.println(" adding DocumentIndex");
+ oTC = SOfficeFactory.createIndex(xTextDoc,
+ "com.sun.star.text.DocumentIndex");
+ SOfficeFactory.insertTextContent(xTextDoc, oTC);
+
+ log.println(" adding TextFrame");
+
+ XTextFrame frame = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ oTC = UnoRuntime.queryInterface(XTextContent.class, frame);
+ SOfficeFactory.insertTextContent(xTextDoc, oTC);
+
+ log.println("creating a second textdocument");
+ xSecondTextDoc = WriterTools.createTextDoc(Param.getMSF());
+
+ XText oText2 = xTextDoc.getText();
+ XTextCursor oTextCursor = oText2.createTextCursor();
+
+ for (int i = 0; i < 11; i++) {
+ oText2.insertString(oTextCursor, "xTextDoc ", false);
+ }
+
+ tEnv = new TestEnvironment(xTextDoc);
+
+ XModel model1 = UnoRuntime.queryInterface(XModel.class, xTextDoc);
+ XModel model2 = UnoRuntime.queryInterface(XModel.class, xSecondTextDoc);
+
+ XController cont1 = model1.getCurrentController();
+ XController cont2 = model2.getCurrentController();
+
+ cont1.getFrame().setName("cont1");
+ cont2.getFrame().setName("cont2");
+
+ XSelectionSupplier sel = UnoRuntime.queryInterface(
+ XSelectionSupplier.class, cont1);
+
+ log.println("Adding SelectionSupplier and Shape to select for XModel");
+ tEnv.addObjRelation("SELSUPP", sel);
+ tEnv.addObjRelation("TOSELECT", the_table);
+
+ log.println("adding Controller as ObjRelation for XModel");
+ tEnv.addObjRelation("CONT1", cont1);
+ tEnv.addObjRelation("CONT2", cont2);
+
+ return tEnv;
+ }
+} // finish class SwXTextDocument
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java
new file mode 100644
index 000000000..59019e91d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObject.java
@@ -0,0 +1,153 @@
+/*
+ * 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._sw;
+
+import com.sun.star.beans.XPropertySet;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextEmbeddedObjectsSupplier;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XCloseable;
+
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.document.XEmbeddedObjectSupplier
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.TextEmbeddedObject
+ * @see com.sun.star.text.XTextContent
+ *
+ */
+public class SwXTextEmbeddedObject extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+
+ try {
+ XCloseable closer = UnoRuntime.queryInterface(
+ XCloseable.class, xTextDoc);
+ closer.close(true);
+ } catch (com.sun.star.util.CloseVetoException e) {
+ log.println("couldn't close document");
+ } catch (com.sun.star.lang.DisposedException e) {
+ log.println("couldn't close document");
+ }
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+
+ // create testobject here
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ xTextDoc = SOF.createTextDoc(null);
+
+ XTextCursor xCursor = xTextDoc.getText().createTextCursor();
+ try {
+ XMultiServiceFactory xMultiServiceFactory = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ Object o = xMultiServiceFactory.createInstance("com.sun.star.text.TextEmbeddedObject" );
+ XTextContent xTextContent = UnoRuntime.queryInterface(XTextContent.class, o);
+ String sChartClassID = "12dcae26-281f-416f-a234-c3086127382e";
+ XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xTextContent);
+ xPropertySet.setPropertyValue( "CLSID", sChartClassID );
+
+ xTextDoc.getText().insertTextContent( xCursor, xTextContent, false );
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+
+ XTextEmbeddedObjectsSupplier oTEOS = UnoRuntime.queryInterface(
+ XTextEmbeddedObjectsSupplier.class,
+ xTextDoc);
+
+ XNameAccess oEmObj = oTEOS.getEmbeddedObjects();
+ XIndexAccess oEmIn = UnoRuntime.queryInterface(
+ XIndexAccess.class, oEmObj);
+
+ oObj = (XInterface) AnyConverter.toObject(
+ new Type(XInterface.class), oEmIn.getByIndex(0));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("NoAttach", "SwXTextEmbeddedObject");
+
+ XTextFrame aFrame = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ XTextContent the_content = UnoRuntime.queryInterface(
+ XTextContent.class, aFrame);
+
+ try {
+ oText.insertTextContent(oCursor, the_content, true);
+ } catch (com.sun.star.lang.IllegalArgumentException e) {
+ log.println("Couldn't insert frame " + e.getMessage());
+ }
+
+ tEnv.addObjRelation("TextFrame", aFrame);
+
+ tEnv.addObjRelation("NoSetSize", "SwXTextEmbeddedObject");
+ tEnv.addObjRelation("NoPos", "SwXTextEmbeddedObject");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextEmbeddedObject
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java
new file mode 100644
index 000000000..4b0e3ae72
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextEmbeddedObjects.java
@@ -0,0 +1,121 @@
+/*
+ * 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._sw;
+
+import com.sun.star.beans.XPropertySet;
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextEmbeddedObjectsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class SwXTextEmbeddedObjects extends TestCase {
+
+ XTextDocument oDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ oDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(oDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log ) throws StatusException {
+
+ XInterface oObj = null;
+
+ // create testobject here
+ XTextCursor xCursor = oDoc.getText().createTextCursor();
+ try {
+ XMultiServiceFactory xMultiServiceFactory = UnoRuntime.queryInterface(XMultiServiceFactory.class, oDoc);
+ Object o = xMultiServiceFactory.createInstance("com.sun.star.text.TextEmbeddedObject" );
+ XTextContent xTextContent = UnoRuntime.queryInterface(XTextContent.class, o);
+ String sChartClassID = "12dcae26-281f-416f-a234-c3086127382e";
+ XPropertySet xPropertySet = UnoRuntime.queryInterface(XPropertySet.class, xTextContent);
+ xPropertySet.setPropertyValue( "CLSID", sChartClassID );
+
+ oDoc.getText().insertTextContent( xCursor, xTextContent, false );
+ }
+ catch(com.sun.star.uno.Exception e) {
+ e.printStackTrace(log);
+ }
+
+ XTextEmbeddedObjectsSupplier oTEOS = UnoRuntime.queryInterface(XTextEmbeddedObjectsSupplier.class, oDoc);
+
+ oObj = oTEOS.getEmbeddedObjects();
+
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextEmbeddedObjects
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextField.java b/qadevOOo/tests/java/mod/_sw/SwXTextField.java
new file mode 100644
index 000000000..61afb8e30
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextField.java
@@ -0,0 +1,150 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XDependentTextField;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextField
+ *
+ */
+public class SwXTextField extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ Object instance = null;
+
+ // create testobject here
+ try {
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ Object FieldMaster = oDocMSF.createInstance
+ ( "com.sun.star.text.FieldMaster.Database" );
+ XPropertySet PFieldMaster = UnoRuntime.queryInterface
+ (XPropertySet.class,FieldMaster);
+ oObj = (XInterface) oDocMSF.createInstance
+ ( "com.sun.star.text.TextField.Database" );
+
+ instance = oDocMSF.createInstance
+ ( "com.sun.star.text.TextField.DateTime" );
+
+ XDependentTextField xTF = UnoRuntime.queryInterface(XDependentTextField.class,oObj);
+
+ PFieldMaster.setPropertyValue("DataBaseName","Address Book File");
+ PFieldMaster.setPropertyValue("DataTableName","address");
+ PFieldMaster.setPropertyValue("DataColumnName","FIRSTNAME");
+ XText the_Text = xTextDoc.getText();
+ XTextCursor the_Cursor = the_Text.createTextCursor();
+ XTextContent the_Field = UnoRuntime.queryInterface(XTextContent.class,oObj);
+
+ xTF.attachTextFieldMaster(PFieldMaster);
+ the_Text.insertTextContent(the_Cursor,the_Field,false);
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldMaster object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextField
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java b/qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java
new file mode 100644
index 000000000..3f6d70705
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFieldMasters.java
@@ -0,0 +1,125 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XNameAccess
+ * @see com.sun.star.container.XNameContainer
+ * @see com.sun.star.container.XNameReplace
+ *
+ */
+public class SwXTextFieldMasters extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ // create testobject here
+ try {
+ XTextFieldsSupplier oTFS = UnoRuntime.queryInterface( XTextFieldsSupplier.class, xTextDoc );
+
+ oObj = oTFS.getTextFieldMasters();
+
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldMasters object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextFieldMasters
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java b/qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java
new file mode 100644
index 000000000..03cb9721e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFieldTypes.java
@@ -0,0 +1,126 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFieldsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XContainer
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ *
+ */
+public class SwXTextFieldTypes extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ // create testobject here
+ try {
+ XTextFieldsSupplier oTFS = UnoRuntime.queryInterface( XTextFieldsSupplier.class, xTextDoc );
+
+ oObj = oTFS.getTextFields();
+
+ }
+ catch (Exception ex) {
+ log.println("Couldn't create instance");
+ ex.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for FieldTypes object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextFieldTypes
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFrame.java b/qadevOOo/tests/java/mod/_sw/SwXTextFrame.java
new file mode 100644
index 000000000..e3eb3c299
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFrame.java
@@ -0,0 +1,138 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.TextContentAnchorType;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XText
+ *
+ */
+public class SwXTextFrame extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters Param,
+ PrintWriter log) throws Exception {
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XTextFrame oFrame2 = null;
+ XPropertySet oPropSet = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory SOF = SOfficeFactory.getFactory( Param.getMSF());
+
+
+ // creating Frames
+ log.println("creating Frames");
+
+
+ Object instance = null;
+
+ oFrame1 = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ oFrame2 = SOfficeFactory.createTextFrame(xTextDoc, 1500, 1500);
+ oPropSet = UnoRuntime.queryInterface(
+ XPropertySet.class, oFrame1);
+
+
+ // AnchorTypes: 0 = paragraph, 1 = as char, 2 = page,
+ // 3 = frame/paragraph 4= at char
+ oPropSet.setPropertyValue("AnchorType",
+ TextContentAnchorType.AS_CHARACTER);
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ log.println("inserting Frame1");
+
+ XTextContent the_content = UnoRuntime.queryInterface(
+ XTextContent.class, oFrame1);
+ oText.insertTextContent(oCursor, the_content, true);
+
+ log.println("inserting Frame2");
+ the_content = UnoRuntime.queryInterface(
+ XTextContent.class, oFrame2);
+ oText.insertTextContent(oCursor, the_content, true);
+
+ XText oFrameText = oFrame1.getText();
+ oFrameText.insertString(oFrameText.getStart(), "The FrameText",
+ true);
+
+ instance = SOF.createInstance(xTextDoc,
+ "com.sun.star.text.TextFrame");
+ oObj = oFrame1;
+
+ log.println("creating a new environment for TextFrame object");
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ tEnv.addObjRelation("CONTENT",
+ UnoRuntime.queryInterface(
+ XTextContent.class, instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ log.println("adding ObjRelation for XShape " +
+ "(get/setPosition won't work there)");
+ tEnv.addObjRelation("NoPos", "SwXTextFrame");
+ tEnv.addObjRelation("NoSetSize", "SwXTextFrame");
+
+ tEnv.addObjRelation("TextFrame", oFrame2);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+} // finish class SwXTextFrame
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java b/qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java
new file mode 100644
index 000000000..1b12794f0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextFrameText.java
@@ -0,0 +1,137 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.ParagraphDsc;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ *
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XEnumerationAccess
+ * @see com.sun.star.text.XSimpleText
+ * @see com.sun.star.text.XText
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XTextRangeMover
+ *
+ */
+public class SwXTextFrameText extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XTextFrame oFrame1 = null;
+ XPropertySet oPropSet = null;
+ XText oText = null;
+ XTextCursor oCursor = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory(tParam.getMSF());
+
+ // create testobject here
+
+ oFrame1 = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+ oPropSet = UnoRuntime.queryInterface(XPropertySet.class, oFrame1);
+ // AnchorTypes: 0 = paragraph, 1 = as char, 2 = page,
+ // 3 = frame/paragraph 4= at char
+ oPropSet.setPropertyValue("AnchorType", Integer.valueOf(2));
+ oText = xTextDoc.getText();
+ oCursor = oText.createTextCursor();
+
+ log.println("inserting Frame1");
+ oText.insertTextContent(oCursor, oFrame1, false);
+
+ XText oFText = UnoRuntime.queryInterface(XText.class, oFrame1);
+ XTextCursor oFCursor = oFText.createTextCursor();
+ oFText.insertString(oFCursor, "SwXTextFrameText", false);
+
+ oObj = oFText.getText();
+
+ log.println("creating a new environment for TextFrameText object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("adding TextDocument as mod relation to environment");
+ tEnv.addObjRelation("TEXT", oObj);
+
+ log.println("adding InstDescriptor object");
+ TableDsc tDsc = new TableDsc(6, 4);
+
+ log.println("adding InstCreator object");
+ tEnv.addObjRelation("XTEXTINFO", new InstCreator(xTextDoc, tDsc));
+
+ log.println(" adding Paragraph");
+ ParagraphDsc pDsc = new ParagraphDsc();
+ tEnv.addObjRelation("PARA", new InstCreator(xTextDoc, pDsc));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextFrameText
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java
new file mode 100644
index 000000000..7d2cfcdd1
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObject.java
@@ -0,0 +1,188 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.TextContentAnchorType;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.graphic.XGraphic;
+import com.sun.star.graphic.XGraphicProvider;
+import com.sun.star.graphic.GraphicProvider;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XComponentContext;
+
+public class SwXTextGraphicObject extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+ log.println("creating a textdoc");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xDrawDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oGObject = null;
+ Object xTextFrame = null;
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ Object instance = null;
+
+ oGObject = SOF.createInstance(xTextDoc,
+ "com.sun.star.text.GraphicObject");
+ instance = SOF.createInstance(xTextDoc,
+ "com.sun.star.text.GraphicObject");
+ xTextFrame = SOfficeFactory.createTextFrame(xTextDoc, 500, 500);
+
+ oObj = (XInterface) oGObject;
+
+ XText the_text = xTextDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = UnoRuntime.queryInterface(
+ XTextContent.class, oObj);
+
+ log.println("inserting Frame");
+ XTextContent Framecontent = UnoRuntime.queryInterface(
+ XTextContent.class, xTextFrame);
+ the_text.insertTextContent(the_cursor, Framecontent, true);
+
+ log.println("inserting graphic");
+ the_text.insertTextContent(the_cursor, the_content, true);
+
+ log.println("adding graphic");
+
+ XComponentContext xContext = tParam.getComponentContext();
+
+ XGraphicProvider xGraphicProvider = UnoRuntime.queryInterface(XGraphicProvider.class,
+ xContext.getServiceManager().createInstanceWithContext("com.sun.star.graphic.GraphicProvider", xContext));
+
+ String fullURL = util.utils.getFullTestURL("space-metal.jpg");
+
+ PropertyValue[] aMediaProps = new PropertyValue[] { new PropertyValue() };
+ aMediaProps[0].Name = "URL";
+ aMediaProps[0].Value = fullURL;
+
+ XGraphic xGraphic = UnoRuntime.queryInterface(XGraphic.class,
+ xGraphicProvider.queryGraphic(aMediaProps));
+
+ XPropertySet oProps = UnoRuntime.queryInterface(XPropertySet.class,
+ oObj);
+
+ oProps.setPropertyValue("AnchorType", TextContentAnchorType.AT_PARAGRAPH);
+ oProps.setPropertyValue("Graphic", xGraphic);
+ oProps.setPropertyValue("HoriOrientPosition", Integer.valueOf(5500));
+ oProps.setPropertyValue("VertOrientPosition", Integer.valueOf(4200));
+ oProps.setPropertyValue("Width", Integer.valueOf(4400));
+ oProps.setPropertyValue("Height", Integer.valueOf(4000));
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("adding ObjRelation for XShape "
+ + "(get/setPosition won't work there)");
+ tEnv.addObjRelation("NoPos", "SwXTextGraphicObject");
+ tEnv.addObjRelation("NoSetSize", "SwXTextGraphicObject");
+ Object ImgMap = null;
+ // creating ObjectRelation for the property
+ // 'ImageMap' of 'TextGraphicObject'
+ try {
+ XMultiServiceFactory xDocMSF = UnoRuntime.queryInterface(
+ XMultiServiceFactory.class, xTextDoc);
+ ImgMap = xDocMSF
+ .createInstance("com.sun.star.image.ImageMapRectangleObject");
+ } catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ tEnv.addObjRelation("IMGMAP", ImgMap);
+
+ tEnv.addObjRelation("CONTENT",
+ UnoRuntime.queryInterface(XTextContent.class, instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ // object relation for text.BaseFrameProperties
+ tEnv.addObjRelation("TextFrame", xTextFrame);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextGraphicObject
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java
new file mode 100644
index 000000000..87982b31a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextGraphicObjects.java
@@ -0,0 +1,153 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextGraphicObjectsSupplier;
+import com.sun.star.graphic.XGraphic;
+import com.sun.star.graphic.XGraphicProvider;
+import com.sun.star.graphic.GraphicProvider;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.uno.XComponentContext;
+
+public class SwXTextGraphicObjects extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+ log.println("creating a textdoc");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ Object oGObject = null;
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ oGObject = SOF.createInstance(xTextDoc,
+ "com.sun.star.text.GraphicObject");
+
+ oObj = (XInterface) oGObject;
+
+ XText the_text = xTextDoc.getText();
+ XTextCursor the_cursor = the_text.createTextCursor();
+ XTextContent the_content = UnoRuntime.queryInterface(
+ XTextContent.class, oObj);
+
+ log.println("inserting graphic");
+ the_text.insertTextContent(the_cursor, the_content, true);
+
+ log.println("adding graphic");
+
+ XComponentContext xContext = tParam.getComponentContext();
+
+ XGraphicProvider xGraphicProvider = UnoRuntime.queryInterface(XGraphicProvider.class,
+ xContext.getServiceManager().createInstanceWithContext("com.sun.star.graphic.GraphicProvider", xContext));
+
+ String fullURL = util.utils.getFullTestURL("space-metal.jpg");
+
+ PropertyValue[] aMediaProps = new PropertyValue[] { new PropertyValue() };
+ aMediaProps[0].Name = "URL";
+ aMediaProps[0].Value = fullURL;
+
+ XGraphic xGraphic = UnoRuntime.queryInterface(XGraphic.class,
+ xGraphicProvider.queryGraphic(aMediaProps));
+
+ XPropertySet oProps = UnoRuntime.queryInterface(XPropertySet.class,
+ oObj);
+ oProps.setPropertyValue("Graphic", xGraphic);
+ oProps.setPropertyValue("HoriOrientPosition", Integer.valueOf(5500));
+ oProps.setPropertyValue("VertOrientPosition", Integer.valueOf(4200));
+ oProps.setPropertyValue("Width", Integer.valueOf(4400));
+ oProps.setPropertyValue("Height", Integer.valueOf(4000));
+
+ XTextGraphicObjectsSupplier xTGS = UnoRuntime.queryInterface(
+ XTextGraphicObjectsSupplier.class, xTextDoc);
+ oObj = xTGS.getGraphicObjects();
+
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextGraphicObjects
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextPortion.java b/qadevOOo/tests/java/mod/_sw/SwXTextPortion.java
new file mode 100644
index 000000000..50fc0c532
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextPortion.java
@@ -0,0 +1,154 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ *
+ * @see com.sun.star.text.TextPortion
+ *
+ */
+public class SwXTextPortion extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface param = null;
+ XPropertySet paraP = null;
+ XPropertySet portP = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // create testobject here
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting Strings");
+ log.println("inserting ControlCharacter");
+
+ for (int i = 0; i < 5; i++) {
+ oText.insertString(oCursor, "Paragraph Number: " + i, false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ oText.insertString(
+ oCursor,
+ "The quick brown fox jumps over the lazy Dog: SwXParagraph\n",
+ false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ oText.insertString(
+ oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface(
+ XEnumerationAccess.class, oText);
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ int n = 0;
+ while (oEnum.hasMoreElements()) {
+ param = (XInterface) AnyConverter.toObject(new Type(
+ XInterface.class), oEnum.nextElement());
+ log.println("Element Nr.: " + n);
+ n++;
+ }
+
+ XEnumerationAccess oEnumP = UnoRuntime.queryInterface(
+ XEnumerationAccess.class, param);
+ XEnumeration oEnum2 = oEnumP.createEnumeration();
+ oObj = (XInterface) AnyConverter.toObject(new Type(XInterface.class),
+ oEnum2.nextElement());
+
+ portP = UnoRuntime.queryInterface(XPropertySet.class, oObj);
+ paraP = UnoRuntime.queryInterface(XPropertySet.class, param);
+
+ log.println("creating a new environment for Paragraph object");
+ TestEnvironment tEnv = new TestEnvironment(oObj);
+
+ log.println("adding ObjRelation TRO for TextContent");
+ tEnv.addObjRelation("TRO", Boolean.TRUE);
+
+ log.println("adding ObjectRelation 'PARA' for CharacterProperties");
+ tEnv.addObjRelation("PARA", paraP);
+
+ log.println("adding ObjectRelation 'PORTION' for CharacterProperties");
+ tEnv.addObjRelation("PORTION", portP);
+
+ tEnv.addObjRelation("XTEXT", oText);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextPortion
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java b/qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java
new file mode 100644
index 000000000..b5cf80e30
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextPortionEnumeration.java
@@ -0,0 +1,137 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XEnumeration;
+import com.sun.star.container.XEnumerationAccess;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ *
+ * @see com.sun.star.text.TextPortion
+ *
+ */
+public class SwXTextPortionEnumeration extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory(tParam.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam
+ * class which contains additional test parameters
+ * @param log
+ * class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(
+ TestParameters tParam, PrintWriter log) throws Exception {
+
+ XInterface param = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println("creating a test environment");
+
+ // create testobject here
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ log.println("inserting Strings");
+ log.println("inserting ControlCharacter");
+
+ for (int i = 0; i < 5; i++) {
+ oText.insertString(oCursor, "Paragraph Number: " + i, false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ oText.insertString(
+ oCursor,
+ "The quick brown fox jumps over the lazy Dog: SwXParagraph\n",
+ false);
+ oText.insertControlCharacter(oCursor, ControlCharacter.LINE_BREAK,
+ false);
+ oText.insertString(
+ oCursor,
+ "THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG: SwXParagraph",
+ false);
+ oText.insertControlCharacter(oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ }
+
+ // Enumeration
+ XEnumerationAccess oEnumA = UnoRuntime.queryInterface(
+ XEnumerationAccess.class, oText);
+ XEnumeration oEnum = oEnumA.createEnumeration();
+
+ while (oEnum.hasMoreElements()) {
+ param = (XInterface) AnyConverter.toObject(new Type(
+ XInterface.class), oEnum.nextElement());
+ }
+
+ XEnumerationAccess oEnumP = UnoRuntime.queryInterface(
+ XEnumerationAccess.class, param);
+ XEnumeration oEnum2 = oEnumP.createEnumeration();
+
+ log.println("creating a new environment for TextPortionEnumeration object");
+ TestEnvironment tEnv = new TestEnvironment(oEnum2);
+
+ log.println("adding ObjRelation ENUM for XEnumeration");
+ tEnv.addObjRelation("ENUM", oEnumP);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextPortionEnumeration
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextRange.java b/qadevOOo/tests/java/mod/_sw/SwXTextRange.java
new file mode 100644
index 000000000..e96c722b4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextRange.java
@@ -0,0 +1,85 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.utils;
+
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.XInterface;
+
+public class SwXTextRange extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters Param,
+ PrintWriter log )
+ throws StatusException {
+
+ XText aText = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ // get the bodytext of textdocument here
+ log.println( "getting the TextRange of the text document" );
+ aText = xTextDoc.getText();
+ XTextCursor oCursor = aText.createTextCursor();
+
+ XInterface oObj = oCursor.getStart();
+
+ log.println( "creating a new environment for textrange object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ System.out.println("Implementation Name: "+utils.getImplName(oObj));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextRange
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextRanges.java b/qadevOOo/tests/java/mod/_sw/SwXTextRanges.java
new file mode 100644
index 000000000..32e97b47d
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextRanges.java
@@ -0,0 +1,115 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ *
+ */
+public class SwXTextRanges extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ for (int j =0; j < 5; j++){
+ try{
+ oText.insertString( oCursor,
+ "SwXTextRanges...SwXTextRanges...SwXTextRanges", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ catch( Exception e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ XSearchable oSearch = UnoRuntime.queryInterface
+ (XSearchable.class, xTextDoc);
+ XSearchDescriptor xSDesc = oSearch.createSearchDescriptor();
+ xSDesc.setSearchString("SwXTextRanges");
+
+ oObj = oSearch.findAll(xSDesc);
+
+ log.println( "creating a new environment for textrange object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextRanges
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSearch.java b/qadevOOo/tests/java/mod/_sw/SwXTextSearch.java
new file mode 100644
index 000000000..0ca1bbef7
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextSearch.java
@@ -0,0 +1,116 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.util.SearchDescriptor
+ * @see com.sun.star.util.XSearchDescriptor
+ *
+ */
+public class SwXTextSearch extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ for (int j =0; j < 5; j++){
+ try{
+ oText.insertString( oCursor,
+ "SwXTextSearch...SwXTextSearch...SwXTextSearch", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false );
+ }
+ catch( Exception e ){
+ log.println( "EXCEPTION: " + e);
+ }
+ }
+
+ XSearchable oSearch = UnoRuntime.queryInterface
+ (XSearchable.class, xTextDoc);
+ XSearchDescriptor xSDesc = oSearch.createSearchDescriptor();
+ xSDesc.setSearchString("SwXTextSearch");
+
+ oObj = xSDesc;
+
+ log.println( "creating a new environment for TextSearch object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextSearch
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSection.java b/qadevOOo/tests/java/mod/_sw/SwXTextSection.java
new file mode 100644
index 000000000..9fd67a72a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextSection.java
@@ -0,0 +1,159 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.InstCreator;
+import util.SOfficeFactory;
+import util.TableDsc;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.lang.XComponent;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextColumns;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextSection;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.text.XWordCursor;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XText
+ *
+ */
+
+public class SwXTextSection extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {
+
+ XInterface oObj = null;
+ XInterface oTS = null;
+ XTextSection xTS = null;
+ XText oText = null;
+ XTextColumns TC = null;
+ Object instance = null;
+
+ log.println( "creating a test environment" );
+
+ oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ try {
+ XTextSectionsSupplier oTSSupp = UnoRuntime.queryInterface
+ ( XTextSectionsSupplier.class, xTextDoc );
+ XNameAccess oTSSuppName = oTSSupp.getTextSections();
+
+ //cleanup if necessary
+ if (oTSSuppName.hasByName("SwXTextSection")) {
+ XTextSection old = (XTextSection) AnyConverter.toObject(
+ new Type(XTextSection.class),
+ oTSSuppName.getByName("SwXTextSection"));
+ XComponent oldC = UnoRuntime.queryInterface(XComponent.class,old);
+ oldC.dispose();
+ oText.setString("");
+ }
+
+ //insert two sections parent and child
+ oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ instance = oDocMSF.createInstance("com.sun.star.text.TextSection");
+ XTextContent oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+ XWordCursor oWordC = UnoRuntime.queryInterface(XWordCursor.class, oCursor);
+ oCursor.setString("End of TextSection");
+ oCursor.gotoStart(false);
+ oCursor.setString("Start of TextSection ");
+ oWordC.gotoEndOfWord(false);
+ XInterface oTS2 = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS2);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ XIndexAccess oTSSuppIndex = UnoRuntime.queryInterface(XIndexAccess.class, oTSSuppName);
+
+ log.println( "getting a TextSection with the XTextSectionSupplier()" );
+ xTS = (XTextSection) AnyConverter.toObject(
+ new Type(XTextSection.class),oTSSuppIndex.getByIndex(0));
+ XNamed xTSName = UnoRuntime.queryInterface( XNamed.class, xTS);
+ xTSName.setName("SwXTextSection");
+ }
+ catch(Exception e){
+ System.out.println("Couldn't get Textsection " + e);
+ }
+
+ oObj = xTS;
+
+ log.println( "creating a new environment for TextSection object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding InstDescriptor object" );
+ TableDsc tDsc = new TableDsc( 6, 4 );
+
+ log.println( "adding InstCreator object" );
+ tEnv.addObjRelation( "XTEXTINFO", new InstCreator( xTextDoc, tDsc ) );
+
+ tEnv.addObjRelation("TRO",Boolean.TRUE);
+
+ TC = UnoRuntime.queryInterface(XTextColumns.class,
+ oDocMSF.createInstance("com.sun.star.text.TextColumns"));
+ tEnv.addObjRelation("TC",TC);
+
+ tEnv.addObjRelation("CONTENT", UnoRuntime.queryInterface(XTextContent.class,instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+}// finish class SwXTextSection
+
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextSections.java b/qadevOOo/tests/java/mod/_sw/SwXTextSections.java
new file mode 100644
index 000000000..c00d0cb5e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextSections.java
@@ -0,0 +1,122 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XNameAccess;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextSectionsSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XText
+ *
+ */
+public class SwXTextSections extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters Param, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ XInterface oTS = null;
+ XNameAccess oTSSuppName = null;
+
+ XText oText = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+
+ oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+
+
+ log.println( "inserting TextSections" );
+
+ XMultiServiceFactory oDocMSF = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+
+ // First TextSection
+ oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ XTextContent oTSC = UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC, false);
+
+ // Second TextSection
+ oTS = (XInterface) oDocMSF.createInstance
+ ("com.sun.star.text.TextSection");
+ XTextContent oTSC2 = UnoRuntime.queryInterface(XTextContent.class, oTS);
+ oText.insertTextContent(oCursor, oTSC2, false);
+
+
+ log.println( "try to get a TextSection with the XTextSectionSupplier()" );
+
+ try{
+ XTextSectionsSupplier oTSSupp = UnoRuntime.queryInterface( XTextSectionsSupplier.class,
+ xTextDoc );
+ oTSSuppName = oTSSupp.getTextSections();
+ }
+ catch(Exception e){
+ System.out.println("Couldn't get Textsection " + e);
+ }
+
+
+ oObj = oTSSuppName;
+
+ log.println( "creating a new environment for TextSections object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextSection
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTable.java b/qadevOOo/tests/java/mod/_sw/SwXTextTable.java
new file mode 100644
index 000000000..2ff21ff52
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTable.java
@@ -0,0 +1,235 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.ValueComparer;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.table.XCell;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextRange;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.UnoRuntime;
+
+
+/**
+ * this class tests the implementation of listed interfaces
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.container.XNamed
+ * @see com.sun.star.lang.XComponent
+ * @see com.sun.star.text.TextContent
+ * @see com.sun.star.text.XTextContent
+ * @see com.sun.star.text.XTextTable
+ */
+public class SwXTextTable extends TestCase {
+ SOfficeFactory SOF;
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize(TestParameters tParam, PrintWriter log) throws Exception {
+ SOF = SOfficeFactory.getFactory( tParam.getMSF());
+
+ log.println("creating a textdocument");
+ xTextDoc = SOF.createTextDoc(null);
+ }
+
+ @Override
+ protected void cleanup(TestParameters tParam, PrintWriter log) {
+ log.println(" disposing xTextDoc ");
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ this method creates the testenvironment
+ @param tParam TestParameters class which contains additional
+ test parameters
+ @param log PrintWriter class to log the test state and result
+
+ @return TestEnvironment class
+
+ @see TestParameters
+ @see PrintWriter
+ */
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters tParam,
+ PrintWriter log) {
+ // creation of testobject here
+ XTextTable oObj = null;
+ TestEnvironment tEnv = null;
+ Object instance = null;
+
+ oObj = SOfficeFactory.createTextTable(xTextDoc);
+ instance = SOfficeFactory.createTextTable(xTextDoc);
+
+ int nRow = 6;
+ int nCol = 2;
+ oObj.initialize(nRow, nCol);
+
+ log.println("Creating instance...");
+ tEnv = new TestEnvironment(oObj);
+
+ if (SOfficeFactory.getTableCollection(xTextDoc).getCount() == 0) {
+ SOfficeFactory.insertTextContent(xTextDoc, oObj);
+ }
+
+ XPropertySet props = UnoRuntime.queryInterface(
+ XPropertySet.class, oObj);
+
+ try {
+ props.setPropertyValue("ChartRowAsLabel", Boolean.TRUE);
+ props.setPropertyValue("ChartColumnAsLabel", Boolean.TRUE);
+ } catch (Exception e) {
+ e.printStackTrace(log);
+ }
+
+
+ //Adding relation for util.XTextTable
+ tEnv.addObjRelation("NROW", Integer.valueOf(nRow));
+ tEnv.addObjRelation("NCOL", Integer.valueOf(nCol));
+
+ //Adding ObjRelation for XCellRangeData
+ Object[][] newData = new Object[6][];
+ Object[] line = new Object[2];
+ line[0] = new Double(1.5);
+ line[1] = new Double(2.5);
+ newData[0] = line;
+ newData[1] = line;
+ newData[2] = line;
+ newData[3] = line;
+ newData[4] = line;
+ newData[5] = line;
+ tEnv.addObjRelation("NewData", newData);
+
+ //Adding relation for util.XSortable
+ final PrintWriter finalLog = log;
+ final XTextTable oTable = oObj;
+ tEnv.addObjRelation("SORTCHECKER",
+ new ifc.util._XSortable.XSortChecker() {
+ PrintWriter out = finalLog;
+
+ public void setPrintWriter(PrintWriter log) {
+ out = log;
+ }
+
+ public void prepareToSort() {
+ oTable.getCellByName("A1").setValue(4);
+
+ XTextRange textRange = UnoRuntime.queryInterface(
+ XTextRange.class,
+ oTable.getCellByName("A2"));
+ textRange.setString("b");
+ oTable.getCellByName("A3").setValue(3);
+ textRange = UnoRuntime.queryInterface(
+ XTextRange.class,
+ oTable.getCellByName("A4"));
+ textRange.setString("a");
+ oTable.getCellByName("A5").setValue(23);
+ textRange = UnoRuntime.queryInterface(
+ XTextRange.class,
+ oTable.getCellByName("A6"));
+ textRange.setString("ab");
+
+ }
+
+ public boolean checkSort(boolean isSortNumbering,
+ boolean isSortAscending) {
+ out.println("Sort checking...");
+
+ boolean res = false;
+ String[] value = new String[6];
+
+ for (int i = 0; i < 6; i++) {
+ XCell cell = oTable.getCellByName("A" + (i + 1));
+ XTextRange textRange = UnoRuntime.queryInterface(
+ XTextRange.class, cell);
+ value[i] = textRange.getString();
+ }
+
+ if (isSortNumbering) {
+ if (isSortAscending) {
+ String[] rightVal = { "3", "4", "23" };
+ String[] vals = { value[3], value[4], value[5] };
+ res = ValueComparer.equalValue(vals, rightVal);
+
+ if (!res) {
+ out.println("Expected: 3, 4, 23");
+ out.println("Getting: " + value[3] + ", " +
+ value[4] + ", " + value[5]);
+ }
+ } else {
+ String[] rightVal = { "23", "4", "3" };
+ String[] vals = { value[0], value[1], value[2] };
+ res = ValueComparer.equalValue(vals, rightVal);
+
+ if (!res) {
+ out.println("Expected: 23, 4, 3");
+ out.println("Getting: " + value[1] + ", " +
+ value[2] + ", " + value[3]);
+ }
+ }
+ } else {
+ if (isSortAscending) {
+ String[] rightVal = { "23", "3", "4", "a", "ab", "b" };
+ res = ValueComparer.equalValue(value, rightVal);
+
+ if (!res) {
+ out.println("Expected: 23, 3, 4, a, ab, b");
+ out.println("Getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] +
+ ", " + value[3] + ", " +
+ value[4] + ", " + value[5]);
+ }
+ } else {
+ String[] rightVal = { "b", "ab", "a", "4", "3", "23" };
+ res = ValueComparer.equalValue(value, rightVal);
+
+ if (!res) {
+ out.println("Expected: b, ab, a, 4, 3, 23");
+ out.println("Getting: " + value[0] + ", " +
+ value[1] + ", " + value[2] +
+ ", " + value[3] + ", " +
+ value[4] + ", " + value[5]);
+ }
+ }
+ }
+
+ if (res) {
+ out.println("Sorted correctly");
+ } else {
+ out.println("Sorted incorrectly");
+ }
+
+ return res;
+ }
+ });
+
+ tEnv.addObjRelation("CONTENT",
+ UnoRuntime.queryInterface(
+ XTextContent.class, instance));
+ tEnv.addObjRelation("RANGE", xTextDoc.getText().createTextCursor());
+
+ return tEnv;
+ }
+} // finish class SwXTextTable
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java
new file mode 100644
index 000000000..6417a9a3e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTableCursor.java
@@ -0,0 +1,104 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.XTextTableCursor
+ *
+ */
+public class SwXTextTableCursor extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws StatusException {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory( tParam.getMSF() );
+
+ // create testobject here
+
+ XTextTable oTable = null;
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ oObj = oTable.createCursorByCellName("A1");
+
+ log.println( "creating a new environment for TextTableCursor object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ tEnv.addObjRelation("STYLENAME1", "Table");
+ tEnv.addObjRelation("STYLENAME2", "Text");
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextTableCursor
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java b/qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java
new file mode 100644
index 000000000..a8f4144f2
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTableRow.java
@@ -0,0 +1,113 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.table.XTableRows;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+
+public class SwXTextTableRow extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ @Override
+ protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) {
+
+ XInterface oObj = null;
+ XTextTable oTable = null;
+
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "Creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory( Param.getMSF() );
+
+ try {
+ log.println("creating a texttable");
+ oTable = SOfficeFactory.createTextTable(xTextDoc,5,5);
+ } catch( Exception e ) {
+ e.printStackTrace(log);
+ }
+
+ XText oText = xTextDoc.getText();
+
+ XTextCursor oCursor = oText.createTextCursor();
+
+ try {
+ log.println("inserting texttable");
+ oText.insertTextContent(oCursor, oTable, false);
+ } catch (Exception e) {
+ log.println("Exception!");
+ }
+
+ try {
+ log.println("getting table row");
+ XTableRows oTRn = oTable.getRows();
+ XIndexAccess oIA = UnoRuntime.queryInterface
+ (XIndexAccess.class,oTRn);
+ oObj = (XPropertySet) AnyConverter.toObject(
+ new Type(XPropertySet.class),oIA.getByIndex(1));
+ } catch( Exception e ) {
+ e.printStackTrace(log);
+ }
+
+ log.println( "creating a new environment for TextTableRow object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextTableRow
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextTables.java b/qadevOOo/tests/java/mod/_sw/SwXTextTables.java
new file mode 100644
index 000000000..28ad076e4
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextTables.java
@@ -0,0 +1,118 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextTable;
+import com.sun.star.text.XTextTablesSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.container.XElementAccess
+ * @see com.sun.star.container.XIndexAccess
+ * @see com.sun.star.container.XNameAccess
+ *
+ */
+public class SwXTextTables extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+ int nRow = 4;
+ int nCol = 5;
+
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // get a soffice factory object
+ SOfficeFactory.getFactory( tParam.getMSF() );
+
+ // create testobject here
+ TestEnvironment tEnv = null;
+ XTextTable oTable = null;
+ oTable = SOfficeFactory.createTextTable( xTextDoc );
+ SOfficeFactory.insertTextContent(xTextDoc, oTable );
+
+ // Number two
+ XTextTable oTable2 = null;
+ oTable2 = SOfficeFactory.createTextTable( xTextDoc );
+ SOfficeFactory.insertTextContent(xTextDoc, oTable2 );
+
+ XMultiServiceFactory msf = UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDoc);
+ XTextTablesSupplier oTTSupp = UnoRuntime.queryInterface(XTextTablesSupplier.class, msf);
+ oObj = oTTSupp.getTextTables();
+
+ if ( oTable != null ) {
+ log.println("Creating instance...");
+ tEnv = new TestEnvironment(oObj);
+ }
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation( "TEXTDOC", xTextDoc );
+ tEnv.addObjRelation( "ROW", Integer.valueOf( nRow ) );
+ tEnv.addObjRelation( "COL", Integer.valueOf( nCol ) );
+ tEnv.addObjRelation( "INST", SOfficeFactory.createTextTable( xTextDoc ));
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+} // finish class SwXTextTables
+
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextView.java b/qadevOOo/tests/java/mod/_sw/SwXTextView.java
new file mode 100644
index 000000000..986e29591
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextView.java
@@ -0,0 +1,255 @@
+/*
+ * 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._sw;
+
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XNameContainer;
+import com.sun.star.drawing.XDrawPage;
+import com.sun.star.drawing.XShape;
+import com.sun.star.lang.WrappedTargetException;
+import java.io.PrintWriter;
+import java.util.Comparator;
+
+import lib.StatusException;
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.form.XForm;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XServiceInfo;
+import com.sun.star.text.ControlCharacter;
+import com.sun.star.text.XText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.uno.AnyConverter;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XSearchDescriptor;
+import com.sun.star.util.XSearchable;
+import com.sun.star.view.XSelectionSupplier;
+import util.FormTools;
+import util.WriterTools;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.text.XTextViewCursorSupplier
+ * @see com.sun.star.view.XControlAccess
+ * @see com.sun.star.view.XSelectionSupplier
+ * @see com.sun.star.view.XViewSettingsSupplier
+ *
+ */
+public class SwXTextView extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ boolean debug = false;
+
+ /**
+ * in general this method creates a testdocument
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ debug = tParam.getBool(util.PropertyName.DEBUG_IS_ACTIVE);
+ }
+
+ /**
+ * in general this method disposes the testenvironment and document
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ *
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws com.sun.star.uno.Exception
+ {
+
+
+ // creation of testobject here
+ log.println( "creating a test environment" );
+
+ XController xContr = xTextDoc.getCurrentController();
+
+ TestEnvironment tEnv = new TestEnvironment(xContr);
+
+ util.dbg.getSuppServices(xContr);
+
+ SOfficeFactory SOF=SOfficeFactory.getFactory( tParam.getMSF() );
+ XTextFrame first =null;
+ XTextFrame second =null;
+
+ Object oFrame1 = null;
+ Object oFrame2 = null;
+ XText oText = xTextDoc.getText();
+ XTextCursor oCursor = oText.createTextCursor();
+ oFrame1 = SOF.createInstance
+ (xTextDoc, "com.sun.star.text.TextFrame" );
+ first = UnoRuntime.queryInterface
+ ( XTextFrame.class, oFrame1);
+ oText.insertTextContent(oCursor,first, false);
+ first.getText().setString("Frame 1");
+ oFrame2 = SOF.createInstance(xTextDoc, "com.sun.star.text.TextFrame" );
+ second = UnoRuntime.queryInterface
+ ( XTextFrame.class, oFrame2);
+ oText.insertTextContent(oCursor,second, false);
+ second.getText().setString("Frame 2");
+ oText.insertString( oCursor,
+ "SwXTextRanges...SwXTextRanges...SwXTextRanges", false);
+ oText.insertControlCharacter( oCursor,
+ ControlCharacter.PARAGRAPH_BREAK, false);
+ oText.insertString( oCursor,
+ "bla...bla...", false);
+
+ XSearchable oSearch = UnoRuntime.queryInterface
+ (XSearchable.class, xTextDoc);
+ XSearchDescriptor xSDesc = oSearch.createSearchDescriptor();
+ xSDesc.setSearchString("SwXTextRanges");
+ XIndexAccess textRanges1 = oSearch.findAll(xSDesc);
+
+ xSDesc.setSearchString("bla");
+ XIndexAccess textRanges2 = oSearch.findAll(xSDesc);
+
+ tEnv.addObjRelation("Selections", new Object[] {
+ oFrame1, oFrame2, textRanges1, textRanges2});
+ tEnv.addObjRelation("Comparer", new Comparator<Object>() {
+ public int compare(Object o1, Object o2) {
+ XServiceInfo serv1 = UnoRuntime.queryInterface(XServiceInfo.class, o1);
+ XServiceInfo serv2 = UnoRuntime.queryInterface(XServiceInfo.class, o2);
+
+ String implName1 = serv1.getImplementationName();
+ String implName2 = serv2.getImplementationName();
+ if (!implName1.equals(implName2)) {
+ return -1;
+ }
+
+ XIndexAccess indAc1 = UnoRuntime.queryInterface(XIndexAccess.class, o1);
+ XIndexAccess indAc2 = UnoRuntime.queryInterface(XIndexAccess.class, o2);
+
+ if (indAc1 != null && indAc2 != null) {
+ int c1 = indAc1.getCount();
+ int c2 = indAc2.getCount();
+ return c1 == c2 ? 0 : 1;
+ }
+
+ XText text1 = UnoRuntime.queryInterface(XText.class, o1);
+ XText text2 = UnoRuntime.queryInterface(XText.class, o2);
+
+ if (text1 != null && text2 != null) {
+ return text1.getString().equals(text2.getString()) ? 0 : 1;
+ }
+
+ return -1;
+ }
+ });
+
+ XSelectionSupplier xsel = UnoRuntime.queryInterface(XSelectionSupplier.class,xContr);
+ xsel.select(second);
+
+ tEnv.addObjRelation("DOCUMENT",xTextDoc);
+ XForm myForm = null;
+ String kindOfControl="CommandButton";
+ XShape aShape = null;
+ log.println("adding control shape '" + kindOfControl + "'");
+ aShape = FormTools.createControlShape(xTextDoc, 3000,
+ 4500, 15000, 10000,
+ kindOfControl);
+
+
+ log.println("adding relation for com.sun.star.view.XFormLayerAccess: XForm");
+
+ WriterTools.getDrawPage(xTextDoc).add(aShape);
+
+ try {
+
+ XDrawPage xDP = WriterTools.getDrawPage(xTextDoc);
+ if (xDP == null)
+ log.println("ERROR: could not get DrawPage");
+
+ XNameContainer xForms = FormTools.getForms(xDP);
+ if (xForms == null)
+ log.println("ERROR: could not get Forms");
+
+ log.println("the draw page contains following elements:");
+ String[] elements = FormTools.getForms(WriterTools.getDrawPage(xTextDoc)).getElementNames();
+ for (int i = 0; i< elements.length; i++){
+ log.println("Element[" + i + "] :" + elements[i]);
+ }
+
+ myForm = (XForm) AnyConverter.toObject(new Type(XForm.class), xForms.getByName("Standard"));
+ if (myForm == null){
+ log.println("ERROR: could not get 'Standard' from drawpage!");
+ if (debug){
+ log.println("the draw page contains following elements:");
+ }
+ }
+ else
+ tEnv.addObjRelation("XFormLayerAccess.XForm", myForm);
+ } catch (WrappedTargetException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (com.sun.star.lang.IllegalArgumentException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ } catch (NoSuchElementException ex) {
+ log.println("ERROR: could not add ObjectRelation 'XFormLayerAccess.XForm': " + ex.toString());
+ }
+
+
+ return tEnv;
+
+ } // finish method getTestEnvironment
+} // finish class SwXTextView
diff --git a/qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java b/qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java
new file mode 100644
index 000000000..1ee16ff4e
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXTextViewCursor.java
@@ -0,0 +1,107 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextViewCursorSupplier;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.beans.XPropertyState
+ * @see com.sun.star.document.XDocumentInsertable
+ * @see com.sun.star.style.CharacterProperties
+ * @see com.sun.star.style.ParagraphProperties
+ * @see com.sun.star.text.XPageCursor
+ * @see com.sun.star.text.XParagraphCursor
+ * @see com.sun.star.text.XSentenceCursor
+ * @see com.sun.star.text.XTextCursor
+ * @see com.sun.star.text.XTextRange
+ * @see com.sun.star.text.XWordCursor
+ * @see com.sun.star.util.XSortable
+ * @see com.sun.star.view.XScreenCursor
+ *
+ */
+public class SwXTextViewCursor extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+ oObj = xTextDoc.getCurrentController();
+
+ XTextViewCursorSupplier oTVCSupp = UnoRuntime.queryInterface(XTextViewCursorSupplier.class, oObj);
+
+ oObj = oTVCSupp.getViewCursor();
+
+ log.println( "creating a new environment for TextViewCursor object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+ tEnv.addObjRelation("XTEXT", xTextDoc.getText());
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXTextViewCursor
diff --git a/qadevOOo/tests/java/mod/_sw/SwXViewSettings.java b/qadevOOo/tests/java/mod/_sw/SwXViewSettings.java
new file mode 100644
index 000000000..b1ea4407c
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/SwXViewSettings.java
@@ -0,0 +1,97 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+ *
+ * initial description
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.text.ViewSettings
+ *
+ */
+public class SwXViewSettings extends TestCase {
+ XTextDocument xTextDoc;
+
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+
+ /**
+ * creating a TestEnvironment for the interfaces to be tested
+ *
+ * @param tParam class which contains additional test parameters
+ * @param log class to log the test state and result
+ *
+ * @return Status class
+ *
+ * @see TestParameters
+ * @see PrintWriter
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) {
+
+ XInterface oObj = null;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ // create testobject here
+
+ oObj = xTextDoc.getCurrentController();
+ XViewSettingsSupplier oVSSupp = UnoRuntime.queryInterface(XViewSettingsSupplier.class, oObj);
+
+ oObj = oVSSupp.getViewSettings();
+
+ log.println( "creating a new environment for ViewSettings object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ log.println( "adding TextDocument as mod relation to environment" );
+ tEnv.addObjRelation("TEXTDOC", xTextDoc);
+
+ return tEnv;
+ } // finish method getTestEnvironment
+
+
+} // finish class SwXViewSettings
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLContentExporter.java b/qadevOOo/tests/java/mod/_sw/XMLContentExporter.java
new file mode 100644
index 000000000..e05a117a0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLContentExporter.java
@@ -0,0 +1,178 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLContentExporter extends TestCase {
+ XTextDocument xTextDoc;
+ ContentFilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLContentExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. A string inserted into document. This made
+ * for checking if this string is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ final String CONTENT = "XMLContentExporter";
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new ContentFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLContentExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ // text added to the document
+ XSimpleText aText = xTextDoc.getText();
+ XTextCursor curs = aText.createTextCursor();
+ aText.insertString(curs, CONTENT, false);
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document-content") ;
+ Filter.addTagEnclosed("office:body", "office:document-content") ;
+ Filter.addTagEnclosed("office:script", "office:document-content") ;
+ Filter.addTagEnclosed("office:body", "office:document-content") ;
+ Filter.addCharactersEnclosed(CONTENT, "text:p") ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class ContentFilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private ContentFilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return checkTags();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLContentImporter.java b/qadevOOo/tests/java/mod/_sw/XMLContentImporter.java
new file mode 100644
index 000000000..e10549ced
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLContentImporter.java
@@ -0,0 +1,157 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLContentImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLContentImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLContentImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only content tags including test text.
+ * After import text getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impText = "XMLContentImporter test." ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLContentImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-content",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"
+ },
+ {"start", "office:body"},
+ {"start", "text:p"},
+ {"chars", impText},
+ {"end", "text:p"},
+ {"end", "office:body"},
+ {"end", "office:document-content"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final XTextDocument textDoc = UnoRuntime.queryInterface
+ (XTextDocument.class, xTextDoc) ;
+ final PrintWriter fLog = log ;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String docText = textDoc.getText().getString() ;
+ fLog.println("Document text returned = '" + docText + "'") ;
+ return impText.equals(docText) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLExporter.java b/qadevOOo/tests/java/mod/_sw/XMLExporter.java
new file mode 100644
index 000000000..4cee8fb68
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLExporter.java
@@ -0,0 +1,181 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XSimpleText;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLExporter extends TestCase {
+ XTextDocument xTextDoc;
+ FilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. A string inserted into document. This made
+ * for checking if this string is successfully exported within
+ * the document content.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ final String TEST_STR = "XMLExporter";
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new FilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class),Filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLExporter", new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ XSimpleText aText = xTextDoc.getText();
+ XTextCursor curs = aText.createTextCursor();
+ aText.insertString(curs, TEST_STR, false);
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document") ;
+ Filter.addTagEnclosed("office:meta", "office:document") ;
+ Filter.addTagEnclosed("office:settings", "office:document") ;
+ Filter.addTagEnclosed("office:script", "office:document") ;
+ Filter.addTagEnclosed("office:styles", "office:document") ;
+ Filter.addTagEnclosed("office:body", "office:document") ;
+ Filter.addCharactersEnclosed(TEST_STR, "text:p") ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter) ;
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+ return tEnv;
+
+ } // finish method getTestEnvironment
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return checkTags() ;
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLImporter.java b/qadevOOo/tests/java/mod/_sw/XMLImporter.java
new file mode 100644
index 000000000..92291cde6
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLImporter.java
@@ -0,0 +1,153 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XImporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported tags contain tag including tag with test text.
+ * After import text getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ oObj = (XInterface) xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLImporter");
+ XImporter xIm = UnoRuntime.queryInterface
+ (XImporter.class,oObj);
+ xIm.setTargetDocument(xTextDoc);
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ final String impText = "XMLImporter test." ;
+ String[][] xml = new String[][] {
+ {"start", "office:document" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "office:class", "CDATA", "text",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"},
+ {"start", "office:body" },
+ {"start", "text:p" },
+ {"chars", impText},
+ {"end", "text:p"},
+ {"end", "office:body"},
+ {"end", "office:document"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ tEnv.addObjRelation("TargetDocument",xTextDoc);
+ log.println("Implementation Name: "+util.utils.getImplName(oObj));
+
+ final XTextDocument textDoc = UnoRuntime.queryInterface
+ (XTextDocument.class, xTextDoc) ;
+ final PrintWriter fLog = log ;
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String docText = textDoc.getText().getString() ;
+ fLog.println("Document text returned = '" + docText + "'") ;
+ return impText.equals(docText) ;
+ }
+ }) ;
+
+ return tEnv;
+
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java b/qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java
new file mode 100644
index 000000000..7c4b7df26
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLMetaExporter.java
@@ -0,0 +1,178 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLMetaExporter extends TestCase {
+
+ XTextDocument xTextDoc;
+ MetaFilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLMetaExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. The 'Title' metadata property is set to a value. This made
+ * for checking if this property is successfully exported within
+ * the document metadata.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log ) throws Exception {
+ final String TITLE = "Title for testing of XMLMetaExporter";
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new MetaFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLMetaExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ //set some meta data
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xTextDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ xDocProps.setTitle(TITLE);
+
+ // adding tags which must be contained in XML output
+ Filter.addTag("office:document-meta");
+ Filter.addTagEnclosed("office:meta", "office:document-meta");
+ Filter.addCharactersEnclosed(TITLE, "dc:title");
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument", xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter);
+ return tEnv;
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class MetaFilterChecker extends XMLTools.XMLTagsChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private MetaFilterChecker(PrintWriter log) {
+ super(log) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return checkTags();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java b/qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java
new file mode 100644
index 000000000..354444f82
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLMetaImporter.java
@@ -0,0 +1,161 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.document.XDocumentPropertiesSupplier;
+import com.sun.star.document.XDocumentProperties;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLMetaImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLMetaImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLMetaImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only meta tags including
+ * title tag with test name.
+ * After import title name getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impTitle = "XMLMetaImporter test." ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLMetaImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-meta" ,
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:dc", "CDATA", "http://purl.org/dc/elements/1.1/"},
+ {"start", "office:meta"} ,
+ {"start", "dc:title"},
+ {"chars", impTitle},
+ {"end", "dc:title"},
+ {"end", "office:meta"},
+ {"end", "office:document-meta"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XDocumentPropertiesSupplier xPropSup = UnoRuntime.queryInterface
+ (XDocumentPropertiesSupplier.class, xTextDoc);
+ final XDocumentProperties xDocProps = xPropSup.getDocumentProperties();
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ String title = xDocProps.getTitle();
+ logF.println("Title returned = '" + title + "'") ;
+ return impTitle.equals(title) ;
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java b/qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java
new file mode 100644
index 000000000..f736f5869
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLSettingsExporter.java
@@ -0,0 +1,187 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLSettingsExporter extends TestCase {
+
+ XTextDocument xTextDoc;
+ SettingsFilterChecker Filter;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLSettingsExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. New document zoom is set as one of the 'View' settings. This made
+ * for checking if this setting is successfully exported within
+ * the document settings.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log) throws Exception {
+
+ final short ZOOM = 50;
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+
+ Filter = new SettingsFilterChecker(log);
+ Any arg = new Any(new Type(XDocumentHandler.class), Filter);
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLSettingsExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ //set some settings
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class,
+ xController);
+ XPropertySet xPropSet = xViewSetSup.getViewSettings();
+ xPropSet.setPropertyValue("ZoomValue", Short.valueOf(ZOOM));
+
+ // adding tags which must be contained in XML output
+ Filter.addTag( new XMLTools.Tag("office:document-settings") );
+ Filter.addTagEnclosed(
+ new XMLTools.Tag("office:settings"),
+ new XMLTools.Tag("office:document-settings") );
+ Filter.addCharactersEnclosed(
+ String.valueOf(ZOOM),
+ new XMLTools.Tag("config:config-item",
+ "config:name", "ZoomFactor") );
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", Filter);
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class SettingsFilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private SettingsFilterChecker(PrintWriter log) {
+ super(log, false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java b/qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java
new file mode 100644
index 000000000..0c10e971a
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLSettingsImporter.java
@@ -0,0 +1,187 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.frame.XController;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.view.XViewSettingsSupplier;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLSettingsImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLSettingsImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLSettingsImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only settings tags including
+ * title tag with test zoom factor.
+ * After import zoom factor getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ (TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final short impZoom = 50 ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLSettingsImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-settings",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:config", "CDATA", "http://openoffice.org/2001/config",
+ "xmlns:xlink", "CDATA", "http://www.w3.org/1999/xlink",
+ },
+ {"start", "office:settings"},
+ {"start", "config:config-item-set",
+ "config:name", "CDATA", "view-settings"
+ },
+ {"start", "config:config-item-map-indexed",
+ "config:name", "CDATA", "Views"},
+ {"start", "config:config-item-map-entry"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomFactor",
+ "config:type", "CDATA", "short"
+ },
+ {"chars", String.valueOf(impZoom)},
+ {"end", "config:config-item"},
+ {"start", "config:config-item",
+ "config:name", "CDATA", "ZoomType",
+ "config:type", "CDATA", "short"
+ },
+ {"chars", "0"},
+ {"end", "config:config-item"},
+ {"end", "config:config-item-map-entry"},
+ {"end", "config:config-item-map-indexed"},
+ {"end", "config:config-item-set"},
+ {"end", "office:settings"},
+ {"end", "office:document-settings"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ final PrintWriter logF = log ;
+ XController xController = xTextDoc.getCurrentController();
+ XViewSettingsSupplier xViewSetSup = UnoRuntime.queryInterface(XViewSettingsSupplier.class, xController);
+ final XPropertySet xPropSet = xViewSetSup.getViewSettings();
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ Short gValue = (Short)
+ xPropSet.getPropertyValue("ZoomValue");
+ logF.println("ZoomValue property value = " + gValue) ;
+ return impZoom == gValue.shortValue() ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception while checking import :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java b/qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java
new file mode 100644
index 000000000..f676430dd
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLStylesExporter.java
@@ -0,0 +1,180 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+import util.XMLTools;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.document.XExporter;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.Any;
+import com.sun.star.uno.Type;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+import com.sun.star.xml.sax.XDocumentHandler;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::ExportFilter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::XExporter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.ExportFilter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.XExporter
+ * @see com.sun.star.beans.XPropertySet
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._ExportFilter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ */
+public class XMLStylesExporter extends TestCase {
+
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Document disposed here.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /*
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Calc.XMLStylesExporter</code> with
+ * argument which is an implementation of <code>XDocumentHandler</code>
+ * and which can check if required tags and character data is
+ * exported. <p>
+ * The text document is set as a source document for exporter
+ * created. Footnote property 'Prefix' is set to a new value. This made
+ * for checking if this property value is successfully exported within
+ * the document styles.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'MediaDescriptor'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'XFilter.Checker'</code> for
+ * {@link ifc.document._XFilter} interface </li>
+ * <li> <code>'SourceDocument'</code> for
+ * {@link ifc.document._XExporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment
+ ( TestParameters tParam, PrintWriter log ) throws Exception {
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+ XInterface oObj = null;
+ FilterChecker filter = new FilterChecker(log) ;
+ Any arg = new Any(new Type(XDocumentHandler.class),filter);
+
+ oObj = (XInterface) xMSF.createInstanceWithArguments(
+ "com.sun.star.comp.Writer.XMLStylesExporter",
+ new Object[] {arg});
+ XExporter xEx = UnoRuntime.queryInterface
+ (XExporter.class,oObj);
+ xEx.setSourceDocument(xTextDoc);
+
+ // Checking Head Tag existence and that property has changed
+ filter.addTag(new XMLTools.Tag ("office:document-styles"));
+ filter.addTag(new XMLTools.Tag ("text:footnotes-configuration",
+ "style:num-prefix","New Property")) ;
+
+ // create testobject here
+ log.println( "creating a new environment" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // Obtain Footnotes properties
+ XFootnotesSupplier supp = UnoRuntime.queryInterface
+ (XFootnotesSupplier.class, xTextDoc);
+ XPropertySet set = supp.getFootnoteSettings();
+
+ // Change property "Prefix"
+ set.setPropertyValue("Prefix","New Property");
+
+ tEnv.addObjRelation("MediaDescriptor", XMLTools.createMediaDescriptor(
+ new String[] {"FilterName"},
+ new Object[] {"swriter: StarOffice XML (Writer)"}));
+ tEnv.addObjRelation("SourceDocument",xTextDoc);
+ tEnv.addObjRelation("XFilter.Checker", filter) ;
+ return tEnv;
+
+ }
+
+ /**
+ * This class checks the XML for tags and data required and returns
+ * checking result to <code>XFilter</code> interface test. All
+ * the information about errors occurred in XML data is written
+ * to log specified.
+ * @see ifc.document._XFilter
+ */
+ private class FilterChecker extends XMLTools.XMLChecker
+ implements ifc.document._XFilter.FilterChecker {
+
+ /**
+ * Creates a class which will write information
+ * into log specified.
+ */
+ private FilterChecker(PrintWriter log) {
+ super(log,false) ;
+ }
+
+ /**
+ * <code>_XFilter.FilterChecker</code> interface method
+ * which returns the result of XML checking.
+ * @return <code>true</code> if the XML data exported was
+ * valid (i.e. all necessary tags and character data exists),
+ * <code>false</code> if some errors occurred.
+ */
+ public boolean checkFilter() {
+ return check();
+ }
+ }
+
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java b/qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java
new file mode 100644
index 000000000..c51f1d2e0
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/XMLStylesImporter.java
@@ -0,0 +1,169 @@
+/*
+ * 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._sw;
+
+import java.io.PrintWriter;
+
+import lib.TestCase;
+import lib.TestEnvironment;
+import lib.TestParameters;
+import util.SOfficeFactory;
+
+import com.sun.star.beans.XPropertySet;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XFootnotesSupplier;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+import com.sun.star.uno.XInterface;
+
+/**
+ * Test for object which is represented by service
+ * <code>com.sun.star.comp.Writer.XMLStylesImporter</code>. <p>
+ * Object implements the following interfaces :
+ * <ul>
+ * <li><code>com::sun::star::lang::XInitialization</code></li>
+ * <li><code>com::sun::star::document::XImporter</code></li>
+ * <li><code>com::sun::star::document::XFilter</code></li>
+ * <li><code>com::sun::star::document::ImportFilter</code></li>
+ * <li><code>com::sun::star::beans::XPropertySet</code></li>
+ * <li><code>com::sun::star::xml::sax::XDocumentHandler</code></li>
+
+ * </ul>
+ * @see com.sun.star.lang.XInitialization
+ * @see com.sun.star.document.XImporter
+ * @see com.sun.star.document.XFilter
+ * @see com.sun.star.document.ImportFilter
+ * @see com.sun.star.beans.XPropertySet
+ * @see com.sun.star.xml.sax.XDocumentHandler
+ * @see ifc.lang._XInitialization
+ * @see ifc.document._XImporter
+ * @see ifc.document._XFilter
+ * @see ifc.document._XExporter
+ * @see ifc.beans._XPropertySet
+ * @see ifc.xml.sax._XDocumentHandler
+ */
+public class XMLStylesImporter extends TestCase {
+ XTextDocument xTextDoc;
+
+ /**
+ * New text document created.
+ */
+ @Override
+ protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
+ SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF() );
+
+ log.println( "creating a textdocument" );
+ xTextDoc = SOF.createTextDoc( null );
+ }
+
+ /**
+ * Text document destroyed.
+ */
+ @Override
+ protected void cleanup( TestParameters tParam, PrintWriter log ) {
+ log.println( " disposing xTextDoc " );
+ util.DesktopTools.closeDoc(xTextDoc);
+ }
+
+ /**
+ * Creating a TestEnvironment for the interfaces to be tested.
+ * Creates an instance of the service
+ * <code>com.sun.star.comp.Writer.XMLStylesImporter</code><p>
+ *
+ * The text document is set as a target document for importer.
+ * Imported XML-data contains only style tags including
+ * title tag with test prefix.
+ * After import prefixes getting from target document is checked.
+ * Object relations created :
+ * <ul>
+ * <li> <code>'XDocumentHandler.XMLData'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'XDocumentHandler.ImportChecker'</code> for
+ * {@link ifc.xml.sax._XDocumentHandler} interface </li>
+ * <li> <code>'TargetDocument'</code> for
+ * {@link ifc.document._XImporter} interface </li>
+ * </ul>
+ */
+ @Override
+ public TestEnvironment createTestEnvironment( TestParameters tParam,
+ PrintWriter log )
+ throws Exception {
+
+ XInterface oObj = null;
+ Object oInt = null ;
+ final String impPrefix = "Prefix" ;
+
+ // creation of testobject here
+ // first we write what we are intend to do to log file
+ log.println( "creating a test environment" );
+
+ XMultiServiceFactory xMSF = tParam.getMSF() ;
+
+ oInt = xMSF.createInstance
+ ("com.sun.star.comp.Writer.XMLStylesImporter") ;
+
+ oObj = (XInterface) oInt ;
+
+ // create testobject here
+ log.println( "creating a new environment for Paragraph object" );
+ TestEnvironment tEnv = new TestEnvironment( oObj );
+
+ // adding relation
+ tEnv.addObjRelation("TargetDocument", xTextDoc) ;
+
+ // adding relation for XDocumentHandler
+ String[][] xml = new String[][] {
+ {"start", "office:document-styles",
+ "xmlns:office", "CDATA", "http://openoffice.org/2000/office",
+ "xmlns:style", "CDATA", "http://openoffice.org/2000/style",
+ "xmlns:text", "CDATA", "http://openoffice.org/2000/text"
+ },
+ {"start", "office:styles"},
+ {"start", "text:footnotes-configuration",
+ "style:num-prefix", "CDATA", impPrefix},
+ {"end", "text:footnotes-configuration"},
+ {"end", "office:styles"},
+ {"end", "office:document-styles"}} ;
+
+ tEnv.addObjRelation("XDocumentHandler.XMLData", xml) ;
+
+ XFootnotesSupplier supp = UnoRuntime.queryInterface
+ (XFootnotesSupplier.class, xTextDoc);
+ final XPropertySet set = supp.getFootnoteSettings();
+ final PrintWriter logF = log ;
+
+ tEnv.addObjRelation("XDocumentHandler.ImportChecker",
+ new ifc.xml.sax._XDocumentHandler.ImportChecker() {
+ public boolean checkImport() {
+ try {
+ String prefix = (String) set.getPropertyValue("Prefix");
+ logF.println("Prefix returned = '" + prefix + "'") ;
+ return impPrefix.equals(prefix) ;
+ } catch (com.sun.star.uno.Exception e) {
+ logF.println("Exception occurred while checking filter :") ;
+ e.printStackTrace(logF) ;
+ return false ;
+ }
+ }
+ }) ;
+
+ return tEnv;
+ } // finish method getTestEnvironment
+}
+
diff --git a/qadevOOo/tests/java/mod/_sw/package.html b/qadevOOo/tests/java/mod/_sw/package.html
new file mode 100644
index 000000000..3be3b188f
--- /dev/null
+++ b/qadevOOo/tests/java/mod/_sw/package.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
+<!--
+ * 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 .
+-->
+<HTML>
+<BODY>
+<P>Contains all test cases for the module 'sw'.</P>
+</BODY>
+</HTML>