incubator-ooo-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From liu...@apache.org
Subject svn commit: r1375390 - in /incubator/ooo/trunk/main/test/testuno: .externalToolBuilders/ source/testcase/mix/ source/testcase/uno/ source/testcase/uno/sd/ source/testcase/uno/sw/ source/testcase/uno/sw/bookmark/ source/testcase/uno/sw/crossreference/ s...
Date Tue, 21 Aug 2012 06:17:54 GMT
Author: liuzhe
Date: Tue Aug 21 06:17:53 2012
New Revision: 1375390

URL: http://svn.apache.org/viewvc?rev=1375390&view=rev
Log:
fix two test class have errors when running

Added:
    incubator/ooo/trunk/main/test/testuno/source/testcase/mix/
    incubator/ooo/trunk/main/test/testuno/source/testcase/mix/MixedTest.java
    incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/crossreference/
    incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/crossreference/CheckCrossReferences.java
      - copied, changed from r1374892, incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckCrossReferences.java
    incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/frame/
    incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/frame/CheckFrames.java
      - copied, changed from r1374892, incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckFlies.java
    incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUtil.java
      - copied, changed from r1375388, incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUnoUtil.java
    incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SWUtil.java
Removed:
    incubator/ooo/trunk/main/test/testuno/source/testcase/uno/MixedTest.java
    incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckCrossReferences.java
    incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckFlies.java
    incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUnoUtil.java
    incubator/ooo/trunk/main/test/testuno/source/testlib/uno/sw/
Modified:
    incubator/ooo/trunk/main/test/testuno/.externalToolBuilders/Classpath Builder.launch
    incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sd/CheckCharacterStyle.java
    incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/bookmark/CheckBookmarks.java

Modified: incubator/ooo/trunk/main/test/testuno/.externalToolBuilders/Classpath Builder.launch
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testuno/.externalToolBuilders/Classpath%20Builder.launch?rev=1375390&r1=1375389&r2=1375390&view=diff
==============================================================================
--- incubator/ooo/trunk/main/test/testuno/.externalToolBuilders/Classpath Builder.launch (original)
+++ incubator/ooo/trunk/main/test/testuno/.externalToolBuilders/Classpath Builder.launch Tue
Aug 21 06:17:53 2012
@@ -4,6 +4,12 @@
 <booleanAttribute key="org.eclipse.ant.ui.DEFAULT_VM_INSTALL" value="false"/>
 <booleanAttribute key="org.eclipse.ant.uiSET_INPUTHANDLER" value="false"/>
 <stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${workspace}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/testuno"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
 <booleanAttribute key="org.eclipse.debug.core.capture_output" value="false"/>
 <booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="false"/>
 <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>

Added: incubator/ooo/trunk/main/test/testuno/source/testcase/mix/MixedTest.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testuno/source/testcase/mix/MixedTest.java?rev=1375390&view=auto
==============================================================================
--- incubator/ooo/trunk/main/test/testuno/source/testcase/mix/MixedTest.java (added)
+++ incubator/ooo/trunk/main/test/testuno/source/testcase/mix/MixedTest.java Tue Aug 21 06:17:53
2012
@@ -0,0 +1,64 @@
+package testcase.mix;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Test;
+import org.openoffice.test.uno.UnoApp;
+import org.openoffice.test.vcl.widgets.VclApp;
+import org.openoffice.test.vcl.widgets.VclListBox;
+import org.openoffice.test.vcl.widgets.VclTabPage;
+import org.openoffice.test.vcl.widgets.VclWindow;
+
+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.uno.UnoRuntime;
+
+/**
+ * Demo for testing with both UNO and VCLAuto 
+ * @author test
+ *
+ */
+public class MixedTest {
+	UnoApp unoApp = new UnoApp();
+	VclApp vclApp = new VclApp();
+	VclWindow writer = new VclWindow("SW_HID_EDIT_WIN");
+	VclTabPage effectsPage = new VclTabPage("CUI_HID_SVXPAGE_CHAR_EFFECTS");
+	VclListBox colorList = new VclListBox("cui:ListBox:RID_SVXPAGE_CHAR_EFFECTS:LB_FONTCOLOR");
+	XTextDocument textDocument = null;
+	/**
+	 * @throws java.lang.Exception
+	 */
+	@Before
+	public void setUp() throws Exception {
+		unoApp.start();
+	}
+
+	@After
+	public void tearDown() throws Exception {
+		unoApp.closeDocument(textDocument);
+		unoApp.close();
+	}
+
+	@Test
+	public void testUseBothUNOAndGuiAPI()  throws Exception  {
+		//Use UNO API to create a new document
+		textDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, unoApp.newDocument("swriter"));
+		XText xText = textDocument.getText();
+		xText.setString("UNO: Hello World!");
+		//Input something by typing keyboard
+		writer.typeKeys("GUI: Hello world!");
+		//Set text color to green via GUI
+		writer.drag(10, 10, 300, 400);
+		writer.menuItem("Format->Character...").select();
+		effectsPage.select();
+		colorList.select("Light green");
+		effectsPage.ok();
+		//Verify the result via UNO API
+		XTextCursor xTextCursor = xText.createTextCursor();
+		XPropertySet xps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
+		Assert.assertEquals("Text Color", 0x0000FF00, xps.getPropertyValue("CharColor"));
+	}
+}

