1 package fvt.uno.sw.frame; 2 3 import static org.junit.Assert.*; 4 5 import java.util.Arrays; 6 import java.util.Collection; 7 8 import org.junit.After; 9 import org.junit.AfterClass; 10 import org.junit.Before; 11 import org.junit.Test; 12 import org.junit.runner.RunWith; 13 import org.junit.runners.Parameterized; 14 import org.junit.runners.Parameterized.Parameters; 15 import org.openoffice.test.common.Testspace; 16 import org.openoffice.test.uno.UnoApp; 17 18 import testlib.uno.SWUtil; 19 20 import com.sun.star.beans.XPropertySet; 21 import com.sun.star.container.XNameAccess; 22 import com.sun.star.lang.XMultiServiceFactory; 23 import com.sun.star.text.WrapTextMode; 24 import com.sun.star.text.XText; 25 import com.sun.star.text.XTextCursor; 26 import com.sun.star.text.XTextDocument; 27 import com.sun.star.text.XTextFrame; 28 import com.sun.star.text.XTextFramesSupplier; 29 import com.sun.star.uno.UnoRuntime; 30 @RunWith(value = Parameterized.class) 31 public class FrameWrapType { 32 private static final UnoApp app = new UnoApp(); 33 private XTextDocument xTextDocument=null; 34 private XMultiServiceFactory xWriterFactory=null; 35 private XText xText=null; 36 private int FrameWrapType; 37 public FrameWrapType(int FrameWrapType){ 38 this.FrameWrapType=FrameWrapType; 39 } 40 /* 41 * 0:NONE 42 * 1:THROUGHT 43 * 2:PARALLEL 44 * 3:DYNAMIC 45 * 4:LEFT 46 * 5:RIGHT 47 */ 48 @Parameters 49 public static Collection<Object[]> data(){ 50 Object[][] params = new Object[][]{ 51 {0},{1},{2},{3},{4},{5}, 52 }; 53 return Arrays.asList(params); 54 } 55 @Before 56 public void setUp() throws Exception { 57 app.start(); 58 } 59 60 @After 61 public void tearDown() throws Exception { 62 app.close(); 63 } 64 65 @Test 66 public void testFrameAnchorType() throws Exception { 67 xTextDocument =(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter")); 68 xText=xTextDocument.getText(); 69 XTextCursor xTextCursor = xText.createTextCursor(); 70 // get internal service factory of the document 71 xWriterFactory =(XMultiServiceFactory)UnoRuntime.queryInterface(XMultiServiceFactory.class, xTextDocument); 72 // Create a new table from the document's factory 73 XTextFrame xTextFrame1 = (XTextFrame)UnoRuntime.queryInterface(XTextFrame.class, xWriterFactory.createInstance("com.sun.star.text.TextFrame")); 74 xText.insertTextContent(xTextCursor,xTextFrame1,false); 75 XPropertySet xTextFrameProps1 = (XPropertySet)UnoRuntime.queryInterface(XPropertySet.class, xTextFrame1); 76 xTextFrameProps1.setPropertyValue("Surround",FrameWrapType); 77 //reopen the document 78 XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, SWUtil.saveTo_Override_reload(xTextDocument,"writer8", Testspace.getPath("output/test.odt"),app)); 79 XTextFramesSupplier xTFS_odt = (XTextFramesSupplier) UnoRuntime.queryInterface(XTextFramesSupplier.class, assertDocument_odt); 80 XNameAccess xTextFrames_odt = xTFS_odt.getTextFrames(); 81 XTextFrame xTextFrame_Assert1=(XTextFrame) UnoRuntime.queryInterface(XTextFrame.class, xTextFrames_odt.getByName("Frame1")); 82 XPropertySet xTextFrameProps_assert1 = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextFrame_Assert1); 83 WrapTextMode surrond=(WrapTextMode)UnoRuntime.queryInterface(WrapTextMode.class,xTextFrameProps_assert1.getPropertyValue("Surround")); 84 assertEquals("assert frame wrap type",FrameWrapType,surrond.getValue()); 85 } 86 } 87