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