Modified: incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sd/CheckCharacterStyle.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sd/CheckCharacterStyle.java?rev=1375390&r1=1375389&r2=1375390&view=diff
==============================================================================
--- incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sd/CheckCharacterStyle.java
(original)
+++ incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sd/CheckCharacterStyle.java
Tue Aug 21 06:17:53 2012
@@ -25,7 +25,7 @@ import org.openoffice.test.common.FileUt
 import org.openoffice.test.common.Testspace;
 import org.openoffice.test.uno.UnoApp;
 
-import testlib.uno.SDUnoUtil;
+import testlib.uno.SDUtil;
 
 import com.sun.star.beans.PropertyValue;
 import com.sun.star.beans.XPropertySet;
@@ -48,7 +48,7 @@ import com.sun.star.uno.UnoRuntime;
 public class CheckCharacterStyle {
 
 	private static final UnoApp app = new UnoApp();	
-	private static final SDUnoUtil SDUtil = new SDUnoUtil();
+	private static final SDUtil SDUtil = new SDUtil();
 	private XComponent m_xSDComponent = null;
 	private XText xShapeText = null;
 	private String filePath = null;

Modified: incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/bookmark/CheckBookmarks.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/bookmark/CheckBookmarks.java?rev=1375390&r1=1375389&r2=1375390&view=diff
==============================================================================
--- incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/bookmark/CheckBookmarks.java
(original)
+++ incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/bookmark/CheckBookmarks.java
Tue Aug 21 06:17:53 2012
@@ -22,7 +22,7 @@
 package testcase.uno.sw.bookmark;
 
 import static org.junit.Assert.assertArrayEquals;
-import static testlib.uno.sw.SWUtil.insertBookmark;
+import static testlib.uno.SWUtil.insertBookmark;
 
 import org.junit.After;
 import org.junit.AfterClass;
@@ -106,7 +106,7 @@ public class CheckBookmarks {
 		XTextCursor xTextCursor = xText.createTextCursor();
 		xTextCursor.gotoEnd(false);
 		xTextCursor.goLeft((short)10, true);
-		xTextCursor.setString("");
+		xTextCursor.setString("new");
 		
 		// Let's see the bookmarks
 		XNameAccess xBookmarks = UnoRuntime.queryInterface(XBookmarksSupplier.class, document).getBookmarks();

Copied: incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/crossreference/CheckCrossReferences.java
(from r1374892, incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckCrossReferences.java)
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/crossreference/CheckCrossReferences.java?p2=incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/crossreference/CheckCrossReferences.java&p1=incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckCrossReferences.java&r1=1374892&r2=1375390&rev=1375390&view=diff
==============================================================================
--- incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckCrossReferences.java
(original)
+++ incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/crossreference/CheckCrossReferences.java
Tue Aug 21 06:17:53 2012
@@ -19,14 +19,14 @@
  * 
  *************************************************************/
 
-package testcase.uno.sw;
+package testcase.uno.sw.crossreference;
 
-import static org.junit.Assert.*;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
 
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.openoffice.test.common.Testspace;
 import org.openoffice.test.uno.UnoApp;
@@ -44,63 +44,70 @@ import com.sun.star.text.XTextField;
 import com.sun.star.text.XTextFieldsSupplier;
 import com.sun.star.text.XTextRange;
 import com.sun.star.uno.UnoRuntime;
+import com.sun.star.util.XRefreshable;
 
 /**
  * 
- * @author od138299
  */
 public class CheckCrossReferences {
 
 	private XEnumeration xParaEnum;
 	private XEnumeration xPortionEnum;
 	private com.sun.star.util.XRefreshable xFldsRefresh;
+	private final static UnoApp app = new UnoApp();
+
+	private XTextDocument document = null;
+
+	@Before
+	public void setUpDocument() throws Exception {
+		app.start();
+		document = UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.prepareData("testcase/uno/sw/CheckCrossReferences.odt")));
+	}
+
+	@After
+	public void tearDownDocument() {
+		app.closeDocument(document);
+	}
+
+	@AfterClass
+	public static void tearDownConnection() throws InterruptedException, Exception {
+		app.close();
+	}
 
 	public XTextField getNextField() throws Exception {
 		if (xPortionEnum != null) {
 			while (xPortionEnum.hasMoreElements()) {
-				XPropertySet xPortionProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,
xPortionEnum.nextElement());
+				XPropertySet xPortionProps = UnoRuntime.queryInterface(XPropertySet.class, xPortionEnum.nextElement());
 				final String sPortionType = xPortionProps.getPropertyValue("TextPortionType").toString();
-				if (sPortionType.equals("TextField")) {
-					XTextField xField = (XTextField) UnoRuntime.queryInterface(XTextField.class, xPortionProps.getPropertyValue("TextField"));
-					assertNotNull("Cannot retrieve next field.", xField);
-					return xField;
-				}
+				if (sPortionType.equals("TextField"))
+					return UnoRuntime.queryInterface(XTextField.class, xPortionProps.getPropertyValue("TextField"));
 			}
 		}
 
 		while (xParaEnum.hasMoreElements()) {
-			XEnumerationAccess aPara = (XEnumerationAccess) UnoRuntime.queryInterface(XEnumerationAccess.class,
xParaEnum.nextElement());
+			XEnumerationAccess aPara = UnoRuntime.queryInterface(XEnumerationAccess.class, xParaEnum.nextElement());
 			xPortionEnum = aPara.createEnumeration();
 			while (xPortionEnum.hasMoreElements()) {
-				XPropertySet xPortionProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,
xPortionEnum.nextElement());
+				XPropertySet xPortionProps = UnoRuntime.queryInterface(XPropertySet.class, xPortionEnum.nextElement());
 				final String sPortionType = xPortionProps.getPropertyValue("TextPortionType").toString();
-				if (sPortionType.equals("TextField")) {
-					XTextField xField = (XTextField) UnoRuntime.queryInterface(XTextField.class, xPortionProps.getPropertyValue("TextField"));
-					assertNotNull("Cannot retrieve next field.", xField);
-					return xField;
-				}
+				if (sPortionType.equals("TextField"))
+					return UnoRuntime.queryInterface(XTextField.class, xPortionProps.getPropertyValue("TextField"));
 			}
 		}
 
