diff options
Diffstat (limited to 'qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java')
-rw-r--r-- | qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java | 266 |
1 files changed, 266 insertions, 0 deletions
diff --git a/qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java b/qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java new file mode 100644 index 000000000000..181555180534 --- /dev/null +++ b/qadevOOo/tests/java/ifc/configuration/backend/_XLayerHandler.java @@ -0,0 +1,266 @@ +/************************************************************************* + * + * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. + * + * Copyright 2000, 2010 Oracle and/or its affiliates. + * + * OpenOffice.org - a multi-platform office productivity suite + * + * This file is part of OpenOffice.org. + * + * OpenOffice.org is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 3 + * only, as published by the Free Software Foundation. + * + * OpenOffice.org is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License version 3 for more details + * (a copy is included in the LICENSE file that accompanied this code). + * + * You should have received a copy of the GNU Lesser General Public License + * version 3 along with OpenOffice.org. If not, see + * <http://www.openoffice.org/license.html> + * for a copy of the LGPLv3 License. + * + ************************************************************************/ +package ifc.configuration.backend; + +import com.sun.star.configuration.backend.XLayer; +import com.sun.star.configuration.backend.XLayerHandler; +import com.sun.star.io.XActiveDataSink; +import com.sun.star.io.XInputStream; +import com.sun.star.lang.XMultiServiceFactory; +import com.sun.star.ucb.XSimpleFileAccess; +import com.sun.star.uno.Type; +import com.sun.star.uno.UnoRuntime; + +import lib.MultiMethodTest; + +import util.XLayerHandlerImpl; + + +public class _XLayerHandler extends MultiMethodTest { + public XLayerHandler oObj = null; + + /** this method contains the logic for all test methods + * the others will be passed OK if this one is + */ + public void _endLayer() { + boolean res = false; + + try { + oObj.startLayer(); + oObj.overrideNode("org.openoffice.Setup", (short) 0, false); + oObj.overrideNode("Office", (short) 0, false); + oObj.overrideProperty("ooSetupInstCompleted", (short) 0, + new Type(java.lang.String.class), false); + oObj.setPropertyValue(new Boolean(false)); + oObj.endProperty(); + oObj.overrideProperty("ooSetupShowIntro", (short) 0, + new Type(java.lang.String.class), false); + oObj.setPropertyValue(new Boolean(true)); + oObj.endProperty(); + oObj.overrideProperty("ooSetupLocales", (short) 0, + new Type(java.lang.String.class), false); + oObj.setPropertyValue("en-US"); + oObj.endProperty(); + oObj.overrideNode("Factories", (short) 0, false); + oObj.addOrReplaceNode("com.sun.star.chart.ChartDocument", + (short) 0); + oObj.overrideProperty("ooSetupFactoryEmptyDocumentURL", (short) 0, + new Type(java.lang.String.class), false); + oObj.setPropertyValue("private:factory/schart"); + oObj.endProperty(); + oObj.overrideProperty("ooSetupFactoryIcon", (short) 0, + new Type(java.lang.Long.class), false); + oObj.setPropertyValue(new Integer(13)); + oObj.endProperty(); + oObj.overrideProperty("ooSetupFactoryShortName", (short) 0, + new Type(java.lang.String.class), false); + oObj.setPropertyValue("schart"); + oObj.setPropertyValueForLocale("TemplateFile", "en-US"); + oObj.endProperty(); + oObj.overrideProperty("ooSetupFactoryTemplateFile", (short) 0, + new Type(java.lang.String.class), false); + oObj.setPropertyValue("empty"); + oObj.endProperty(); + oObj.addProperty("ooSetupFactoryTemplateFile", (short) 0, + new Type(java.lang.String.class)); + oObj.addPropertyWithValue("ooSetupFactoryTemplateFile", (short) 0, + "TemplateFile"); + oObj.endNode(); + + oObj.addOrReplaceNode("dropme", (short) 0); + oObj.overrideProperty("anyway", (short) 0, + new Type(java.lang.String.class), false); + oObj.setPropertyValue("nice"); + oObj.endProperty(); + oObj.dropNode("dropme"); + oObj.endNode(); + + oObj.addOrReplaceNodeFromTemplate("FromTemplate", + new com.sun.star.configuration.backend.TemplateIdentifier( + "org.openoffice.Setup", + "Setup"), (short) 0); + oObj.endNode(); + + oObj.endNode(); + oObj.endNode(); + oObj.endNode(); + oObj.endLayer(); + + Object LayerParser = ((XMultiServiceFactory) tParam.getMSF()).createInstance( + "com.sun.star.comp.configuration.backend.xml.LayerParser"); + + XActiveDataSink xSink = (XActiveDataSink) UnoRuntime.queryInterface( + XActiveDataSink.class, LayerParser); + Object fileacc = ((XMultiServiceFactory) tParam.getMSF()).createInstance( + "com.sun.star.comp.ucb.SimpleFileAccess"); + XSimpleFileAccess simpleAccess = (XSimpleFileAccess) UnoRuntime.queryInterface( + XSimpleFileAccess.class, + fileacc); + + String filename = util.utils.getOfficeTemp( + (XMultiServiceFactory) tParam.getMSF()) + + "LayerWriter.xcu"; + log.println("Going to parse: " + filename); + + XInputStream xStream = simpleAccess.openFileRead(filename); + + xSink.setInputStream(xStream); + + XLayer xLayer = (XLayer) UnoRuntime.queryInterface(XLayer.class, + LayerParser); + + XLayerHandlerImpl xLayerHandler = new XLayerHandlerImpl(); + + xLayer.readData(xLayerHandler); + + res = xLayerHandler.getCalls().equals(getExpected()); + + if (!res) { + log.println("#### Getting: "); + log.println(xLayerHandler.getCalls()); + log.println("#### Expected: "); + log.println(getExpected()); + } + } catch (com.sun.star.configuration.backend.MalformedDataException e) { + log.println("Unexpected Exception " + e); + } catch (com.sun.star.lang.WrappedTargetException e) { + log.println("Unexpected Exception " + e); + } catch (com.sun.star.uno.Exception e) { + log.println("Unexpected Exception " + e); + } + + tRes.tested("endLayer()", res); + } + + public void _addOrReplaceNode() { + requiredMethod("endLayer()"); + tRes.tested("addOrReplaceNode()", true); + } + + public void _addOrReplaceNodeFromTemplate() { + requiredMethod("endLayer()"); + tRes.tested("addOrReplaceNodeFromTemplate()", true); + } + + public void _addProperty() { + requiredMethod("endLayer()"); + tRes.tested("addProperty()", true); + } + + public void _addPropertyWithValue() { + requiredMethod("endLayer()"); + tRes.tested("addPropertyWithValue()", true); + } + + public void _dropNode() { + requiredMethod("endLayer()"); + tRes.tested("dropNode()", true); + } + + public void _endNode() { + requiredMethod("endLayer()"); + tRes.tested("endNode()", true); + } + + public void _endProperty() { + requiredMethod("endLayer()"); + tRes.tested("endProperty()", true); + } + + public void _overrideNode() { + requiredMethod("endLayer()"); + tRes.tested("overrideNode()", true); + } + + public void _overrideProperty() { + requiredMethod("endLayer()"); + tRes.tested("overrideProperty()", true); + } + + public void _setPropertyValue() { + requiredMethod("endLayer()"); + tRes.tested("setPropertyValue()", true); + } + + public void _setPropertyValueForLocale() { + requiredMethod("endLayer()"); + tRes.tested("setPropertyValueForLocale()", true); + } + + public void _startLayer() { + requiredMethod("endLayer()"); + tRes.tested("startLayer()", true); + } + + protected String getExpected() { + String ls = System.getProperty("line.separator"); + String expected = "startLayer();" + ls; + expected += ("overrideNode(org.openoffice.Setup,0,false);" + ls); + expected += ("overrideNode(Office,0,false);" + ls); + expected += ("overrideProperty(ooSetupInstCompleted,0,Type[string],false);" + ls); + expected += ("setPropertyValue(false);" + ls); + expected += ("endProperty();" + ls); + expected += ("overrideProperty(ooSetupShowIntro,0,Type[string],false);" + ls); + expected += ("setPropertyValue(true);" + ls); + expected += ("endProperty();" + ls); + expected += ("overrideProperty(ooSetupLocales,0,Type[string],false);" + ls); + expected += ("setPropertyValue(en-US);" + ls); + expected += ("endProperty();" + ls); + expected += ("overrideNode(Factories,0,false);" + ls); + expected += ("addOrReplace(com.sun.star.chart.ChartDocument,0);" + ls); + expected += ("overrideProperty(ooSetupFactoryEmptyDocumentURL,0,Type[string],false);" + ls); + expected += ("setPropertyValue(private:factory/schart);" + ls); + expected += ("endProperty();" + ls); + expected += ("overrideProperty(ooSetupFactoryIcon,0,Type[hyper],false);" + ls); + expected += ("setPropertyValue(13);" + ls); + expected += ("endProperty();" + ls); + expected += ("overrideProperty(ooSetupFactoryShortName,0,Type[string],false);" + ls); + expected += ("setPropertyValue(schart);" + ls); + expected += ("setPropertyValueForLocale(TemplateFile,en-US);" + ls); + expected += ("endProperty();" + ls); + expected += ("overrideProperty(ooSetupFactoryTemplateFile,0,Type[string],false);" + ls); + expected += ("setPropertyValue(empty);" + ls); + expected += ("endProperty();" + ls); + expected += ("addProperty(ooSetupFactoryTemplateFile,0,Type[string]);" + ls); + expected += ("addPropertyWithValue(ooSetupFactoryTemplateFile,0,TemplateFile);" + ls); + expected += ("endNode();" + ls); + expected += ("addOrReplace(dropme,0);" + ls); + expected += ("overrideProperty(anyway,0,Type[string],false);" + ls); + expected += ("setPropertyValue(nice);" + ls); + expected += ("endProperty();" + ls); + expected += ("dropNode(dropme);" + ls); + expected += ("endNode();" + ls); + expected += ("addOrReplace(FromTemplate,0);" + ls); + expected += ("endNode();" + ls); + expected += ("endNode();" + ls); + expected += ("endNode();" + ls); + expected += ("endNode();" + ls); + expected += ("endLayer();" + ls); + + return expected; + } +}
\ No newline at end of file |