xref: /AOO41X/test/testuno/source/fvt/uno/sw/paragraph/ParagraphTexttoTextAlignment.java (revision dd517d763d1590106211e60c61ad7d6551aa7b11)
1 package fvt.uno.sw.paragraph;
2 
3 import static org.junit.Assert.*;
4 
5 import org.junit.After;
6 import org.junit.Before;
7 import org.junit.Test;
8 import org.openoffice.test.common.FileUtil;
9 import org.openoffice.test.common.Testspace;
10 import org.openoffice.test.uno.UnoApp;
11 import com.sun.star.text.*;
12 import com.sun.star.beans.*;
13 import com.sun.star.frame.XStorable;
14 import com.sun.star.uno.UnoRuntime;
15 
16 public class ParagraphTexttoTextAlignment {
17     private static final UnoApp app = new UnoApp();
18     XText xText = null;
19 
20     @Before
21     public void setUp() throws Exception {
22         app.start();
23 
24     }
25 
26     @After
27     public void tearDown() throws Exception {
28         app.close();
29     }
30     /*
31      * test paragraph background color
32      * 1.new a text document
33      * 2.insert some text
34      * 3.set paragraph text to text alignment
35      * 4.save and close the document
36      * 5.reload the saved document and check the paragraph text to text alignment
37      */
38     @Test
39     public void testTexttoTextAlignment_Baseline() throws Exception {
40 
41         XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
42         xText = xTextDocument.getText();
43         xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
44                 "Hello,world!Hello,world!");
45         // create text cursor for selecting and formatting text
46         XTextCursor xTextCursor = xText.createTextCursor();
47         XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
48         xCursorProps.setPropertyValue("ParaVertAlignment",ParagraphVertAlign.BASELINE);
49         //save to odt
50         XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
51         PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
52         aStoreProperties_odt[0] = new PropertyValue();
53         aStoreProperties_odt[1] = new PropertyValue();
54         aStoreProperties_odt[0].Name = "Override";
55         aStoreProperties_odt[0].Value = true;
56         aStoreProperties_odt[1].Name = "FilterName";
57         aStoreProperties_odt[1].Value = "StarOffice XML (Writer)";
58         xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
59         //save to doc
60         XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
61         PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
62         aStoreProperties_doc[0] = new PropertyValue();
63         aStoreProperties_doc[1] = new PropertyValue();
64         aStoreProperties_doc[0].Name = "Override";
65         aStoreProperties_doc[0].Value = true;
66         aStoreProperties_doc[1].Name = "FilterName";
67         aStoreProperties_doc[1].Value = "MS Word 97";
68         xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
69         app.closeDocument(xTextDocument);
70 
71         //reopen the document
72         XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
73         XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
74         //verify paragraph text to text alignment
75         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.BASELINE,xCursorProps_Assert_odt.getPropertyValue("ParaVertAlignment"));
76 
77         //reopen the document
78         XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
79         XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
80         //verify paragraph text to text alignment
81         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.BASELINE,xCursorProps_Assert_doc.getPropertyValue("ParaVertAlignment"));
82     }
83     @Test
84     public void testTexttoTextAlignment_Bottom() throws Exception {
85 
86         XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
87         xText = xTextDocument.getText();
88         xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
89                 "Hello,world!Hello,world!");
90         // create text cursor for selecting and formatting text
91         XTextCursor xTextCursor = xText.createTextCursor();
92         XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
93         xCursorProps.setPropertyValue("ParaVertAlignment",ParagraphVertAlign.BOTTOM);
94         //save to odt
95         XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
96         PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
97         aStoreProperties_odt[0] = new PropertyValue();
98         aStoreProperties_odt[1] = new PropertyValue();
99         aStoreProperties_odt[0].Name = "Override";
100         aStoreProperties_odt[0].Value = true;
101         aStoreProperties_odt[1].Name = "FilterName";
102         aStoreProperties_odt[1].Value = "StarOffice XML (Writer)";
103         xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
104         //save to doc
105         XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
106         PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
107         aStoreProperties_doc[0] = new PropertyValue();
108         aStoreProperties_doc[1] = new PropertyValue();
109         aStoreProperties_doc[0].Name = "Override";
110         aStoreProperties_doc[0].Value = true;
111         aStoreProperties_doc[1].Name = "FilterName";
112         aStoreProperties_doc[1].Value = "MS Word 97";
113         xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
114         app.closeDocument(xTextDocument);
115 
116         //reopen the document
117         XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
118         XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
119         //verify paragraph text to text alignment
120         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.BOTTOM,xCursorProps_Assert_odt.getPropertyValue("ParaVertAlignment"));
121 
122         //reopen the document
123         XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
124         XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
125         //verify paragraph text to text alignment
126         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.BOTTOM,xCursorProps_Assert_doc.getPropertyValue("ParaVertAlignment"));
127     }
128     @Test
129     public void testTexttoTextAlignment_Center() throws Exception {
130 
131         XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
132         xText = xTextDocument.getText();
133         xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
134                 "Hello,world!Hello,world!");
135         // create text cursor for selecting and formatting text
136         XTextCursor xTextCursor = xText.createTextCursor();
137         XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
138         xCursorProps.setPropertyValue("ParaVertAlignment",ParagraphVertAlign.CENTER);
139         //save to odt
140         XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
141         PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
142         aStoreProperties_odt[0] = new PropertyValue();
143         aStoreProperties_odt[1] = new PropertyValue();
144         aStoreProperties_odt[0].Name = "Override";
145         aStoreProperties_odt[0].Value = true;
146         aStoreProperties_odt[1].Name = "FilterName";
147         aStoreProperties_odt[1].Value = "StarOffice XML (Writer)";
148         xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
149         //save to doc
150         XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
151         PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
152         aStoreProperties_doc[0] = new PropertyValue();
153         aStoreProperties_doc[1] = new PropertyValue();
154         aStoreProperties_doc[0].Name = "Override";
155         aStoreProperties_doc[0].Value = true;
156         aStoreProperties_doc[1].Name = "FilterName";
157         aStoreProperties_doc[1].Value = "MS Word 97";
158         xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
159         app.closeDocument(xTextDocument);
160 
161         //reopen the document
162         XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
163         XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
164         //verify paragraph text to text alignment
165         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.CENTER,xCursorProps_Assert_odt.getPropertyValue("ParaVertAlignment"));
166 
167         //reopen the document
168         XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
169         XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
170         //verify paragraph text to text alignment
171         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.CENTER,xCursorProps_Assert_doc.getPropertyValue("ParaVertAlignment"));
172     }
173     @Test
174     public void testTexttoTextAlignment_Top() throws Exception {
175 
176         XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
177         xText = xTextDocument.getText();
178         xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
179                 "Hello,world!Hello,world!");
180         // create text cursor for selecting and formatting text
181         XTextCursor xTextCursor = xText.createTextCursor();
182         XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
183         xCursorProps.setPropertyValue("ParaVertAlignment",ParagraphVertAlign.TOP);
184         //save to odt
185         XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
186         PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
187         aStoreProperties_odt[0] = new PropertyValue();
188         aStoreProperties_odt[1] = new PropertyValue();
189         aStoreProperties_odt[0].Name = "Override";
190         aStoreProperties_odt[0].Value = true;
191         aStoreProperties_odt[1].Name = "FilterName";
192         aStoreProperties_odt[1].Value = "StarOffice XML (Writer)";
193         xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
194         //save to doc
195         XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
196         PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
197         aStoreProperties_doc[0] = new PropertyValue();
198         aStoreProperties_doc[1] = new PropertyValue();
199         aStoreProperties_doc[0].Name = "Override";
200         aStoreProperties_doc[0].Value = true;
201         aStoreProperties_doc[1].Name = "FilterName";
202         aStoreProperties_doc[1].Value = "MS Word 97";
203         xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
204         app.closeDocument(xTextDocument);
205 
206         //reopen the document
207         XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
208         XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
209         //verify paragraph text to text alignment
210         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.TOP,xCursorProps_Assert_odt.getPropertyValue("ParaVertAlignment"));
211 
212         //reopen the document
213         XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
214         XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
215         //verify paragraph text to text alignment
216         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.TOP,xCursorProps_Assert_doc.getPropertyValue("ParaVertAlignment"));
217     }
218     @Test
219     public void testTexttoTextAlignment_Automatic() throws Exception {
220 
221         XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
222         xText = xTextDocument.getText();
223         xText.setString("we are Chinese,they are American.we are all living in one earth!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!Hello,world!" +
224                 "Hello,world!Hello,world!");
225         // create text cursor for selecting and formatting text
226         XTextCursor xTextCursor = xText.createTextCursor();
227         XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
228         xCursorProps.setPropertyValue("ParaVertAlignment",ParagraphVertAlign.AUTOMATIC);
229         //save to odt
230         XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
231         PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
232         aStoreProperties_odt[0] = new PropertyValue();
233         aStoreProperties_odt[1] = new PropertyValue();
234         aStoreProperties_odt[0].Name = "Override";
235         aStoreProperties_odt[0].Value = true;
236         aStoreProperties_odt[1].Name = "FilterName";
237         aStoreProperties_odt[1].Value = "StarOffice XML (Writer)";
238         xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
239         //save to doc
240         XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
241         PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
242         aStoreProperties_doc[0] = new PropertyValue();
243         aStoreProperties_doc[1] = new PropertyValue();
244         aStoreProperties_doc[0].Name = "Override";
245         aStoreProperties_doc[0].Value = true;
246         aStoreProperties_doc[1].Name = "FilterName";
247         aStoreProperties_doc[1].Value = "MS Word 97";
248         xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
249         app.closeDocument(xTextDocument);
250 
251         //reopen the document
252         XTextDocument assertDocument_odt=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
253         XPropertySet xCursorProps_Assert_odt = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_odt.getText().createTextCursor());
254         //verify paragraph text to text alignment
255         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.AUTOMATIC,xCursorProps_Assert_odt.getPropertyValue("ParaVertAlignment"));
256 
257         //reopen the document
258         XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.doc")));
259         XPropertySet xCursorProps_Assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, assertDocument_doc.getText().createTextCursor());
260         //verify paragraph text to text alignment
261         assertEquals("assert paragraph text to text alignment",ParagraphVertAlign.AUTOMATIC,xCursorProps_Assert_doc.getPropertyValue("ParaVertAlignment"));
262     }
263 }
264