-		fail("Cannot retrieve next field.");
-		return null; // unreachable
+		return null;
 	}
 
 	public XPropertySet getFieldProps(XTextField xField) {
 		XPropertySet xProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xField);
-
-		assertNotNull("Cannot retrieve field properties.", xProps);
-
 		return xProps;
 	}
 
 	public void checkField(XTextField xField, XPropertySet xProps, short nFormat, String aExpectedFldResult)
throws Exception {
 		// set requested format
 		xProps.setPropertyValue("ReferenceFieldPart", new Short(nFormat));
-
 		// refresh fields in order to get new format applied
 		xFldsRefresh.refresh();
-
 		String aFldResult = xField.getPresentation(false);
 		assertEquals("set reference field format doesn't result in correct field result", aExpectedFldResult,
aFldResult);
 	}
@@ -108,141 +115,104 @@ public class CheckCrossReferences {
 	@Test
 	public void checkCrossReferences() throws Exception {
 		// setup paragraph enumeration
-		{
-			XEnumerationAccess xParaEnumAccess = (XEnumerationAccess) UnoRuntime.queryInterface(XEnumerationAccess.class,
document.getText());
-			xParaEnum = xParaEnumAccess.createEnumeration();
-		}
+		xParaEnum = UnoRuntime.queryInterface(XEnumerationAccess.class, document.getText()).createEnumeration();
 
 		// get field refresher
-		{
-			XTextFieldsSupplier xFieldSupp = (XTextFieldsSupplier) UnoRuntime.queryInterface(XTextFieldsSupplier.class,
document);
-			xFldsRefresh = (com.sun.star.util.XRefreshable) UnoRuntime.queryInterface(com.sun.star.util.XRefreshable.class,
xFieldSupp.getTextFields());
-		}
+		XTextFieldsSupplier xFieldSupp = UnoRuntime.queryInterface(XTextFieldsSupplier.class, document);
+		xFldsRefresh = UnoRuntime.queryInterface(XRefreshable.class, xFieldSupp.getTextFields());
 
-		// check first reference field
-		{
-			// strings for checking
-			final String FldResult1 = "*i*";
-			final String FldResult2 = "+b+*i*";
-			final String FldResult3 = "-1-+b+*i*";
-			final String FldResult4 = "1.";
-			final String FldResult5 = " 1.";
-			final String FldResult6 = "A. 1.";
-
-			// variables for current field
-			XTextField xField = null;
-			XPropertySet xProps = null;
-
-			xField = getNextField();
-			xProps = getFieldProps(xField);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult2);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult1);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult3);
-
-			xField = getNextField();
-			xProps = getFieldProps(xField);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult1);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult1);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult3);
-
-			xField = getNextField();
-			xProps = getFieldProps(xField);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult3);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult1);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult3);
-
-			xField = getNextField();
-			xProps = getFieldProps(xField);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult5);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult4);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult6);
-
-			xField = getNextField();
-			xProps = getFieldProps(xField);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult4);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult4);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult6);
-
-			xField = getNextField();
-			xProps = getFieldProps(xField);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult6);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult4);
-			checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult6);
-		}
+		// strings for checking
+		final String FldResult1 = "*i*";
+		final String FldResult2 = "+b+*i*";
+		final String FldResult3 = "-1-+b+*i*";
+		final String FldResult4 = "1.";
+		final String FldResult5 = " 1.";
+		final String FldResult6 = "A. 1.";
+
+		// variables for current field
+		XTextField xField = null;
+		XPropertySet xProps = null;
+
+		xField = getNextField();
+		xProps = getFieldProps(xField);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult2);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult1);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult3);
+
+		xField = getNextField();
+		xProps = getFieldProps(xField);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult1);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult1);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult3);
+
+		xField = getNextField();
+		xProps = getFieldProps(xField);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult3);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult1);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult3);
+
+		xField = getNextField();
+		xProps = getFieldProps(xField);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult5);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult4);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult6);
+
+		xField = getNextField();
+		xProps = getFieldProps(xField);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult4);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult4);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult6);
+
+		xField = getNextField();
+		xProps = getFieldProps(xField);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER, FldResult6);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_NO_CONTEXT, FldResult4);
+		checkField(xField, xProps, ReferenceFieldPart.NUMBER_FULL_CONTEXT, FldResult6);
 
