bump product version to 4.2.0.1
[LibreOffice.git] / qadevOOo / tests / java / ifc / configuration / backend / _XLayerHandler.java
blob45deb0a4a19df7a93247cc94bb525ec463050088
1 /*
2 * This file is part of the LibreOffice project.
4 * This Source Code Form is subject to the terms of the Mozilla Public
5 * License, v. 2.0. If a copy of the MPL was not distributed with this
6 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 * This file incorporates work covered by the following license notice:
10 * Licensed to the Apache Software Foundation (ASF) under one or more
11 * contributor license agreements. See the NOTICE file distributed
12 * with this work for additional information regarding copyright
13 * ownership. The ASF licenses this file to you under the Apache
14 * License, Version 2.0 (the "License"); you may not use this file
15 * except in compliance with the License. You may obtain a copy of
16 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 package ifc.configuration.backend;
20 import com.sun.star.configuration.backend.XLayer;
21 import com.sun.star.configuration.backend.XLayerHandler;
22 import com.sun.star.io.XActiveDataSink;
23 import com.sun.star.io.XInputStream;
24 import com.sun.star.lang.XMultiServiceFactory;
25 import com.sun.star.ucb.XSimpleFileAccess;
26 import com.sun.star.uno.Type;
27 import com.sun.star.uno.UnoRuntime;
29 import lib.MultiMethodTest;
31 import util.XLayerHandlerImpl;
34 public class _XLayerHandler extends MultiMethodTest {
35 public XLayerHandler oObj = null;
37 /** this method contains the logic for all test methods
38 * the others will be passed OK if this one is
40 public void _endLayer() {
41 boolean res = false;
43 try {
44 oObj.startLayer();
45 oObj.overrideNode("org.openoffice.Setup", (short) 0, false);
46 oObj.overrideNode("Office", (short) 0, false);
47 oObj.overrideProperty("ooSetupInstCompleted", (short) 0,
48 new Type(java.lang.String.class), false);
49 oObj.setPropertyValue(new Boolean(false));
50 oObj.endProperty();
51 oObj.overrideNode("Factories", (short) 0, false);
52 oObj.addOrReplaceNode("com.sun.star.chart.ChartDocument",
53 (short) 0);
54 oObj.overrideProperty("ooSetupFactoryEmptyDocumentURL", (short) 0,
55 new Type(java.lang.String.class), false);
56 oObj.setPropertyValue("private:factory/schart");
57 oObj.endProperty();
58 oObj.overrideProperty("ooSetupFactoryIcon", (short) 0,
59 new Type(java.lang.Long.class), false);
60 oObj.setPropertyValue(new Integer(13));
61 oObj.endProperty();
62 oObj.overrideProperty("ooSetupFactoryShortName", (short) 0,
63 new Type(java.lang.String.class), false);
64 oObj.setPropertyValue("schart");
65 oObj.setPropertyValueForLocale("TemplateFile", "en-US");
66 oObj.endProperty();
67 oObj.overrideProperty("ooSetupFactoryTemplateFile", (short) 0,
68 new Type(java.lang.String.class), false);
69 oObj.setPropertyValue("empty");
70 oObj.endProperty();
71 oObj.addProperty("ooSetupFactoryTemplateFile", (short) 0,
72 new Type(java.lang.String.class));
73 oObj.addPropertyWithValue("ooSetupFactoryTemplateFile", (short) 0,
74 "TemplateFile");
75 oObj.endNode();
77 oObj.addOrReplaceNode("dropme", (short) 0);
78 oObj.overrideProperty("anyway", (short) 0,
79 new Type(java.lang.String.class), false);
80 oObj.setPropertyValue("nice");
81 oObj.endProperty();
82 oObj.dropNode("dropme");
83 oObj.endNode();
85 oObj.addOrReplaceNodeFromTemplate("FromTemplate",
86 new com.sun.star.configuration.backend.TemplateIdentifier(
87 "org.openoffice.Setup",
88 "Setup"), (short) 0);
89 oObj.endNode();
91 oObj.endNode();
92 oObj.endNode();
93 oObj.endNode();
94 oObj.endLayer();
96 Object LayerParser = ((XMultiServiceFactory) tParam.getMSF()).createInstance(
97 "com.sun.star.comp.configuration.backend.xml.LayerParser");
99 XActiveDataSink xSink = UnoRuntime.queryInterface(
100 XActiveDataSink.class, LayerParser);
101 Object fileacc = ((XMultiServiceFactory) tParam.getMSF()).createInstance(
102 "com.sun.star.comp.ucb.SimpleFileAccess");
103 XSimpleFileAccess simpleAccess = UnoRuntime.queryInterface(
104 XSimpleFileAccess.class,
105 fileacc);
107 String filename = util.utils.getOfficeTemp(
108 (XMultiServiceFactory) tParam.getMSF()) +
109 "LayerWriter.xcu";
110 log.println("Going to parse: " + filename);
112 XInputStream xStream = simpleAccess.openFileRead(filename);
114 xSink.setInputStream(xStream);
116 XLayer xLayer = UnoRuntime.queryInterface(XLayer.class,
117 LayerParser);
119 XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl();
121 xLayer.readData(xLayerHandler);
123 res = xLayerHandler.getCalls().equals(getExpected());
125 if (!res) {
126 log.println("#### Getting: ");
127 log.println(xLayerHandler.getCalls());
128 log.println("#### Expected: ");
129 log.println(getExpected());
131 } catch (com.sun.star.configuration.backend.MalformedDataException e) {
132 log.println("Unexpected Exception " + e);
133 } catch (com.sun.star.lang.WrappedTargetException e) {
134 log.println("Unexpected Exception " + e);
135 } catch (com.sun.star.uno.Exception e) {
136 log.println("Unexpected Exception " + e);
139 tRes.tested("endLayer()", res);
142 public void _addOrReplaceNode() {
143 requiredMethod("endLayer()");
144 tRes.tested("addOrReplaceNode()", true);
147 public void _addOrReplaceNodeFromTemplate() {
148 requiredMethod("endLayer()");
149 tRes.tested("addOrReplaceNodeFromTemplate()", true);
152 public void _addProperty() {
153 requiredMethod("endLayer()");
154 tRes.tested("addProperty()", true);
157 public void _addPropertyWithValue() {
158 requiredMethod("endLayer()");
159 tRes.tested("addPropertyWithValue()", true);
162 public void _dropNode() {
163 requiredMethod("endLayer()");
164 tRes.tested("dropNode()", true);
167 public void _endNode() {
168 requiredMethod("endLayer()");
169 tRes.tested("endNode()", true);
172 public void _endProperty() {
173 requiredMethod("endLayer()");
174 tRes.tested("endProperty()", true);
177 public void _overrideNode() {
178 requiredMethod("endLayer()");
179 tRes.tested("overrideNode()", true);
182 public void _overrideProperty() {
183 requiredMethod("endLayer()");
184 tRes.tested("overrideProperty()", true);
187 public void _setPropertyValue() {
188 requiredMethod("endLayer()");
189 tRes.tested("setPropertyValue()", true);
192 public void _setPropertyValueForLocale() {
193 requiredMethod("endLayer()");
194 tRes.tested("setPropertyValueForLocale()", true);
197 public void _startLayer() {
198 requiredMethod("endLayer()");
199 tRes.tested("startLayer()", true);
202 protected String getExpected() {
203 String ls = System.getProperty("line.separator");
204 String expected = "startLayer();" + ls;
205 expected += ("overrideNode(org.openoffice.Setup,0,false);" + ls);
206 expected += ("overrideNode(Office,0,false);" + ls);
207 expected += ("overrideProperty(ooSetupInstCompleted,0,Type[string],false);" + ls);
208 expected += ("setPropertyValue(false);" + ls);
209 expected += ("endProperty();" + ls);
210 expected += ("overrideNode(Factories,0,false);" + ls);
211 expected += ("addOrReplace(com.sun.star.chart.ChartDocument,0);" + ls);
212 expected += ("overrideProperty(ooSetupFactoryEmptyDocumentURL,0,Type[string],false);" + ls);
213 expected += ("setPropertyValue(private:factory/schart);" + ls);
214 expected += ("endProperty();" + ls);
215 expected += ("overrideProperty(ooSetupFactoryIcon,0,Type[hyper],false);" + ls);
216 expected += ("setPropertyValue(13);" + ls);
217 expected += ("endProperty();" + ls);
218 expected += ("overrideProperty(ooSetupFactoryShortName,0,Type[string],false);" + ls);
219 expected += ("setPropertyValue(schart);" + ls);
220 expected += ("setPropertyValueForLocale(TemplateFile,en-US);" + ls);
221 expected += ("endProperty();" + ls);
222 expected += ("overrideProperty(ooSetupFactoryTemplateFile,0,Type[string],false);" + ls);
223 expected += ("setPropertyValue(empty);" + ls);
224 expected += ("endProperty();" + ls);
225 expected += ("addProperty(ooSetupFactoryTemplateFile,0,Type[string]);" + ls);
226 expected += ("addPropertyWithValue(ooSetupFactoryTemplateFile,0,TemplateFile);" + ls);
227 expected += ("endNode();" + ls);
228 expected += ("addOrReplace(dropme,0);" + ls);
229 expected += ("overrideProperty(anyway,0,Type[string],false);" + ls);
230 expected += ("setPropertyValue(nice);" + ls);
231 expected += ("endProperty();" + ls);
232 expected += ("dropNode(dropme);" + ls);
233 expected += ("endNode();" + ls);
234 expected += ("addOrReplace(FromTemplate,0);" + ls);
235 expected += ("endNode();" + ls);
236 expected += ("endNode();" + ls);
237 expected += ("endNode();" + ls);
238 expected += ("endNode();" + ls);
239 expected += ("endLayer();" + ls);
241 return expected;