xref: /trunk/test/testuno/source/fvt/uno/sw/puretext/CharacterFontname.java (revision a7b613a6af1cb6c17f72fb50272cb23f0021e01b)
1 package fvt.uno.sw.puretext;
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 CharacterFontname {
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     @Test
31     public void testCharacterFontSetting() throws Exception {
32         XTextDocument xTextDocument = (XTextDocument) UnoRuntime.queryInterface(XTextDocument.class, app.newDocument("swriter"));// new a text document
33         xText = xTextDocument.getText();
34         xText.setString("We are Chinese,they are American. We are all living in one earth!"
35                 + "and we all love our home very much!!!We are Chinese,they are American. " +
36                 "We are all living in one earth!We are Chinese,they are American. " +
37                 "We are all living in one earth!We are Chinese,they are American. " +
38                 "We are all living in one earth!We are Chinese,they are American. " +
39                 "We are all living in one earth!We are Chinese,they are American. " +
40                 "We are all living in one earth!We are Chinese,they are American." +
41                 " We are all living in one earth!We are Chinese,they are American. " +
42                 "We are all living in one earth!We are Chinese,they are American. " +
43                 "We are all living in one earth!We are Chinese,they are American. " +
44                 "We are all living in one earth!We are Chinese,they are American. " +
45                 "We are all living in one earth!We are Chinese,they are American. " +
46                 "We are all living in one earth!We are Chinese,they are American. " +
47                 "We are all living in one earth!We are Chinese,they are American. " +
48                 "We are all living in one earth!We are Chinese,they are American. " +
49                 "We are all living in one earth!We are Chinese,they are American. " +
50                 "We are all living in one earth!We are Chinese,they are American. " +
51                 "We are all living in one earth!We are Chinese,they are American. " +
52                 "We are all living in one earth!We are Chinese,they are American. " +
53                 "We are all living in one earth!We are all living in one earth!We are Chinese,they are American. " +
54                 "We are all living in one earth!We are all living in one earth!We are Chinese,they are American. " +
55                 "We are all living in one earth!We are all living in one earth!We are Chinese,they are American. " +
56                 "We are all living in one earth!We are all living in one earth!We are Chinese,they are American. " +
57                 "We are all living in one earth!We are all living in one earth!We are Chinese,they are American. " +
58                 "We are all living in one earth!We are all living in one earth!We are Chinese,they are American. " +
59                 "We are all living in one earth!");
60         // create text cursor for selecting and formatting text
61         XTextCursor xTextCursor = xText.createTextCursor();
62         XPropertySet xCursorProps = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor);
63         xTextCursor.gotoStart(false);
64         xTextCursor.goRight((short) 100, true);
65         xCursorProps.setPropertyValue("CharFontName", "Times New Roman");
66         xTextCursor.gotoRange(xTextCursor, false);
67         xTextCursor.goRight((short) 100, true);
68         xCursorProps.setPropertyValue("CharFontName", "Arial Black");
69         xTextCursor.gotoRange(xTextCursor, false);
70         xTextCursor.goRight((short) 100, true);
71         xCursorProps.setPropertyValue("CharFontName", "Aharoni");
72         xTextCursor.gotoRange(xTextCursor, false);
73         xTextCursor.goRight((short) 100, true);
74         xCursorProps.setPropertyValue("CharFontName", "Agency FB");
75         xTextCursor.gotoRange(xTextCursor, false);
76         xTextCursor.goRight((short) 100, true);
77         xCursorProps.setPropertyValue("CharFontName", "Algerian");
78         xTextCursor.gotoRange(xTextCursor, false);
79         xTextCursor.goRight((short) 100, true);
80         xCursorProps.setPropertyValue("CharFontName", "Andalus");
81         xTextCursor.gotoRange(xTextCursor, false);
82         xTextCursor.goRight((short) 100, true);
83         xCursorProps.setPropertyValue("CharFontName", "Bodoni MT Black");
84         xTextCursor.gotoRange(xTextCursor, false);
85         xTextCursor.goRight((short) 100, true);
86         xCursorProps.setPropertyValue("CharFontName", "BatangChe");
87         xTextCursor.gotoRange(xTextCursor, false);
88         xTextCursor.goRight((short) 100, true);
89         xCursorProps.setPropertyValue("CharFontName", "Britannic Bold");
90         xTextCursor.gotoRange(xTextCursor, false);
91         xTextCursor.goRight((short) 100, true);
92         xCursorProps.setPropertyValue("CharFontName", "Cooper Black");
93         xTextCursor.gotoRange(xTextCursor, false);
94         xTextCursor.goRight((short) 100, true);
95         xCursorProps.setPropertyValue("CharFontName", "DaunPenh");
96         xTextCursor.gotoRange(xTextCursor, false);
97         xTextCursor.goRight((short) 100, true);
98         xCursorProps.setPropertyValue("CharFontName", "Estrangelo Edessa");
99         xTextCursor.gotoRange(xTextCursor, false);
100         xTextCursor.goRight((short) 100, true);
101         xCursorProps.setPropertyValue("CharFontName", "Wingdings");
102         xTextCursor.gotoRange(xTextCursor, false);
103         xTextCursor.goRight((short) 100, true);
104         xCursorProps.setPropertyValue("CharFontName", "Rage Italic");
105         xTextCursor.gotoRange(xTextCursor, false);
106         xTextCursor.goRight((short) 100, true);
107         xCursorProps.setPropertyValue("CharFontName", "Symbol");
108         xTextCursor.gotoRange(xTextCursor, false);
109         xTextCursor.goRight((short) 100, true);
110         xCursorProps.setPropertyValue("CharFontName", "Tw Cen MT Condensed Extra Bold");
111         xTextCursor.gotoRange(xTextCursor, false);
112         xTextCursor.goRight((short) 100, true);
113         xCursorProps.setPropertyValue("CharFontName", "Vivaldi");
114         xTextCursor.gotoRange(xTextCursor, false);
115         xTextCursor.goRight((short) 100, true);
116         xCursorProps.setPropertyValue("CharFontName", "SimSun");
117         xTextCursor.gotoRange(xTextCursor, false);
118         xTextCursor.goRight((short) 100, true);
119         xCursorProps.setPropertyValue("CharFontName", "Lucida Bright");
120         //save to odt
121         XStorable xStorable_odt = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
122         PropertyValue[] aStoreProperties_odt = new PropertyValue[2];
123         aStoreProperties_odt[0] = new PropertyValue();
124         aStoreProperties_odt[1] = new PropertyValue();
125         aStoreProperties_odt[0].Name = "Override";
126         aStoreProperties_odt[0].Value = true;
127         aStoreProperties_odt[1].Name = "FilterName";
128         aStoreProperties_odt[1].Value = "StarOffice XML (Writer)";
129         xStorable_odt.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.odt")), aStoreProperties_odt);
130         //save to doc
131         XStorable xStorable_doc = (XStorable) UnoRuntime.queryInterface(XStorable.class, xTextDocument);
132         PropertyValue[] aStoreProperties_doc = new PropertyValue[2];
133         aStoreProperties_doc[0] = new PropertyValue();
134         aStoreProperties_doc[1] = new PropertyValue();
135         aStoreProperties_doc[0].Name = "Override";
136         aStoreProperties_doc[0].Value = true;
137         aStoreProperties_doc[1].Name = "FilterName";
138         aStoreProperties_doc[1].Value = "MS Word 97";
139         xStorable_doc.storeToURL(FileUtil.getUrl(Testspace.getPath("output/test.doc")), aStoreProperties_doc);
140         app.closeDocument(xTextDocument);
141 
142         //reopen the document and assert font style
143         XTextDocument assertDocument=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
144         XTextCursor xTextCursor_assert = assertDocument.getText().createTextCursor();
145         XPropertySet xCursorProps_assert = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor_assert);
146 
147         xTextCursor_assert.gotoStart(false);
148         xTextCursor_assert.goRight((short) 100, true);
149         assertEquals("Times New Roman",xCursorProps_assert.getPropertyValue("CharFontName"));
150         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
151         xTextCursor_assert.goRight((short) 100, true);
152         assertEquals("Arial Black",xCursorProps_assert.getPropertyValue("CharFontName"));
153         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
154         xTextCursor_assert.goRight((short) 100, true);
155         assertEquals("Aharoni",xCursorProps_assert.getPropertyValue("CharFontName"));
156         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
157         xTextCursor_assert.goRight((short) 100, true);
158         assertEquals("Agency FB",xCursorProps_assert.getPropertyValue("CharFontName"));
159         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
160         xTextCursor_assert.goRight((short) 100, true);
161         assertEquals("Algerian",xCursorProps_assert.getPropertyValue("CharFontName"));
162         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
163         xTextCursor_assert.goRight((short) 100, true);
164         assertEquals("Andalus",xCursorProps_assert.getPropertyValue("CharFontName"));
165         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
166         xTextCursor_assert.goRight((short) 100, true);
167         assertEquals("Bodoni MT Black",xCursorProps_assert.getPropertyValue("CharFontName"));
168         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
169         xTextCursor_assert.goRight((short) 100, true);
170         assertEquals("BatangChe",xCursorProps_assert.getPropertyValue("CharFontName"));
171         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
172         xTextCursor_assert.goRight((short) 100, true);
173         assertEquals("Britannic Bold",xCursorProps_assert.getPropertyValue("CharFontName"));
174         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
175         xTextCursor_assert.goRight((short) 100, true);
176         assertEquals("Cooper Black",xCursorProps_assert.getPropertyValue("CharFontName"));
177         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
178         xTextCursor_assert.goRight((short) 100, true);
179         assertEquals("DaunPenh",xCursorProps_assert.getPropertyValue("CharFontName"));
180         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
181         xTextCursor_assert.goRight((short) 100, true);
182         assertEquals("Estrangelo Edessa",xCursorProps_assert.getPropertyValue("CharFontName"));
183         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
184         xTextCursor_assert.goRight((short) 100, true);
185         assertEquals("Wingdings",xCursorProps_assert.getPropertyValue("CharFontName"));
186         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
187         xTextCursor_assert.goRight((short) 100, true);
188         assertEquals("Rage Italic",xCursorProps_assert.getPropertyValue("CharFontName"));
189         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
190         xTextCursor_assert.goRight((short) 100, true);
191         assertEquals("Symbol",xCursorProps_assert.getPropertyValue("CharFontName"));
192         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
193         xTextCursor_assert.goRight((short) 100, true);
194         assertEquals("Tw Cen MT Condensed Extra Bold",xCursorProps_assert.getPropertyValue("CharFontName"));
195         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
196         xTextCursor_assert.goRight((short) 100, true);
197         assertEquals("Vivaldi",xCursorProps_assert.getPropertyValue("CharFontName"));
198         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
199         xTextCursor_assert.goRight((short) 100, true);
200         assertEquals("SimSun",xCursorProps_assert.getPropertyValue("CharFontName"));
201         xTextCursor_assert.gotoRange(xTextCursor_assert, false);
202         xTextCursor_assert.goRight((short) 100, true);
203         assertEquals("Lucida Bright",xCursorProps_assert.getPropertyValue("CharFontName"));
204 
205         //reopen the document and assert font style
206         XTextDocument assertDocument_doc=(XTextDocument)UnoRuntime.queryInterface(XTextDocument.class, app.loadDocument(Testspace.getPath("output/test.odt")));
207         XTextCursor xTextCursor_assert_doc = assertDocument_doc.getText().createTextCursor();
208         XPropertySet xCursorProps_assert_doc = (XPropertySet) UnoRuntime.queryInterface(XPropertySet.class, xTextCursor_assert_doc);
209 
210         xTextCursor_assert_doc.gotoStart(false);
211         xTextCursor_assert_doc.goRight((short) 100, true);
212         assertEquals("Times New Roman",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
213         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
214         xTextCursor_assert_doc.goRight((short) 100, true);
215         assertEquals("Arial Black",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
216         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
217         xTextCursor_assert_doc.goRight((short) 100, true);
218         assertEquals("Aharoni",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
219         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
220         xTextCursor_assert_doc.goRight((short) 100, true);
221         assertEquals("Agency FB",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
222         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
223         xTextCursor_assert_doc.goRight((short) 100, true);
224         assertEquals("Algerian",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
225         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
226         xTextCursor_assert_doc.goRight((short) 100, true);
227         assertEquals("Andalus",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
228         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
229         xTextCursor_assert_doc.goRight((short) 100, true);
230         assertEquals("Bodoni MT Black",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
231         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
232         xTextCursor_assert_doc.goRight((short) 100, true);
233         assertEquals("BatangChe",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
234         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
235         xTextCursor_assert_doc.goRight((short) 100, true);
236         assertEquals("Britannic Bold",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
237         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
238         xTextCursor_assert_doc.goRight((short) 100, true);
239         assertEquals("Cooper Black",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
240         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
241         xTextCursor_assert_doc.goRight((short) 100, true);
242         assertEquals("DaunPenh",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
243         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
244         xTextCursor_assert_doc.goRight((short) 100, true);
245         assertEquals("Estrangelo Edessa",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
246         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
247         xTextCursor_assert_doc.goRight((short) 100, true);
248         assertEquals("Wingdings",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
249         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
250         xTextCursor_assert_doc.goRight((short) 100, true);
251         assertEquals("Rage Italic",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
252         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
253         xTextCursor_assert_doc.goRight((short) 100, true);
254         assertEquals("Symbol",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
255         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
256         xTextCursor_assert_doc.goRight((short) 100, true);
257         assertEquals("Tw Cen MT Condensed Extra Bold",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
258         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
259         xTextCursor_assert_doc.goRight((short) 100, true);
260         assertEquals("Vivaldi",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
261         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
262         xTextCursor_assert_doc.goRight((short) 100, true);
263         assertEquals("SimSun",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
264         xTextCursor_assert_doc.gotoRange(xTextCursor_assert_doc, false);
265         xTextCursor_assert_doc.goRight((short) 100, true);
266         assertEquals("Lucida Bright",xCursorProps_assert_doc.getPropertyValue("CharFontName"));
267     }
268 }
269