-		// insert a certain cross-reference bookmark and a reference field to
-		// this bookmark
-		{
-			// restart paragraph enumeration
-			XEnumerationAccess xParaEnumAccess = (XEnumerationAccess) UnoRuntime.queryInterface(XEnumerationAccess.class,
document.getText());
-			xParaEnum = xParaEnumAccess.createEnumeration();
-
-			// iterate on the paragraphs to find certain paragraph to insert the
-			// bookmark
-			XTextRange xParaTextRange = null;
-			while (xParaEnum.hasMoreElements()) {
-				xParaTextRange = (XTextRange) UnoRuntime.queryInterface(XTextRange.class, xParaEnum.nextElement());
-				if (xParaTextRange.getString().equals("J")) {
-					break;
-				} else {
-					xParaTextRange = null;
-				}
-			}
-			assertNotNull("Cannot find paragraph to insert cross-reference bookmark.", xParaTextRange);
+		// insert a certain cross-reference bookmark and a reference field to this bookmark
 
-			// insert bookmark
-			XMultiServiceFactory xFac = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class,
document);
-			final String cBookmarkName = "__RefNumPara__47114711";
-			XTextContent xBookmark = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,
xFac.createInstance("Bookmark"));
-			if (xBookmark != null) {
-				XNamed xName = (XNamed) UnoRuntime.queryInterface(XNamed.class, xBookmark);
-				xName.setName(cBookmarkName);
-				xBookmark.attach(xParaTextRange.getStart());
-			}
+		// restart paragraph enumeration
+		xParaEnum = UnoRuntime.queryInterface(XEnumerationAccess.class, document.getText()).createEnumeration();
 
-			// insert reference field, which references the inserted bookmark
-			XTextContent xNewField = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,
xFac.createInstance("TextField.GetReference"));
-			if (xNewField != null) {
-				XPropertySet xFieldProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,
xNewField);
-				xFieldProps.setPropertyValue("ReferenceFieldPart", new Short(ReferenceFieldPart.TEXT));
-				xFieldProps.setPropertyValue("ReferenceFieldSource", new Short(ReferenceFieldSource.BOOKMARK));
-				xFieldProps.setPropertyValue("SourceName", cBookmarkName);
-				XTextRange xFieldTextRange = (XTextRange) UnoRuntime.queryInterface(XTextRange.class,
xParaEnum.nextElement());
-				xNewField.attach(xFieldTextRange.getEnd());
-				xFldsRefresh.refresh();
+		// iterate on the paragraphs to find certain paragraph to insert the bookmark
+		XTextRange xParaTextRange = null;
+		while (xParaEnum.hasMoreElements()) {
+			xParaTextRange = (XTextRange) UnoRuntime.queryInterface(XTextRange.class, xParaEnum.nextElement());
+			if (xParaTextRange.getString().equals("J")) {
+				break;
+			} else {
+				xParaTextRange = null;
 			}
-
-			// check inserted reference field
-			XTextField xField = (XTextField) UnoRuntime.queryInterface(XTextField.class, xNewField);
-			assertEquals("inserted reference field doesn't has correct field result", "J", xField.getPresentation(false));
-
-			xParaTextRange.getStart().setString("Hallo new bookmark: ");
-			xFldsRefresh.refresh();
-			assertEquals("inserted reference field doesn't has correct field result", "Hallo new bookmark:
J", xField.getPresentation(false));
 		}
-	}
-
-	@Before
-	public void setUpDocument() throws Exception {
-		document = UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.prepareData("testcase/uno/sw/CheckCrossReferences.odt")));
-	}
-
-	@After
-	public void tearDownDocument() {
-		app.closeDocument(document);
-	}
+		assertNotNull("Cannot find paragraph to insert cross-reference bookmark.", xParaTextRange);
 
-	private XTextDocument document = null;
+		// insert bookmark
+		XMultiServiceFactory xFac = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class,
document);
+		final String cBookmarkName = "__RefNumPara__47114711";
+		XTextContent xBookmark = (XTextContent) UnoRuntime.queryInterface(XTextContent.class, xFac.createInstance("com.sun.star.text.Bookmark"));
+
+		XNamed xName = (XNamed) UnoRuntime.queryInterface(XNamed.class, xBookmark);
+		xName.setName(cBookmarkName);
+		xBookmark.attach(xParaTextRange.getStart());
+
+		// insert reference field, which references the inserted bookmark
+		XTextContent xNewField = (XTextContent) UnoRuntime.queryInterface(XTextContent.class, xFac.createInstance("com.sun.star.text.textfield.GetReference"));
+
+		XPropertySet xFieldProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class,
xNewField);
+		xFieldProps.setPropertyValue("ReferenceFieldPart", new Short(ReferenceFieldPart.TEXT));
+		xFieldProps.setPropertyValue("ReferenceFieldSource", new Short(ReferenceFieldSource.BOOKMARK));
+		xFieldProps.setPropertyValue("SourceName", cBookmarkName);
+		XTextRange xFieldTextRange = (XTextRange) UnoRuntime.queryInterface(XTextRange.class, xParaEnum.nextElement());
+		xNewField.attach(xFieldTextRange.getEnd());
+		xFldsRefresh.refresh();
 
-	@BeforeClass
-	public static void setUpConnection() throws Exception {
-		app.start();
-	}
+		// check inserted reference field
+		xField = UnoRuntime.queryInterface(XTextField.class, xNewField);
+		assertEquals("inserted reference field doesn't has correct field result", "J", xField.getPresentation(false));
+		xParaTextRange.getStart().setString("Hallo new bookmark: ");
+		xFldsRefresh.refresh();
+		assertEquals("inserted reference field doesn't has correct field result", "Hallo new bookmark:
J", xField.getPresentation(false));
 
-	@AfterClass
-	public static void tearDownConnection() throws InterruptedException, Exception {
-		app.close();
 	}
 
-	private static final UnoApp app = new UnoApp();
 }

Copied: incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/frame/CheckFrames.java
(from r1374892, incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckFlies.java)
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/frame/CheckFrames.java?p2=incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/frame/CheckFrames.java&p1=incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckFlies.java&r1=1374892&r2=1375390&rev=1375390&view=diff
==============================================================================
--- incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/CheckFlies.java (original)
+++ incubator/ooo/trunk/main/test/testuno/source/testcase/uno/sw/frame/CheckFrames.java Tue
Aug 21 06:17:53 2012
@@ -19,140 +19,70 @@
  * 
  *************************************************************/
 
-package testcase.uno.sw;
+package testcase.uno.sw.frame;
 
-import static org.junit.Assert.*;
-
-import java.util.ArrayList;
-import java.util.Collection;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
 import org.junit.After;
 import org.junit.AfterClass;
 import org.junit.Before;
-import org.junit.BeforeClass;
 import org.junit.Test;
 import org.openoffice.test.common.Testspace;
 import org.openoffice.test.uno.UnoApp;
 
+import com.sun.star.container.NoSuchElementException;
+import com.sun.star.container.XIndexAccess;
+import com.sun.star.container.XNameAccess;
 import com.sun.star.text.XTextDocument;
+import com.sun.star.text.XTextFrame;
+import com.sun.star.text.XTextFramesSupplier;
 import com.sun.star.uno.UnoRuntime;
 
-public class CheckFlies {
-	@Test
-	public void checkFlies() throws Exception {
-		com.sun.star.text.XTextFramesSupplier xTFS = (com.sun.star.text.XTextFramesSupplier) UnoRuntime.queryInterface(
-				com.sun.star.text.XTextFramesSupplier.class, document);
-		checkTextFrames(xTFS);
-		com.sun.star.text.XTextGraphicObjectsSupplier xTGOS = (com.sun.star.text.XTextGraphicObjectsSupplier)
UnoRuntime.queryInterface(
-				com.sun.star.text.XTextGraphicObjectsSupplier.class, document);
-		checkGraphicFrames(xTGOS);
-		com.sun.star.text.XTextEmbeddedObjectsSupplier xTEOS = (com.sun.star.text.XTextEmbeddedObjectsSupplier)
UnoRuntime.queryInterface(
-				com.sun.star.text.XTextEmbeddedObjectsSupplier.class, document);
-		checkEmbeddedFrames(xTEOS);
-	}
+public class CheckFrames {
 
-	private void checkEmbeddedFrames(com.sun.star.text.XTextEmbeddedObjectsSupplier xTGOS) throws
Exception {
-		Collection<String> vExpectedEmbeddedFrames = new ArrayList<String>();
-		vExpectedEmbeddedFrames.add("Object1");
-		int nEmbeddedFrames = vExpectedEmbeddedFrames.size();
-		com.sun.star.container.XNameAccess xEmbeddedFrames = xTGOS.getEmbeddedObjects();
-		for (String sFrameName : xEmbeddedFrames.getElementNames()) {
-			assertTrue("Unexpected frame name", vExpectedEmbeddedFrames.remove(sFrameName));
-			xEmbeddedFrames.getByName(sFrameName);
-			assertTrue("Could not find embedded frame by name.", xEmbeddedFrames.hasByName(sFrameName));
-		}
-		assertTrue("Missing expected embedded frames.", vExpectedEmbeddedFrames.isEmpty());
-		try {
-			xEmbeddedFrames.getByName("Nonexisting embedded frame");
-			fail("Got nonexisting embedded frame");
-		} catch (com.sun.star.container.NoSuchElementException e) {
-		}
-		assertFalse("Has nonexisting embedded frame", xEmbeddedFrames.hasByName("Nonexisting embedded
frame"));
-
-		com.sun.star.container.XIndexAccess xEmbeddedFramesIdx = (com.sun.star.container.XIndexAccess)
UnoRuntime.queryInterface(
-				com.sun.star.container.XIndexAccess.class, xEmbeddedFrames);
-		assertEquals("Unexpected number of embedded frames reported.", nEmbeddedFrames, xEmbeddedFramesIdx.getCount());
-		for (int nCurrentFrameIdx = 0; nCurrentFrameIdx < xEmbeddedFramesIdx.getCount(); nCurrentFrameIdx++)
{
-			xEmbeddedFramesIdx.getByIndex(nCurrentFrameIdx);
-		}
-	}
-
-	private void checkGraphicFrames(com.sun.star.text.XTextGraphicObjectsSupplier xTGOS) throws
Exception {
-		Collection<String> vExpectedGraphicFrames = new ArrayList<String>();
-		vExpectedGraphicFrames.add("graphics1");
-		int nGraphicFrames = vExpectedGraphicFrames.size();
-		com.sun.star.container.XNameAccess xGraphicFrames = xTGOS.getGraphicObjects();
-		for (String sFrameName : xGraphicFrames.getElementNames()) {
-			assertTrue("Unexpected frame name", vExpectedGraphicFrames.remove(sFrameName));
-			xGraphicFrames.getByName(sFrameName);
-			assertTrue("Could not find graphics frame by name.", xGraphicFrames.hasByName(sFrameName));
-		}
-		assertTrue("Missing expected graphics frames.", vExpectedGraphicFrames.isEmpty());
-		try {
-			xGraphicFrames.getByName("Nonexisting graphics frame");
-			fail("Got nonexisting graphics frame");
-		} catch (com.sun.star.container.NoSuchElementException e) {
-		}
-		assertFalse("Has nonexisting graphics frame", xGraphicFrames.hasByName("Nonexisting graphics
frame"));
+	private static final UnoApp app = new UnoApp();
 
-		com.sun.star.container.XIndexAccess xGraphicFramesIdx = (com.sun.star.container.XIndexAccess)
UnoRuntime.queryInterface(
-				com.sun.star.container.XIndexAccess.class, xGraphicFrames);
-		assertEquals("Unexpected number of graphics frames reported.", nGraphicFrames, xGraphicFramesIdx.getCount());
-		for (int nCurrentFrameIdx = 0; nCurrentFrameIdx < xGraphicFramesIdx.getCount(); nCurrentFrameIdx++)
{
-			xGraphicFramesIdx.getByIndex(nCurrentFrameIdx);
-		}
-	}
+	private XTextDocument document = null;
 
-	private void checkTextFrames(com.sun.star.text.XTextFramesSupplier xTFS) throws Exception
{
-		Collection<String> vExpectedTextFrames = new ArrayList<String>();
-		vExpectedTextFrames.add("Frame1");
-		vExpectedTextFrames.add("Frame2");
-
-		int nTextFrames = vExpectedTextFrames.size();
-		com.sun.star.container.XNameAccess xTextFrames = xTFS.getTextFrames();
-		for (String sFrameName : xTextFrames.getElementNames()) {
-			assertTrue("Unexpected frame name", vExpectedTextFrames.remove(sFrameName));
-			xTextFrames.getByName(sFrameName);
-			assertTrue("Could not find text frame by name.", xTextFrames.hasByName(sFrameName));
-		}
-		assertTrue("Missing expected text frames.", vExpectedTextFrames.isEmpty());
-		try {
-			xTextFrames.getByName("Nonexisting Textframe");
-			fail("Got nonexisting text frame.");
-		} catch (com.sun.star.container.NoSuchElementException e) {
-		}
+	@Test(expected = NoSuchElementException.class)
+	public void testLoadTextFrame() throws Exception {
+		document = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.prepareData("testcase/uno/sw/CheckFlies.odt")));
+		XTextFramesSupplier xTFS = UnoRuntime.queryInterface(XTextFramesSupplier.class, document);
+		String[] expectedNames = { "Frame1", "Frame2" };
+		String[] expectedContents = { "PageBoundFrame", "ParaBoundFrame" };
+		XNameAccess xTextFrames = xTFS.getTextFrames();
+		assertArrayEquals("Text frame names", expectedNames, xTextFrames.getElementNames());
+		assertTrue("Has text frame named Frame1", xTextFrames.hasByName(expectedNames[0]));
 		assertFalse("Has nonexisting text frame.", xTextFrames.hasByName("Nonexisting text frame"));
 
-		com.sun.star.container.XIndexAccess xTextFramesIdx = (com.sun.star.container.XIndexAccess)
UnoRuntime.queryInterface(
-				com.sun.star.container.XIndexAccess.class, xTextFrames);
-		assertEquals("Unexpected number of text frames reported.", nTextFrames, xTextFramesIdx.getCount());
-		for (int nCurrentFrameIdx = 0; nCurrentFrameIdx < xTextFramesIdx.getCount(); nCurrentFrameIdx++)
{
-			xTextFramesIdx.getByIndex(nCurrentFrameIdx);
+		XIndexAccess xTextFramesIdx = UnoRuntime.queryInterface(XIndexAccess.class, xTextFrames);
+		assertEquals("Text frame count", expectedNames.length, xTextFramesIdx.getCount());
+		String[] contents = new String[expectedNames.length];
+		for (int i = 0; i < xTextFramesIdx.getCount(); i++) {
+			Object obj = xTextFramesIdx.getByIndex(i);
+			XTextFrame frame = UnoRuntime.queryInterface(XTextFrame.class, obj);
+			contents[i] = frame.getText().getString();
 		}
+		assertArrayEquals("Text frame contents", expectedContents, contents);
+		xTextFrames.getByName("Nonexisting Textframe");
 	}
 
 	@Before
-	public void setUpDocument() throws Exception {
-		document = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.prepareData("testcase/uno/sw/CheckFlies.odt")));
-		  
+	public void setUp() throws Exception {
+		app.start();
 	}
 
 	@After
-	public void tearDownDocument() {
+	public void tearDown() {
 		app.closeDocument(document);
 	}
 
-	private XTextDocument document = null;
-
-	@BeforeClass
-	public static void setUpConnection() throws Exception {
-		app.start();
-	}
-
 	@AfterClass
 	public static void tearDownConnection() throws InterruptedException, Exception {
 		app.close();
 	}
 
-	private static final UnoApp app = new UnoApp();
 }

Copied: incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUtil.java (from r1375388,
incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUnoUtil.java)
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUtil.java?p2=incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUtil.java&p1=incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUnoUtil.java&r1=1375388&r2=1375390&rev=1375390&view=diff
==============================================================================
--- incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUnoUtil.java (original)
+++ incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SDUtil.java Tue Aug 21 06:17:53
2012
@@ -17,14 +17,14 @@ import com.sun.star.uno.UnoRuntime;
  * 
  *
  */
-public class SDUnoUtil {
+public class SDUtil {
 
 	/**
 	 * @throws WrappedTargetException 
 	 * @throws  
 	 * @throws java.lang.Exception
 	 */
-	public SDUnoUtil(){
+	public SDUtil(){
 		
 	}
 		

Added: incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SWUtil.java
URL: http://svn.apache.org/viewvc/incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SWUtil.java?rev=1375390&view=auto
==============================================================================
--- incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SWUtil.java (added)
+++ incubator/ooo/trunk/main/test/testuno/source/testlib/uno/SWUtil.java Tue Aug 21 06:17:53
2012
@@ -0,0 +1,60 @@
+package testlib.uno;
+
+import org.openoffice.test.uno.UnoApp;
+
+import com.sun.star.beans.PropertyValue;
+import com.sun.star.container.XNameAccess;
+import com.sun.star.container.XNamed;
+import com.sun.star.frame.XStorable;
+import com.sun.star.lang.XMultiServiceFactory;
+import com.sun.star.text.XBookmarksSupplier;
+import com.sun.star.text.XTextContent;
+import com.sun.star.text.XTextCursor;
+import com.sun.star.text.XTextDocument;
+import com.sun.star.uno.UnoRuntime;
+
+public class SWUtil {
+	
+	private static final UnoApp app = new UnoApp();
+	public static void saveAsDoc(XTextDocument document, String url) throws Exception {
+		saveAs(document, "MS Word 97", url);
+		
+	}
+
+	public static void saveAsODT(XTextDocument document, String url) throws Exception {
+		saveAs(document, "writer8", url);
+	}
+	
+	public static void saveAs(XTextDocument document, String filterValue, String url) throws
Exception {
+		XStorable store = UnoRuntime.queryInterface(XStorable.class, document);
+		
+		PropertyValue[] propsValue = new PropertyValue[1];
+		propsValue[0] = new PropertyValue();
+		propsValue[0].Name = "FilterName";
+		propsValue[0].Value = filterValue;
+		store.storeAsURL(url, propsValue);
+		
+	}
+	
+	public static XTextDocument newDocument() throws Exception {
+		return (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));
+		
+	}
+	
+	/**
+	 * Insert a bookmark into text document
+	 * @param document text document
+	 * @param textCursor which part will be bookmarked
+	 * @param bookmarkName bookmark name
+	 * @throws Exception
+	 */
+	public static void insertBookmark(XTextDocument document, XTextCursor textCursor, String
bookmarkName) throws Exception {
+		XMultiServiceFactory xDocFactory = (XMultiServiceFactory) UnoRuntime.queryInterface(XMultiServiceFactory.class,
document);
+		Object xBookmark = xDocFactory.createInstance("com.sun.star.text.Bookmark");
+		XTextContent xBookmarkAsTextContent = (XTextContent) UnoRuntime.queryInterface(XTextContent.class,
xBookmark);
+		XNamed xBookmarkAsNamed = (XNamed) UnoRuntime.queryInterface(XNamed.class, xBookmark);
+		xBookmarkAsNamed.setName(bookmarkName);
+		document.getText().insertTextContent(textCursor, xBookmarkAsTextContent, true);
+	}
+
+}



Mime
View raw message